Informationen zu AusführungsrichtlinienAbout Execution Policies

Kurze BeschreibungShort Description

Beschreibt die PowerShell-Ausführungsrichtlinien und erläutert, wie Sie verwaltet werden.Describes the PowerShell execution policies and explains how to manage them.

Lange BeschreibungLong Description

Die PowerShell-Ausführungs Richtlinie ist ein Sicherheits Feature, mit dem die Bedingungen gesteuert werden, unter denen PowerShell Konfigurationsdateien lädt und Skripts ausführt.PowerShell's execution policy is a safety feature that controls the conditions under which PowerShell loads configuration files and runs scripts. Diese Funktion verhindert, dass böswillige Skripts ausgeführt werden.This feature helps prevent the execution of malicious scripts.

Auf einem Windows-Computer können Sie eine Ausführungs Richtlinie für den lokalen Computer, für den aktuellen Benutzer oder für eine bestimmte Sitzung festlegen.On a Windows computer you can set an execution policy for the local computer, for the current user, or for a particular session. Sie können auch eine Gruppenrichtlinie Einstellung verwenden, um Ausführungsrichtlinien für Computer und Benutzer festzulegen.You can also use a Group Policy setting to set execution policies for computers and users.

Ausführungsrichtlinien für den lokalen Computer und den aktuellen Benutzer werden in der Registrierung gespeichert.Execution policies for the local computer and current user are stored in the registry. Sie müssen keine Ausführungsrichtlinien in Ihrem PowerShell-Profil festlegen.You don't need to set execution policies in your PowerShell profile. Die Ausführungs Richtlinie für eine bestimmte Sitzung wird nur im Arbeitsspeicher gespeichert und geht verloren, wenn die Sitzung geschlossen wird.The execution policy for a particular session is stored only in memory and is lost when the session is closed.

Die Ausführungs Richtlinie ist kein Sicherheitssystem, das Benutzeraktionen einschränkt.The execution policy isn't a security system that restricts user actions. Beispielsweise können Benutzer eine Richtlinie problemlos umgehen, indem Sie den Skript Inhalt in der Befehlszeile eingeben, wenn Sie ein Skript nicht ausführen können.For example, users can easily bypass a policy by typing the script contents at the command line when they cannot run a script. Stattdessen unterstützt die Ausführungs Richtlinie Benutzer beim Festlegen grundlegender Regeln und verhindert, dass Sie unbeabsichtigt gegen Sie verstoßen.Instead, the execution policy helps users to set basic rules and prevents them from violating them unintentionally.

Auf nicht-Windows-Computern ist die Standard Ausführungs Richtlinie uneingeschränkt und kann nicht geändert werden.On non-Windows computers, the default execution policy is Unrestricted and cannot be changed. Das Set-ExecutionPolicy -Cmdlet ist verfügbar, aber PowerShell zeigt eine Konsolen Meldung an, dass dies nicht unterstützt wird.The Set-ExecutionPolicy cmdlet is available, but PowerShell displays a console message that it's not supported. Obwohl Get-ExecutionPolicy bei nicht-Windows-Plattformen uneingeschränkt zurückgibt, stimmt das Verhalten tatsächlich mit der Umgehung überein, da diese Plattformen die Windows-Sicherheitszonen nicht implementieren.While Get-ExecutionPolicy returns Unrestricted on non-Windows platforms, the behavior really matches Bypass because those platforms do not implement the Windows Security Zones.

PowerShell-AusführungsrichtlinienPowerShell execution policies

Die Durchsetzung dieser Richtlinien erfolgt nur auf Windows-Plattformen.Enforcement of these policies only occurs on Windows platforms. Die PowerShell-Ausführungsrichtlinien lauten wie folgt:The PowerShell execution policies are as follows:

