07-05-2020

-La section Distributions regroupe Solus, Mint et Debian
-Section Windows
This commit is contained in:
2020-05-07 13:43:00 +02:00
parent 7e64b5c348
commit 6103008715
39 changed files with 1198 additions and 59 deletions

View 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