winlin
Goto Top

W2K12R2 Execution Policy problem mit PS Skript

Hi Leute,

habe eine W2K12R2 VM welche als Template dient und Usern zur Verfügung gestellt werden soll.

In dieser VM gibt es ein Powershell Skript welches durch einen Task bei jedem einloggen vom User ausgeführt werden soll. Das passiert auch aber die Aktion im Skript wird nicht ausgeführt, weil die Execution Policy auf restricted eingestellt ist.

Das Skript kann ich manuell nur dann ausführen wenn ich eine powershell mit admin rechten ändere und die execution policy auf unrestricted setze....erst dann lässt sich dann in dem gleichen Fenster das Skript ausführen.

Wenn der Task startet beim erstlogin des users dann wird ja direkt das PS Skript ausgeführt, was dann natürlich zum fehler führt. Wie kann ich denn diese execution policy deaktivieren bevor dieser task startet???

Content-Key: 349581

Url: https://administrator.de/contentid/349581

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: 133883
133883 20.09.2017 aktualisiert um 11:00:26 Uhr
Goto Top
Per GPO freischalten(bevorzugt), oder über Startskript, oder gleich alle Skripte signieren und EP auf AllSigned stellen.

Gruß
Mitglied: winlin
winlin 20.09.2017 um 11:48:21 Uhr
Goto Top
Startskript habe ich ausführen lassen wollen im task bevor das eigentliche Skript ausgeführt wird....aber wie gesagt in diesem 1. Skript wo ich dann diese execution policcy abschalten will, startet das Skript auch nicht weill man das Skript nur ausführen kann in einer shell wo die execution policy vorher per befehl abgeschaltet worden ist.
Mitglied: 133883
133883 20.09.2017 aktualisiert um 11:53:13 Uhr
Goto Top
Nein, die executionpolicy muss nur einmal in einer elevated cmd für das System gesetzt werden, entweder wie oben geschrieben per GPO oder durch Startskript /Task mit Systemrechten für den Computerscope (Schau dir die Parameter von set-executionpolicy an!)!
Danach brauchen Skripte keine elevated Shell mehr weil die Policy für das System und dessen User gilt!
Mitglied: winlin
winlin 20.09.2017 um 15:04:07 Uhr
Goto Top
leider weiss ich nicht wie das gehtface-sad

Was muss ich tun damit ein ps1 Skript beim Systemstart ausgeführt wird????Ich habe Adminrechte und möchte das dieses Skript während meines Logins in das System im Hintergrund ausgeführt wird ohne das ich eine Konsole aufmachen muss und den Befehl eingeben muss um die execution policy zu umgehen.
Mitglied: 133883
133883 20.09.2017 um 15:08:07 Uhr
Goto Top
Habe ich oben bereits 2 Mal geschrieben, setze die PS Policy per GPO
http://www.techrepublic.com/blog/the-enterprise-cloud/set-the-powershel ...
Mitglied: winlin
winlin 21.09.2017 um 08:28:20 Uhr
Goto Top
ja das ist mir ja schon klar das ich per GPO sagen kann allow all scripts. Wir möchten aber die Esxecution Policy scharf lassen und nur während des ersten logins umgehen damit das erste Skript ausgeführt werden kann, danach soll sie wieder aktiviert sein.

Also eigentlich sollte es so ablaufen:
1. Im Template ist die Execution Policy auf restricted gesetzt (Unternehmensvorgabe)
2. Damit das Skript welches beim Erstlogin des Users ausgeführt werden soll (danach nicht mehr), soll die Policy kurz ausgeschaltet oder umgangen werden.
3. Dann wäre es auch möglich das Skript per Task Scheduler auszuführen.

Problem liegt aber in Punkt 2. Damit ich das Skript ausführen lassen kann muss vorher durch einen Prozess die Policy deaktiviert werden oder umgangen.
Mitglied: 133883
133883 21.09.2017 aktualisiert um 09:41:04 Uhr
Goto Top
Genau dafür setzt man signierte Skripte ein. Unsignierte funktionieren dann beim setzen von AllSigned nicht mehr. Das temporär deaktivieren ist Käse und fällt dir irgendwann auf die Nase.
Aber wenn du das unbedingt willst, setze die Policy in einem Computerstartskript das läuft mit Systemrechten und läuft vor der Benutzeranmeldung! Zurücksetzen kannst du es dann aber nur durch einen anschließenden ScheduledTask der bei Anmeldung mit Verzögerung läuft und im System-Kontext (Config) läuft. Das ist also machbar aber definitiv very bad practice, glaube das einem alten Powersheller der ersten Stunde!!
Signiere deine Skripte dann hast du dieses Problem nicht.