AllSignedAllSigned

  • Skripts können ausgeführt werden.Scripts can run.
  • Erfordert, dass alle Skripts und Konfigurationsdateien von einem vertrauenswürdigen Herausgeber signiert sind, einschließlich Skripts, die auf dem lokalen Computer geschrieben werden.Requires that all scripts and configuration files be signed by a trusted publisher, including scripts that you write on the local computer.
  • Sie werden vor dem Ausführen von Skripts von Verlegern aufgefordert, die Sie noch nicht als vertrauenswürdig eingestuft haben.Prompts you before running scripts from publishers that you haven't yet classified as trusted or untrusted.
  • Risiken, die mit signierten, aber bösartigen Skripts ausgeführt werden.Risks running signed, but malicious, scripts.

UmgehungBypass

  • Es findet keine Blockierung statt und es werden keine Warnungen oder Eingabeaufforderungen ausgegeben.Nothing is blocked and there are no warnings or prompts.
  • Diese Ausführungs Richtlinie ist für Konfigurationen konzipiert, in denen ein PowerShell-Skript in eine größere Anwendung integriert ist, oder für Konfigurationen, in denen PowerShell die Grundlage für ein Programm ist, das über ein eigenes Sicherheitsmodell verfügt.This execution policy is designed for configurations in which a PowerShell script is built in to a larger application or for configurations in which PowerShell is the foundation for a program that has its own security model.

StandardDefault

  • Legt die Standard Ausführungs Richtlinie fest.Sets the default execution policy.
  • Für Windows-Clients beschränkt .Restricted for Windows clients.
  • RemoteSigned für Windows-Server.RemoteSigned for Windows servers.

RemoteSignedRemoteSigned

  • Die Standard Ausführungs Richtlinie für Windows Server-Computer.The default execution policy for Windows server computers.
  • Skripts können ausgeführt werden.Scripts can run.
  • Erfordert eine digitale Signatur von einem vertrauenswürdigen Herausgeber für Skripts und Konfigurationsdateien, die aus dem Internet heruntergeladen werden, einschließlich e-Mail-und Instant Messaging-Programme.Requires a digital signature from a trusted publisher on scripts and configuration files that are downloaded from the internet which includes email and instant messaging programs.
  • Erfordert keine digitalen Signaturen für Skripts, die auf dem lokalen Computer geschrieben und nicht aus dem Internet heruntergeladen wurden.Doesn't require digital signatures on scripts that are written on the local computer and not downloaded from the internet.
  • Führt Skripts aus, die aus dem Internet heruntergeladen und nicht signiert sind, wenn die Blockierung der Skripts aufgehoben wird, z. b. mithilfe des- Unblock-File Cmdlets.Runs scripts that are downloaded from the internet and not signed, if the scripts are unblocked, such as by using the Unblock-File cmdlet.
  • Risiken bei der Ausführung nicht signierter Skripts aus anderen Quellen als dem Internet und signierten Skripts, die bösartig sein könnten.Risks running unsigned scripts from sources other than the internet and signed scripts that could be malicious.

EingeschränktRestricted

  • Die Standard Ausführungs Richtlinie für Windows-Client Computer.The default execution policy for Windows client computers.
  • Lässt einzelne Befehle zu, erlaubt aber keine Skripts.Permits individual commands, but does not allow scripts.
  • Verhindert die Ausführung aller Skriptdateien, einschließlich Formatierungs-und Konfigurationsdateien ( .ps1xml ), Modul Skriptdateien ( .psm1 ) und PowerShell-Profilen ( .ps1 ).Prevents running of all script files, including formatting and configuration files (.ps1xml), module script files (.psm1), and PowerShell profiles (.ps1).

Nicht definiertUndefined

  • Im aktuellen Bereich ist keine Ausführungs Richtlinie festgelegt.There is no execution policy set in the current scope.
  • Wenn die Ausführungs Richtlinie in allen Bereichen nicht definiert ist, ist die effektive Ausführungs Richtlinie für Windows-Clients und RemoteSigned für Windows Server beschränkt .If the execution policy in all scopes is Undefined , the effective execution policy is Restricted for Windows clients and RemoteSigned for Windows Server.

