Partager via


Get-ExecutionPolicy

Obtient les stratégies d'exécution pour la session active.

Syntax

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

Description

Pour afficher les stratégies d’exécution de chaque étendue dans l’ordre de priorité, utilisez Get-ExecutionPolicy -List. Pour voir la stratégie d’exécution effective de votre session PowerShell, utilisez Get-ExecutionPolicy sans paramètres.

La stratégie d’exécution effective est déterminée par des stratégies d’exécution définies par Set-ExecutionPolicy et stratégie de groupe paramètres.

Pour plus d’informations, consultez about_Execution_Policies.

Exemples

Exemple 1 : Obtenir toutes les stratégies d’exécution

Cette commande affiche les stratégies d’exécution pour chaque étendue dans l’ordre de priorité.

Get-ExecutionPolicy -List

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

L’applet Get-ExecutionPolicy de commande utilise le paramètre List pour afficher la stratégie d’exécution de chaque étendue.

Exemple 2 : Définir une stratégie d’exécution

Cet exemple montre comment définir une stratégie d’exécution pour l’ordinateur local.

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

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

L’applet Set-ExecutionPolicy de commande utilise le paramètre ExecutionPolicy pour spécifier la RemoteSigned stratégie. Le paramètre Scope spécifie la valeur d’étendue par défaut, LocalMachine. Pour afficher les paramètres de stratégie d’exécution, utilisez l’applet de Get-ExecutionPolicy commande avec le paramètre List .

Exemple 3 : Obtenir la stratégie d’exécution effective

Cet exemple montre comment afficher la stratégie d’exécution effective pour une session PowerShell.

PS> Get-ExecutionPolicy -List

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

PS> Get-ExecutionPolicy

AllSigned

L’applet Get-ExecutionPolicy de commande utilise le paramètre List pour afficher la stratégie d’exécution de chaque étendue. L’applet Get-ExecutionPolicy de commande est exécutée sans paramètre pour afficher la stratégie d’exécution effective, AllSigned.

Exemple 4 : Débloquer un script pour l’exécuter sans modifier la stratégie d’exécution

Cet exemple montre comment la stratégie RemoteSigned d’exécution vous empêche d’exécuter des scripts non signés.

Une bonne pratique consiste à lire le code du script et à vérifier qu’il est sécurisé avant d’utiliser l’applet de Unblock-File commande. L’applet Unblock-File de commande débloque les scripts pour qu’ils puissent s’exécuter, mais ne modifie pas la stratégie d’exécution.

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:

le Set-ExecutionPolicy utilise le paramètre ExecutionPolicy pour spécifier la RemoteSigned stratégie. La stratégie est définie pour l’étendue par défaut, LocalMachine.

L’applet Get-ExecutionPolicy de commande indique qu’il RemoteSigned s’agit de la stratégie d’exécution effective pour la session PowerShell actuelle.

Le Start-ActivityTracker.ps1 script est exécuté à partir du répertoire actif. Le script est bloqué par RemoteSigned , car il n’est pas signé numériquement.

Pour cet exemple, le code du script a été examiné et vérifié comme étant sûr à exécuter. L’applet Unblock-File de commande utilise le paramètre Path pour débloquer le script.

Pour vérifier que Unblock-File n’a pas modifié la stratégie d’exécution, Get-ExecutionPolicy affiche la stratégie d’exécution effective, RemoteSigned.

Le script Start-ActivityTracker.ps1 est exécuté à partir du répertoire actif. Le script commence à s’exécuter, car il a été débloqué par l’applet de Unblock-File commande .

Paramètres

-List

Obtient toutes les valeurs de stratégie d’exécution pour la session. Par défaut, Get-ExecutionPolicy obtient uniquement la stratégie d’exécution effective.

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

-Scope

Spécifie l’étendue affectée par une stratégie d’exécution.

La stratégie d’exécution effective est déterminée par l’ordre de priorité comme suit :

  • MachinePolicy. Défini par un stratégie de groupe pour tous les utilisateurs de l’ordinateur.
  • UserPolicy. Défini par un stratégie de groupe pour l’utilisateur actuel de l’ordinateur.
  • Process. Affecte uniquement la session PowerShell actuelle.
  • LocalMachine. Étendue par défaut qui affecte tous les utilisateurs de l’ordinateur.
  • CurrentUser. Affecte uniquement l’utilisateur actuel.
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

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

ExecutionPolicy

L’applet de commande retourne toujours Non restreint sur les plateformes Linux et macOS. Sur les plateformes Windows, elle retourne la stratégie d’exécution actuelle.

Notes

Une stratégie d’exécution fait partie de la stratégie de sécurité PowerShell. Les stratégies d’exécution déterminent si vous pouvez charger des fichiers de configuration, tels que votre profil PowerShell, ou exécuter des scripts. Et si les scripts doivent être signés numériquement avant d’être exécutés.