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

View File

@@ -0,0 +1,175 @@
# Commandes PowerShell
#### Afficher le contenu du répertoire:
```powershell
PS Get-ChildItem
Répertoire : C:\Users\enzo2
Mode LastWriteTime Length Name
d----- 12/04/2020 11:53 .config
d----- 04/04/2020 09:38 .dotnet
d----- 27/03/2020 21:12 .PyCharm2019.3
d
```
#### Changer de répertoire:
```powershell
PS Set-Location "C:\"
PS ls
Répertoire : C:\
```
```powershell
PS Set-Location "C:\WINDOWS\system32"
```
```powershell
PS D:
PS ls
Répertoire : D:\
```
#### Piper une commande vers wsl:
```powershell
PS Get-ChildItem | wsl grep .g*
-a---- 02/04/2020 12:13 318 .gitconfig
```
```powershell
PS ipconfig | wsl grep IPv4
Adresse IPv4. . . . . . . . . . . . . .: 172.18.96.1
Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.17
Adresse IPv4. . . . . . . . . . . . . .: 192.168.32.1
Adresse IPv4. . . . . . . . . . . . . .: 192.168.61.1
Adresse IPv4. . . . . . . . . . . . . .: 172.27.144.1
```
#### Piper une commande depuis wsl:
```powershell
PS wsl ls -la | Select-Object -First 5
total 1645992
drwxrwxrwx 1 enzo2 enzo2 512 Apr 13 15:08 .
drwxrwxrwx 1 enzo2 enzo2 512 Mar 28 17:59 ..
drwxrwxrwx 1 enzo2 enzo2 512 Mar 28 18:09 3D Objects
drwxrwxrwx 1 enzo2 enzo2 512 Mar 28 18:07 AppData
```
#### Liste des commandes:
```powershell
PS Get-Command
CommandType Name Version Source
----------- ---- ------- ------
Alias Add-AppPackage 2.0.1.0 Appx
Alias Add-AppPackageVolume 2.0.1.0 Appx
.../...
```
```powershell
PS Get-Command -Name *IP*
CommandType Name Version Source
----------- ---- ------- ------
Alias gip -> 1.0.0.0 NetTCPIP
Alias ipal -> Import-Alias
```
#### Obtenir de l'aide:
```powershell
PS Get-Help -Name Get-Process
NOM
Get-Process
SYNTAXE
Get-Process [[-Name] <string[]>] [<CommonParameters>]
Get-Process [[-Name] <string[]>] [<CommonParameters>]
Get-Process [<CommonParameters>]
Get-Process [<CommonParameters>]
Get-Process [<CommonParameters>]
Get-Process [<CommonParameters>]
ALIAS
gps
ps
```
#### Liste de Services:
```powershell
PS Get-Service
Status Name DisplayName
------ ---- -----------
Stopped AarSvc_6e14a Agent Activation Runtime_6e14a
Running AdobeARMservice Adobe Acrobat Update Service
Stopped AJRouter Service de routeur AllJoyn
Stopped ALG Service de la passerelle de la couc...
Running AMD External Ev... AMD External Events Utility
```
#### Uniquement les Services actifs:
```powershell
PS Get-Service | Where-Object {$_.Status -eq "Running"}
Status Name DisplayName
------ ---- -----------
Running AdobeARMservice Adobe Acrobat Update Service
Running AMD External Ev... AMD External Events Utility
Running Appinfo Informations dapplication
```
#### Sortie HTML:
```powershell
PS Get-Service | Where-Object {$_.Status -eq "Running"} | ConvertTo-Html | Out-File Services.html
```
#### Sortie .csv:
```powershell
PS Get-Service | Where-Object {$_.Status -eq "Running"} | Select-Object Name, Status | Export-CSV Service.csv
```
#### Voir les erreurs dans les logs event:
```powershell
PS Get-EventLog -LogName System -EntryType Error
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
11071 mai 01 09:40 Error volsnap 3221618724 Les clichés instantanés du volume C: ont été an...
10981 avr. 29 19:55 Error volsnap 3221618724 Les clichés instantanés du volume C: ont été an...
10833 avr. 28 07:30 Error volsnap 3221618724 Les clichés instantanés du volume C: ont été an...
10774 avr. 28 07:25 Error bowser 3221233475 Le maître explorateur a reçu une annonce de ser...
10766 avr. 28 07:22 Error Schannel 36871 Une erreur irrécupérable s'est produite lors de...
```

View File