Nicht eingeschränktUnrestricted

  • Die Standard Ausführungs Richtlinie für nicht-Windows-Computer und kann nicht geändert werden.The default execution policy for non-Windows computers and cannot be changed.
  • Nicht signierte Skripts können ausgeführt werden.Unsigned scripts can run. Es besteht das Risiko, bösartige Skripts auszuführen.There is a risk of running malicious scripts.
  • Warnt den Benutzer vor dem Ausführen von Skripts und Konfigurationsdateien, die nicht in der lokalen Intranetzone sind.Warns the user before running scripts and configuration files that are not from the local intranet zone.

Hinweis

Auf Systemen, die Universal Naming Convention (UNC)-Pfade nicht von Internet Pfaden unterscheiden, dürfen Skripts, die von einem UNC-Pfad identifiziert werden, möglicherweise nicht mit der RemoteSigned -Ausführungs Richtlinie ausgeführt werden.On systems that do not distinguish Universal Naming Convention (UNC) paths from internet paths, scripts that are identified by a UNC path might not be permitted to run with the RemoteSigned execution policy.

Ausführungsrichtlinien BereichExecution policy scope

Sie können eine Ausführungs Richtlinie festlegen, die nur in einem bestimmten Bereich wirksam ist.You can set an execution policy that is effective only in a particular scope.

Gültige Werte für den Bereich sind " MachinePolicy ", " UserPolicy ", " Process ", " CurrentUser " und " LocalMachine ".The valid values for Scope are MachinePolicy , UserPolicy , Process , CurrentUser , and LocalMachine. LocalMachine ist die Standardeinstellung, wenn eine Ausführungs Richtlinie festgelegt wird.LocalMachine is the default when setting an execution policy.

Die Bereichs Werte werden in der Reihenfolge der Rangfolge aufgelistet.The Scope values are listed in precedence order. Die Richtlinie, die Vorrang hat, ist in der aktuellen Sitzung wirksam, auch wenn eine restriktivere Richtlinie mit einer niedrigeren Rangfolge festgelegt wurde.The policy that takes precedence is effective in the current session, even if a more restrictive policy was set at a lower level of precedence.

Weitere Informationen finden Sie unter Set-ExecutionPolicy.For more information, see Set-ExecutionPolicy.

MachinePolicyMachinePolicy

Wird von einem Gruppenrichtlinie für alle Benutzer des Computers festgelegt.Set by a Group Policy for all users of the computer.

UserPolicyUserPolicy

Wird von einem Gruppenrichtlinie für den aktuellen Benutzer des Computers festgelegt.Set by a Group Policy for the current user of the computer.

ProzessProcess

Der Prozess Bereich wirkt sich nur auf die aktuelle PowerShell-Sitzung aus.The Process scope only affects the current PowerShell session. Die Ausführungs Richtlinie wird in der-Umgebungsvariablen und $env:PSExecutionPolicyPreference nicht in der Registrierung gespeichert.The execution policy is saved in the environment variable $env:PSExecutionPolicyPreference, rather than the registry. Wenn die PowerShell-Sitzung geschlossen ist, werden die Variable und der Wert gelöscht.When the PowerShell session is closed, the variable and value are deleted.

CurrentUserCurrentUser

Die Ausführungsrichtlinie wirkt sich nur auf den aktuellen Benutzer aus.The execution policy affects only the current user. Sie wird im Registrierungs Unterschlüssel HKEY_CURRENT_USER gespeichert.It's stored in the HKEY_CURRENT_USER registry subkey.

LocalMachineLocalMachine

Die Ausführungs Richtlinie wirkt sich auf alle Benutzer des aktuellen Computers aus.The execution policy affects all users on the current computer. Sie wird im Registrierungs Unterschlüssel HKEY_LOCAL_MACHINE gespeichert.It's stored in the HKEY_LOCAL_MACHINE registry subkey.

Verwalten der Ausführungs Richtlinie mit PowerShellManaging the execution policy with PowerShell

Verwenden Sie das-Cmdlet, um die effektive Ausführungs Richtlinie für die aktuelle PowerShell-Sitzung zu erhalten Get-ExecutionPolicy .To get the effective execution policy for the current PowerShell session, use the Get-ExecutionPolicy cmdlet.

