Get-ExecutionPolicy

Hiermee haalt u het uitvoeringsbeleid voor de huidige sessie op.

Syntax

Get-ExecutionPolicy
   [[-Scope] <ExecutionPolicyScope>]
   [-List]
   [<CommonParameters>]

Description

Als u het uitvoeringsbeleid voor elk bereik wilt weergeven in de volgorde van prioriteit, gebruikt Get-ExecutionPolicy -Listu . Als u het effectieve uitvoeringsbeleid voor uw PowerShell-sessie wilt zien, gebruikt u Get-ExecutionPolicy zonder parameters.

Het effectieve uitvoeringsbeleid wordt bepaald door het uitvoeringsbeleid dat is ingesteld door Set-ExecutionPolicy en groepsbeleid instellingen.

Zie about_Execution_Policies voor meer informatie.

Voorbeelden

Voorbeeld 1: Alle uitvoeringsbeleidsregels ophalen

Met deze opdracht worden de uitvoeringsbeleidsregels voor elk bereik weergegeven in de volgorde van prioriteit.

Get-ExecutionPolicy -List

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

De Get-ExecutionPolicy cmdlet gebruikt de parameter List om het uitvoeringsbeleid van elk bereik weer te geven.

Voorbeeld 2: Een uitvoeringsbeleid instellen

In dit voorbeeld ziet u hoe u een uitvoeringsbeleid instelt voor de lokale computer.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List

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

De Set-ExecutionPolicy cmdlet gebruikt de parameter ExecutionPolicy om het RemoteSigned beleid op te geven. Met de parameter Bereik wordt de standaardwaarde voor het bereik opgegeven, LocalMachine. Als u de instellingen voor het uitvoeringsbeleid wilt weergeven, gebruikt u de Get-ExecutionPolicy cmdlet met de parameter List .

Voorbeeld 3: Het effectieve uitvoeringsbeleid ophalen

In dit voorbeeld ziet u hoe u het effectieve uitvoeringsbeleid voor een PowerShell-sessie kunt weergeven.

PS> Get-ExecutionPolicy -List

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

PS> Get-ExecutionPolicy

AllSigned

De Get-ExecutionPolicy cmdlet gebruikt de parameter List om het uitvoeringsbeleid van elk bereik weer te geven. De Get-ExecutionPolicy cmdlet wordt uitgevoerd zonder een parameter om het effectieve uitvoeringsbeleid weer te geven, AllSigned.

Voorbeeld 4: Een script deblokkeren om het uit te voeren zonder het uitvoeringsbeleid te wijzigen

In dit voorbeeld ziet u hoe het RemoteSigned uitvoeringsbeleid voorkomt dat u niet-ondertekende scripts uitvoert.

Een best practice is om de code van het script te lezen en te controleren of deze veilig is voordat u de Unblock-File cmdlet gebruikt. De Unblock-File cmdlet deblokkeert scripts zodat ze kunnen worden uitgevoerd, maar wijzigt het uitvoeringsbeleid niet.

PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

PS> Get-ExecutionPolicy

RemoteSigned

PS> .\Start-ActivityTracker.ps1

.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

PS> Unblock-File -Path .\Start-ActivityTracker.ps1

PS> Get-ExecutionPolicy

RemoteSigned

PS> .\Start-ActivityTracker.ps1

Task 1:

De Set-ExecutionPolicy gebruikt de parameter ExecutionPolicy om het RemoteSigned beleid op te geven. Het beleid is ingesteld voor het standaardbereik, LocalMachine.

De Get-ExecutionPolicy cmdlet laat zien dat RemoteSigned het effectieve uitvoeringsbeleid voor de huidige PowerShell-sessie is.

Het Start-ActivityTracker.ps1 script wordt uitgevoerd vanuit de huidige map. Het script wordt geblokkeerd door RemoteSigned omdat het script niet digitaal is ondertekend.

In dit voorbeeld is de code van het script gecontroleerd en geverifieerd als veilig om uit te voeren. De Unblock-File cmdlet gebruikt de parameter Path om de blokkering van het script op te heffen.

Als u wilt controleren of Unblock-File het uitvoeringsbeleid niet is gewijzigd, Get-ExecutionPolicy wordt het effectieve uitvoeringsbeleid weergegeven, RemoteSigned.

Het script Start-ActivityTracker.ps1 wordt uitgevoerd vanuit de huidige map. Het script wordt uitgevoerd omdat het is gedeblokkeerd door de Unblock-File cmdlet.

Parameters

-List

Hiermee worden alle waarden voor het uitvoeringsbeleid voor de sessie opgehaald. Krijgt standaard Get-ExecutionPolicy alleen het effectieve uitvoeringsbeleid.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Hiermee geeft u het bereik op dat wordt beïnvloed door een uitvoeringsbeleid.

Het effectieve uitvoeringsbeleid wordt als volgt bepaald door de volgorde van prioriteit:

  • MachinePolicy. Ingesteld door een groepsbeleid voor alle gebruikers van de computer.
  • UserPolicy. Ingesteld door een groepsbeleid voor de huidige gebruiker van de computer.
  • Process. Is alleen van invloed op de huidige PowerShell-sessie.
  • LocalMachine. Standaardbereik dat van invloed is op alle gebruikers van de computer.
  • CurrentUser. Alleen van invloed op de huidige gebruiker.
Type:ExecutionPolicyScope
Accepted values:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
Position:0
Default value:Effective execution policy
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Invoerwaarden

None

U kunt geen objecten doorspezen naar deze cmdlet.

Uitvoerwaarden

ExecutionPolicy

De cmdlet retourneert altijd Onbeperkt op Linux- en macOS-platforms. Op Windows-platforms wordt het huidige uitvoeringsbeleid geretourneerd.

Notities

Een uitvoeringsbeleid maakt deel uit van de Beveiligingsstrategie van PowerShell. Uitvoeringsbeleid bepaalt of u configuratiebestanden, zoals uw PowerShell-profiel, kunt laden of scripts kunt uitvoeren. En of scripts digitaal moeten worden ondertekend voordat ze worden uitgevoerd.