@@ -0,0 +1,68 @@
# Variables d'environnement
DESKTOP-FL5F1S2
`Get-Item -Path Env:*`
```powershell
PS Get-Item -Path Env:* Name Value ---- ----- COMPUTERNAME DESKTOP-FL5F1S2 USERPROFILE C:\Users\bruno HOMEPATH \Users\bruno LOCALAPPDATA C:\Users\bruno\AppData\Local PSModulePath C:\Users\bruno\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell... PROCESSOR_ARCHITECTURE AMD64 Path C:\Program Files (x86)\Parallels\Parallels Tools\Applications;C:\Program Files (x86)\... CommonProgramFiles(x86) C:\Program Files (x86)\Common Files ProgramFiles(x86) C:\Program Files (x86) PROCESSOR_LEVEL 6 LOGONSERVER \\DESKTOP-FL5F1S2 PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL HOMEDRIVE C: SystemRoot C:\WINDOWS ALLUSERSPROFILE C:\ProgramData DriverData C:\Windows\System32\Drivers\DriverData APPDATA C:\Users\bruno\AppData\Roaming PROCESSOR_REVISION 5e03 USERNAME bruno CommonProgramW6432 C:\Program Files\Common Files OneDrive C:\Users\bruno\OneDrive CommonProgramFiles C:\Program Files\Common Files OS Windows_NT USERDOMAIN_ROAMINGPROFILE DESKTOP-FL5F1S2 PROCESSOR_IDENTIFIER Intel64 Family 6 Model 94 Stepping 3, GenuineIntel OneDriveConsumer C:\Users\bruno\OneDrive AppsRoot D SystemDrive C: TEMP C:\Users\bruno\AppData\Local\Temp ProgramFiles C:\Program Files NUMBER_OF_PROCESSORS 2 ComSpec C:\WINDOWS\system32\cmd.exe TMP C:\Users\bruno\AppData\Local\Temp ProgramData C:\ProgramData ProgramW6432 C:\Program Files windir C:\WINDOWS USERDOMAIN DESKTOP-FL5F1S2 PUBLIC C:\Users\Public
```
Win10
`Get-ChildItem -Path Env:*`
```powershell
PS Get-ChildItem -Path Env:*
Name Value
---- -----
SystemDrive C:
ProgramFiles(x86) C:\Program Files (x86)
ProgramW6432 C:\Program Files
ChocolateyInstall C:\ProgramData\chocolatey
PROCESSOR_IDENTIFIER Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
TMP C:\Users\enzo2\AppData\Local\Temp
PROCESSOR_ARCHITECTURE AMD64
Path C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program F...
WSLENV WT_SESSION::WT_PROFILE_ID
PROCESSOR_REVISION 3c03
TEMP C:\Users\enzo2\AppData\Local\Temp
USERPROFILE C:\Users\enzo2
LOGONSERVER \\WIN10
WT_SESSION a9307fc2-a6d2-4543-8843-896181a31614
USERNAME enzo2
SystemRoot C:\WINDOWS
OneDrive C:\Users\enzo2\OneDrive
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
ProgramData C:\ProgramData
HOMEPATH \Users\enzo2
OneDriveConsumer C:\Users\enzo2\OneDrive
COMPUTERNAME WIN10
ALLUSERSPROFILE C:\ProgramData
CommonProgramW6432 C:\Program Files\Common Files
WT_PROFILE_ID {61c54bbd-c2c6-5271-96e7-009a87ff44bf}
DriverData C:\Windows\System32\Drivers\DriverData
HOMEDRIVE C:
windir C:\WINDOWS
NUMBER_OF_PROCESSORS 8
OS Windows_NT
ProgramFiles C:\Program Files
ComSpec C:\WINDOWS\system32\cmd.exe
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
HOME C:\Users\enzo2
JD2_HOME C:\Users\enzo2\AppData\Local\JDownloader 2.0
PSModulePath C:\Users\enzo2\OneDrive\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsP...
APPDATA C:\Users\enzo2\AppData\Roaming
USERDOMAIN WIN10
PROCESSOR_LEVEL 6
asl.log Destination=file
LOCALAPPDATA C:\Users\enzo2\AppData\Local
ChocolateyLastPathUpdate 132328701361148322
USERDOMAIN_ROAMINGPROFILE WIN10
PUBLIC C:\Users\Public
CommonProgramFiles C:\Program Files\Common Files
```

View File

@@ -0,0 +1,14 @@
# PowerShell
Pour éditer votre profile PowerShell, exécuter `notepad.exe $PROFILE`
Editeur de scripts PowerShell: **Windows PowerShell ISE** (à ouvrir en administrateur).
- [Stratégies d'exécution PowerShell](ExecutionPolicies.md)
- [Commandes](commands.md)
- [Variables d'environnement](env.md)