Mit dem folgenden Befehl wird die effektive Ausführungs Richtlinie abgerufen:The following command gets the effective execution policy:

Get-ExecutionPolicy

So erhalten Sie alle Ausführungsrichtlinien, die sich auf die aktuelle Sitzung auswirken, und zeigen Sie in der Rangfolge an:To get all of the execution policies that affect the current session and display them in precedence order:

Get-ExecutionPolicy -List

Das Ergebnis sieht in etwa wie in der folgenden Beispielausgabe aus:The result looks similar to the following sample output:

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser    RemoteSigned
 LocalMachine       AllSigned

In diesem Fall ist die effektive Ausführungs Richtlinie RemoteSigned , da die Ausführungs Richtlinie für den aktuellen Benutzer Vorrang vor der für den lokalen Computer festgelegten Ausführungs Richtlinie hat.In this case, the effective execution policy is RemoteSigned because the execution policy for the current user takes precedence over the execution policy set for the local computer.

Um die Ausführungs Richtlinie für einen bestimmten Bereich zu erhalten, verwenden Sie den Scope -Parameter von Get-ExecutionPolicy .To get the execution policy set for a particular scope, use the Scope parameter of Get-ExecutionPolicy.

Mit dem folgenden Befehl wird z. b. die Ausführungs Richtlinie für den Bereich CurrentUser abgerufen:For example, the following command gets the execution policy for the CurrentUser scope:

Get-ExecutionPolicy -Scope CurrentUser

Ändern der Ausführungs RichtlinieChange the execution policy

Verwenden Sie das-Cmdlet, um die PowerShell-Ausführungs Richtlinie auf dem Windows-Computer zu ändern Set-ExecutionPolicy .To change the PowerShell execution policy on your Windows computer, use the Set-ExecutionPolicy cmdlet. Die Änderung wird sofort wirksam.The change is effective immediately. PowerShell muss nicht neu gestartet werden.You don't need to restart PowerShell.

Wenn Sie die Ausführungs Richtlinie für die Bereiche LocalMachine oder CurrentUser festlegen, wird die Änderung in der Registrierung gespeichert und bleibt wirksam, bis Sie Sie wieder ändern.If you set the execution policy for the scopes LocalMachine or the CurrentUser , the change is saved in the registry and remains effective until you change it again.

Wenn Sie die Ausführungs Richtlinie für den Prozess Bereich festlegen, wird diese nicht in der Registrierung gespeichert.If you set the execution policy for the Process scope, it's not saved in the registry. Die Ausführungs Richtlinie wird so lange beibehalten, bis der aktuelle Prozess und alle untergeordneten Prozesse geschlossen werden.The execution policy is retained until the current process and any child processes are closed.

Hinweis

Starten Sie in Windows Vista und höheren Versionen von Windows PowerShell mit der Option als Administrator ausführen , um Befehle auszuführen, mit denen die Ausführungs Richtlinie für den lokalen Computer, den Bereich LocalMachine , geändert wird.In Windows Vista and later versions of Windows, to run commands that change the execution policy for the local computer, LocalMachine scope, start PowerShell with the Run as administrator option.

So ändern Sie die Ausführungs Richtlinie:To change your execution policy:

Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

Beispiel:For example:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

So legen Sie die Ausführungs Richtlinie in einem bestimmten Bereich fest:To set the execution policy in a particular scope:

Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>

Beispiel:For example:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Ein Befehl zum Ändern einer Ausführungs Richtlinie kann erfolgreich sein, aber die effektive Ausführungs Richtlinie trotzdem nicht ändern.A command to change an execution policy can succeed but still not change the effective execution policy.

Beispielsweise kann ein Befehl, mit dem die Ausführungs Richtlinie für den lokalen Computer festgelegt wird, erfolgreich ausgeführt, aber von der Ausführungs Richtlinie für den aktuellen Benutzer überschrieben werden.For example, a command that sets the execution policy for the local computer can succeed but be overridden by the execution policy for the current user.

