07-05-2020
-La section Distributions regroupe Solus, Mint et Debian -Section Windows
This commit is contained in:
164
docs/Windows/PowerShell/ExecutionPolicies.md
Normal file
164
docs/Windows/PowerShell/ExecutionPolicies.md
Normal file
@@ -0,0 +1,164 @@
|
||||
|
||||
|
||||
# Stratégies d'exécution PowerShell:
|
||||
|
||||
https://docs.microsoft.com/fr-fr/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
|
||||
|
||||
|
||||
|
||||
#### AllSigned
|
||||
|
||||
- Les scripts peuvent s'exécuter.
|
||||
- Nécessite que tous les scripts et fichiers de configuration soient signés par un éditeur approuvé, y compris les scripts que vous écrivez sur l'ordinateur local.
|
||||
- Vous invite à exécuter des scripts d'éditeurs que vous n'avez pas encore classés comme fiables ou non fiables.
|
||||
- Risques liés à l'exécution de scripts signés mais malveillants.
|
||||
|
||||
#### ByPass
|
||||
|
||||
- Rien n'est bloqué et il n'y a aucun avertissement ou invite.
|
||||
- Cette stratégie d'exécution est conçue pour les configurations dans lesquelles un script PowerShell est intégré à une application plus grande ou pour les configurations dans lesquelles PowerShell est la base d'un programme qui possède son propre modèle de sécurité.
|
||||
|
||||
#### Default
|
||||
|
||||
- Définit la stratégie d'exécution par défaut.
|
||||
- **Restricted** aux clients Windows.
|
||||
- **RemoteSigned** pour les serveurs Windows.
|
||||
|
||||
#### RemoteSigned
|
||||
|
||||
- La stratégie d'exécution par défaut pour les ordinateurs serveurs Windows.
|
||||
- Les scripts peuvent s'exécuter.
|
||||
- Nécessite une signature numérique d'un éditeur de confiance sur les scripts et les fichiers de configuration téléchargés sur Internet, qui incluent des programmes de messagerie électronique et de messagerie instantanée.
|
||||
- Ne nécessite pas des signatures numériques sur des scripts écrits sur l'ordinateur local et non téléchargés sur Internet.
|
||||
- Exécute des scripts téléchargés sur Internet et non signés, si les scripts sont débloqués, par exemple en utilisant l'applet de commande `Unblock-File`.
|
||||
- Risque d'exécuter des scripts non signés à partir de sources autres qu'Internet et des scripts signés qui pourraient être malveillants.
|
||||
|
||||
#### Restricted
|
||||
|
||||
- La stratégie d'exécution par défaut pour les ordinateurs clients Windows.
|
||||
- Autorise les commandes individuelles, mais n'autorise pas les scripts.
|
||||
- Empêche l'exécution de tous les fichiers de script, y compris les fichiers de formatage et de configuration (.ps1xml), les fichiers de script de module (.psm1) et les profils PowerShell (.ps1).
|
||||
|
||||
#### Undefined
|
||||
|
||||
- Aucune stratégie d'exécution n'est définie dans la portée actuelle.
|
||||
- Si la politique d'exécution dans toutes les étendues est **Undefined**, la politique d'exécution effective est **Restricted**, qui est la politique d'exécution par défaut.
|
||||
|
||||
#### Unrestricted
|
||||
|
||||
- La stratégie d'exécution par défaut pour les ordinateurs non Windows et ne peut pas être modifiée.
|
||||
- Des scripts non signés peuvent s'exécuter. Il existe un risque d'exécuter des scripts malveillants.
|
||||
- Avertit l'utilisateur avant d'exécuter des scripts et des fichiers de configuration qui ne proviennent pas de la zone intranet locale.
|
||||
|
||||
|
||||
|
||||
### Portée de la politique d'exécution:
|
||||
|
||||
#### 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
|
||||
|
||||
L'étendue du processus affecte uniquement la session PowerShell en cours. La stratégie d'exécution est enregistrée dans la variable d'environnement `$ env: PSExecutionPolicyPreference`, plutôt que dans le registre. Lorsque la session PowerShell est fermée, la variable et la valeur sont supprimées.
|
||||
|
||||
#### CurrentUser
|
||||
|
||||
La stratégie d'exécution affecte uniquement l'utilisateur actuel. Il est stocké dans la sous-clé de registre `HKEY_CURRENT_USER`.
|
||||
|
||||
#### LocalMachine
|
||||
|
||||
La stratégie d'exécution affecte tous les utilisateurs de l'ordinateur actuel. Il est stocké dans la sous-clé de registre `HKEY_LOCAL_MACHINE`.
|
||||
|
||||
|
||||
|
||||
### Obtenir la politique d'exécution:
|
||||
|
||||
```powershell
|
||||
# Obtenir la politique d'exécution courante
|
||||
|
||||
PS C:\Users\bruno> Get-ExecutionPolicy
|
||||
Restricted
|
||||
|
||||
# Obtenir toutes les politiques d'exécution qui affectent la session en cours et les afficher dans l'ordre de priorité:
|
||||
|
||||
PS C:\Users\bruno> Get-ExecutionPolicy -List
|
||||
|
||||
Scope ExecutionPolicy
|
||||
----- ---------------
|
||||
MachinePolicy Undefined
|
||||
UserPolicy Undefined
|
||||
Process Undefined
|
||||
CurrentUser Undefined
|
||||
LocalMachine Undefined
|
||||
|
||||
# Obtenir la stratégie d'exécution pour la portée CurrentUser:
|
||||
|
||||
PS C:\Users\bruno> Get-ExecutionPolicy -Scope CurrentUser
|
||||
Undefined
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Modifier la politique d'exécution:
|
||||
|
||||
```powershell
|
||||
# Modifier la politique d'exécution courante
|
||||
# - nécessite d'ouvrir PowerShell en tant qu'administrateur
|
||||
|
||||
PS Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
|
||||
|
||||
|
||||
PS Get-ExecutionPolicy -List
|
||||
|
||||
Scope ExecutionPolicy
|
||||
----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine RemoteSigned <
|
||||
|
||||
# Modifier la politique d'exécution courante pour CurrentUser
|
||||
|
||||
PS Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||
|
||||
PS C:\WINDOWS\system32> Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser RemoteSigned < LocalMachine Undefined
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Supprimer la politique d'exécution:
|
||||
|
||||
Cela revient à la déclarer `Undefined`
|
||||
|
||||
```powershell
|
||||
PS Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
|
||||
|
||||
PS Get-ExecutionPolicy -List
|
||||
|
||||
Scope. ExecutionPolicy
|
||||
----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Undefined <
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Modifier la politique d'exécution pour une session:
|
||||
|
||||
```powershell
|
||||
PS pwsh.exe -ExecutionPolicy AllSigned
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Priorités de politique d'exécution:
|
||||
|
||||
Lors de la détermination de la stratégie d'exécution effective pour une session, PowerShell évalue les stratégies d'exécution dans l'ordre de priorité suivant:
|
||||
|
||||
- Group Policy: MachinePolicy
|
||||
- Group Policy: UserPolicy
|
||||
- Execution Policy: Process (or `pwsh.exe -ExecutionPolicy`)
|
||||
- Execution Policy: CurrentUser
|
||||
- Execution Policy: LocalMachine
|
||||
Reference in New Issue
Block a user