PowerShell meldet "Die Ausführung von Skripts ist auf diesem System deaktiviert."

Ich versuche, eine [tag:cmd]-Datei auszuführen, die ein [tag:powershell]-Skript von "cmd.exe" aufruft, und erhalte den folgenden Fehler:

Management_Install.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist.

Ich habe ausgeführt

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

und wenn ich Get-ExecutionPolicy aus [tag:powershell] ausführe, bekomme ich Unrestricted zurück.

PS C:\Users\Administrator\> Get-ExecutionPolicy
Unrestricted

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> powershell .\Management_Install.ps1 1

WARNING: Running x86 PowerShell...

Die Datei "C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter "get-help about_signing".

In Zeile:1 Zeichen:25

  • .\Management_Install.ps1 <<<< < 1
  • CategoryInfo : NotSpecified: (:) [], PSSecurityException
  • FullyQualifiedErrorId : RuntimeException
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE

Press any key to continue . . .

Das System ist Windows Server 2008R2.

Was mache ich falsch?

Lösung

Wenn Sie Windows Server 2008 R2 verwenden, gibt es eine x64- und eine x86-Version von PowerShell, für die beide Ausführungsrichtlinien festgelegt sein müssen. Haben Sie die Ausführungsrichtlinie auf beiden Hosts festgelegt?

Als Administrator können Sie die Ausführungsrichtlinie festlegen, indem Sie dies in Ihr PowerShell-Fenster eingeben:

Set-ExecutionPolicy RemoteSigned

Weitere Informationen finden Sie unter Verwenden des Cmdlet Set-ExecutionPolicy.

Kommentare (6)

Sie können diese Richtlinie umgehen, indem Sie beim Ausführen von PowerShell "ExecutionPolicy ByPass" hinzufügen

powershell -ExecutionPolicy ByPass -File script.ps1
Kommentare (5)

RemoteSigned: Alle von Ihnen selbst erstellten Skripte werden ausgeführt, und alle aus dem Internet heruntergeladenen Skripte müssen von einem vertrauenswürdigen Herausgeber signiert werden.

OK, ändern Sie die Richtlinie, indem Sie sie einfach eingeben:

Set-ExecutionPolicy RemoteSigned
Kommentare (1)