Entfernen der Ausführungs RichtlinieRemove the execution policy

Um die Ausführungs Richtlinie für einen bestimmten Bereich zu entfernen, legen Sie die Ausführungs Richtlinie auf "nicht definiert " fest.To remove the execution policy for a particular scope, set the execution policy to Undefined.

So entfernen Sie beispielsweise die Ausführungs Richtlinie für alle Benutzer des lokalen Computers:For example, to remove the execution policy for all the users of the local computer:

Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine

So entfernen Sie die Ausführungs Richtlinie für einen Bereich :To remove the execution policy for a Scope :

Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser

Wenn in keinem Bereich eine Ausführungs Richtlinie festgelegt ist, wird die effektive Ausführungs Richtlinie eingeschränkt. Dies ist die Standardeinstellung für Windows-Clients.If no execution policy is set in any scope, the effective execution policy is Restricted , which is the default for Windows clients.

Festlegen einer anderen Richtlinie für eine SitzungSet a different policy for one session

Sie können den ExecutionPolicy -Parameter von pwsh.exe verwenden, um eine Ausführungs Richtlinie für eine neue PowerShell-Sitzung festzulegen.You can use the ExecutionPolicy parameter of pwsh.exe to set an execution policy for a new PowerShell session. Die Richtlinie wirkt sich nur auf die aktuelle Sitzung und untergeordnete Sitzungen aus.The policy affects only the current session and child sessions.

Um die Ausführungs Richtlinie für eine neue Sitzung festzulegen, starten Sie PowerShell in der Befehlszeile, z. b. cmd.exe oder PowerShell, und verwenden Sie dann den ExecutionPolicy -Parameter von pwsh.exe , um die Ausführungs Richtlinie festzulegen.To set the execution policy for a new session, start PowerShell at the command line, such as cmd.exe or from PowerShell, and then use the ExecutionPolicy parameter of pwsh.exe to set the execution policy.

Beispiel:For example:

pwsh.exe -ExecutionPolicy AllSigned

Die von Ihnen festgelegte Ausführungs Richtlinie ist nicht in der Registrierung gespeichert.The execution policy that you set isn't stored in the registry. Stattdessen wird Sie in der $env:PSExecutionPolicyPreference Umgebungsvariablen gespeichert.Instead, it's stored in the $env:PSExecutionPolicyPreference environment variable. Die Variable wird gelöscht, wenn Sie die Sitzung schließen, in der die Richtlinie festgelegt ist.The variable is deleted when you close the session in which the policy is set. Sie können die Richtlinie nicht ändern, indem Sie den Variablen Wert bearbeiten.You cannot change the policy by editing the variable value.

Während der Sitzung hat die Ausführungs Richtlinie, die für die Sitzung festgelegt ist, Vorrang vor einer Ausführungs Richtlinie, die in der Registrierung für den lokalen Computer oder den aktuellen Benutzer festgelegt ist.During the session, the execution policy that is set for the session takes precedence over an execution policy that is set in the registry for the local computer or current user. Sie hat jedoch keinen Vorrang vor der Ausführungs Richtlinie, die mithilfe eines Gruppenrichtlinie festgelegt wurde.However, it doesn't take precedence over the execution policy set by using a Group Policy.

Verwalten der Ausführungs Richtlinie mit GruppenrichtlinieUse Group Policy to Manage Execution Policy

Sie können die Einstellung Skriptausführung Gruppenrichtlinie aktivieren verwenden, um die Ausführungs Richtlinie von Computern in Ihrem Unternehmen zu verwalten.You can use the Turn on Script Execution Group Policy setting to manage the execution policy of computers in your enterprise. Die Gruppenrichtlinie Einstellung überschreibt die Ausführungsrichtlinien, die in PowerShell in allen Bereichen festgelegt sind.The Group Policy setting overrides the execution policies set in PowerShell in all scopes.

