Get-ExecutionPolicy
Obtient les stratégies d'exécution pour la session active.
Syntaxe
All
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Description
Pour afficher les stratégies d’exécution pour 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 les stratégies d’exécution définies par les paramètres de Set-ExecutionPolicy et de stratégie de groupe.
Pour plus d'informations, voir 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 de commande Get-ExecutionPolicy 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 de commande Set-ExecutionPolicy utilise le paramètre ExecutionPolicy pour spécifier la stratégie RemoteSigned. 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 commande Get-ExecutionPolicy 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 de commande Get-ExecutionPolicy utilise le paramètre List pour afficher la stratégie d’exécution de chaque étendue. L’applet de commande Get-ExecutionPolicy 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 d’exécution RemoteSigned 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 de à l’aide de l’applet de commande Unblock-File. L’applet de commande Unblock-File débloque les scripts afin qu’ils puissent s’exécuter, mais ne modifient 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:
La Set-ExecutionPolicy utilise le paramètre ExecutionPolicy pour spécifier la stratégie RemoteSigned. La stratégie est définie pour l’étendue par défaut, LocalMachine.
L’applet de commande Get-ExecutionPolicy indique que RemoteSigned est la stratégie d’exécution effective de la session PowerShell actuelle.
Le script Start-ActivityTracker.ps1 est exécuté à partir du répertoire actif. Le script est bloqué par RemoteSigned, car le script n’est pas signé numériquement.
Pour cet exemple, le code du script a été examiné et vérifié comme sûr à exécuter. L’applet de commande
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 commande Unblock-File.
Paramètres
-List
Obtient toutes les valeurs de la stratégie d’exécution pour la session. Par défaut, Get-ExecutionPolicy obtient uniquement la stratégie d’exécution effective.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 une stratégie de groupe pour tous les utilisateurs de l’ordinateur. -
UserPolicy. Défini par une 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.
Propriétés du paramètre
| Type: | ExecutionPolicyScope |
| Valeur par défaut: | Effective execution policy |
| Valeurs acceptées: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
None
Vous ne pouvez pas diriger les objets vers cette applet de commande.
Sorties
ExecutionPolicy
L’applet de commande retourne toujours sans restriction 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 qu’ils ne soient exécutés.