it-swarm-eu.dev

Inwiefern unterscheidet sich die RemoteSigned-Ausführungsrichtlinie von PowerShell von AllSigned?

Ich bin noch ziemlich neu in PowerShell und habe dies kürzlich in einem Blogbeitrag über das Erstellen und Verwenden von PowerShell-Skripten gelesen.

Um die Ausführung bösartiger Skripts zu verhindern, erzwingt PowerShell eine Ausführungsrichtlinie. Standardmäßig ist die Ausführungsrichtlinie auf "Eingeschränkt" festgelegt. Dies bedeutet, dass PowerShell-Skripts nicht ausgeführt werden. Sie können die aktuelle Ausführungsrichtlinie mithilfe des folgenden Cmdlets ermitteln:

Get-ExecutionPolicy

Folgende Ausführungsrichtlinien können verwendet werden:

  • Eingeschränkt - Skripte werden nicht ausgeführt.
  • RemoteSigned - Lokal erstellte Skripte werden ausgeführt, die aus dem Internet heruntergeladenen jedoch nicht (es sei denn, sie sind von einem vertrauenswürdigen Herausgeber digital signiert).
  • AllSigned - Skripte werden nur ausgeführt, wenn sie von einem vertrauenswürdigen Herausgeber signiert wurden.
  • neingeschränkt - Skripte werden unabhängig davon ausgeführt, woher sie stammen und ob sie signiert sind.

Sie können die Ausführungsrichtlinie von PowerShell mithilfe des folgenden Cmdlets festlegen:

Set-ExecutionPolicy <policy name>

Für mich scheint die Notation ", sofern sie nicht von einem vertrauenswürdigen Herausgeber digital signiert sind" in der Beschreibung von Remote Signed zu bedeuten, dass sie genauso funktioniert wie AllSigned. Gibt es einen Unterschied, den ich irgendwo vermisse?

28
Iszi

Offensichtlich erfordert AllSigned, dass alle Module/Snapins und Skripte mit einem Code signiert sind. RemoteSigned erfordert nur das Signieren für Remote-Dateien. Was sind entfernte Dateien?

Die kanonische Antwort finden Sie im PowerShell-Blog: http://blogs.msdn.com/b/powershell/archive/2007/03/07/how-does-the-remotesigned-execution-policy-work.aspx

Das Fazit lautet jedoch: RemoteSigned erfordert nur die Codesignatur für Module/Snapins und Skripte, die in der Zone "Internet" als "Internet" gekennzeichnet sind Alternativer Datenstrom von .Identifier, sofern Sie nicht "Internet Explorer Enhanced Security" aktiviert haben. In diesem Fall enthält er auch mit "Intranet" gekennzeichnete Dateien und UNC-Pfade.

16
Jaykul

Der Unterschied besteht darin, dass RemoteSigned Skripte lokal ausführt, die nicht signiert sind, während bei AllSigned alle Skripte unabhängig von ihrer Herkunft signiert werden müssen.

8
Steve