Die Richtlinien Einstellungen für die Skriptausführung aktivieren lauten wie folgt:The Turn on Script Execution policy settings are as follows:

  • Wenn Sie die Ausführung der Skriptausführung deaktivieren, werden Skripts nicht ausgeführt.If you disable Turn on Script Execution , scripts do not run. Dies entspricht der eingeschränkten Ausführungs Richtlinie.This is equivalent to the Restricted execution policy.

  • Wenn Sie die Option Skriptausführung aktivieren aktivieren, können Sie eine Ausführungs Richtlinie auswählen.If you enable Turn on Script Execution , you can select an execution policy. Die Gruppenrichtlinie Einstellungen entsprechen den folgenden Einstellungen für die Ausführungs Richtlinie:The Group Policy settings are equivalent to the following execution policy settings:

    GruppenrichtlinieGroup Policy AusführungsrichtlinieExecution Policy
    Alle Skripts zulassenAllow all scripts Nicht eingeschränktUnrestricted
    Lokale Skripts und Remote signierte Skripts zulassenAllow local scripts and remote signed scripts RemoteSignedRemoteSigned
    Nur signierte Skripts zulassenAllow only signed scripts AllSignedAllSigned
  • Wenn die Option Skriptausführung aktivieren nicht konfiguriert ist, hat dies keine Auswirkungen.If Turn on Script Execution is not configured, it has no effect. Die in PowerShell festgelegte Ausführungs Richtlinie ist gültig.The execution policy set in PowerShell is effective.

Die Dateien "powershellexecutionpolicy. adm" und "powershellexecutionpolicy. ADMX" fügen die Richtlinie zum Aktivieren der Skriptausführung zu den Knoten "Computer Konfiguration" und "Benutzerkonfiguration" in Gruppenrichtlinie Editor in den folgenden Pfaden hinzu.The PowerShellExecutionPolicy.adm and PowerShellExecutionPolicy.admx files add the Turn on Script Execution policy to the Computer Configuration and User Configuration nodes in Group Policy Editor in the following paths.

Für Windows XP und Windows Server 2003:For Windows XP and Windows Server 2003:

Administrative Vorlagen\Windows-komponents\windows PowerShellAdministrative Templates\Windows Components\Windows PowerShell

Für Windows Vista und spätere Versionen von Windows:For Windows Vista and later versions of Windows:

Administrative vorlagen\classic administrative Vorlagen Administrative Templates\Classic Administrative Templates
Windows-Komponenten \ Windows PowerShellWindows Components\Windows PowerShell

Im Knoten Computer Konfiguration festgelegte Richtlinien haben Vorrang vor den Richtlinien, die im Knoten Benutzerkonfiguration festgelegt sind.Policies set in the Computer Configuration node take precedence over policies set in the User Configuration node.

Weitere Informationen finden Sie unter about_Group_Policy_Settings.For more information, see about_Group_Policy_Settings.

Rangfolge der Ausführungs RichtlinieExecution policy precedence

Wenn Sie die effektive Ausführungs Richtlinie für eine Sitzung ermitteln, wertet PowerShell die Ausführungsrichtlinien in der folgenden Reihenfolge aus:When determining the effective execution policy for a session, PowerShell evaluates the execution policies in the following precedence order:

  • Gruppenrichtlinie: MachinePolicyGroup Policy: MachinePolicy
  • Gruppenrichtlinie: UserPolicyGroup Policy: UserPolicy
  • Ausführungs Richtlinie: Prozess (oder pwsh.exe -ExecutionPolicy )Execution Policy: Process (or pwsh.exe -ExecutionPolicy)
  • Ausführungs Richtlinie: CurrentUserExecution Policy: CurrentUser
  • Ausführungs Richtlinie: LocalMachineExecution Policy: LocalMachine

Verwalten von signierten und nicht signierten SkriptsManage signed and unsigned scripts

In Windows fügen Programme wie Internet Explorer und Microsoft Edge Dateien, die heruntergeladen werden, einen alternativen Datenstrom hinzu.In Windows, programs like Internet Explorer and Microsoft Edge add an alternate data stream to files that are downloaded. Dadurch wird die Datei als "aus dem Internet über das Internet" markiert.This marks the file as "coming from the Internet". Wenn Ihre PowerShell-Ausführungs Richtlinie RemoteSigned ist, führt PowerShell keine nicht signierten Skripts aus, die aus dem Internet heruntergeladen werden, einschließlich e-Mail-und Instant Messaging-Programme.If your PowerShell execution policy is RemoteSigned , PowerShell won't run unsigned scripts that are downloaded from the internet which includes email and instant messaging programs.

Sie können das Skript signieren oder ein nicht signiertes Skript ausführen, ohne die Ausführungs Richtlinie zu ändern.You can sign the script or elect to run an unsigned script without changing the execution policy.

Ab PowerShell 3,0 können Sie den Stream -Parameter des Get-Item Cmdlets verwenden, um Dateien zu erkennen, die blockiert werden, weil Sie aus dem Internet heruntergeladen wurden.Beginning in PowerShell 3.0, you can use the Stream parameter of the Get-Item cmdlet to detect files that are blocked because they were downloaded from the internet. Verwenden Sie das Unblock-File Cmdlet, um die Blockierung der Skripts aufzulösen, damit Sie Sie in PowerShell ausführen können.Use the Unblock-File cmdlet to unblock the scripts so that you can run them in PowerShell.

Weitere Informationen finden Sie unter about_Signing, Get-Itemund Unblock-File.For more information, see about_Signing, Get-Item, and Unblock-File.

Hinweis

Andere Methoden zum Herunterladen von Dateien dürfen die Dateien nicht als aus der Internet Zone stammende Dateien markieren.Other methods of downloading files may not mark the files as coming from the Internet Zone. Beispiele hierfür sind:Some examples include:

  • curl.exe
  • Invoke-RestMethod
  • Invoke-WebRequest

Ausführungs Richtlinie für Windows Server Core und Windows Nano ServerExecution policy on Windows Server Core and Window Nano Server

Wenn PowerShell 6 unter bestimmten Bedingungen unter Windows Server Core oder Windows Nano Server ausgeführt wird, können Ausführungsrichtlinien mit dem folgenden Fehler fehlschlagen:When PowerShell 6 is run on Windows Server Core or Windows Nano Server under certain conditions, execution policies can fail with the following error:

AuthorizationManager check failed.
At line:1 char:1
+ C:\scriptpath\scriptname.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

PowerShell verwendet APIs in der Windows-Desktopshell ( explorer.exe ), um die Zone einer Skriptdatei zu validieren.PowerShell uses APIs in the Windows Desktop Shell (explorer.exe) to validate the Zone of a script file. Die Windows-Shell ist unter Windows Server Core und Windows Nano Server nicht verfügbar.The Windows Shell is not available on Windows Server Core and Windows Nano Server.

Dieser Fehler kann auch bei jedem Windows-System angezeigt werden, wenn die Windows-Desktopshell nicht verfügbar ist oder nicht reagiert.You could also get this error on any Windows system if the Windows Desktop Shell is unavailable or unresponsive. Beispielsweise kann während der Anmeldung die Ausführung eines PowerShell-Anmelde Skripts gestartet werden, bevor der Windows-Desktop bereit ist, was zu einem Fehler führt.For example, during sign on, a PowerShell logon script could start execution before the Windows Desktop is ready, resulting in failure.

Die Verwendung einer Ausführungs Richtlinie von Bypass oder AllSigned erfordert keine Zonen Überprüfung, um das Problem zu vermeiden.Using an execution policy of ByPass or AllSigned does not require a Zone check which avoids the problem.

Weitere InformationenSee Also

about_Environment_Variablesabout_Environment_Variables

about_Group_Policy_Settingsabout_Group_Policy_Settings

about_Signingabout_Signing

Get-ExecutionPolicyGet-ExecutionPolicy

Get-ItemGet-Item

Hilfe zur pwsh-KonsolePwsh Console Help

Set-ExecutionPolicySet-ExecutionPolicy

Unblock-FileUnblock-File