Powershell

Une liste de commandes utiles

PowerShell vs PowerShell ISE

PowerShell ISE offre une interface graphique et des outils supplémentaires pour le développement de scripts, contrairement à la version standard de PowerShell qui utilise une interface en ligne de commande

Connaître votre version

Pour identifier la version sur votre session PowerShell :

$PSVersionTable # Afficher la version de PowerShell

Cheatsheet

Informations systèmes

Get-ComputerInfo                    # Afficher les informations systèmes (version de windows, édition, bios version, etc)
Get-WMIObject Win32_OperatingSystem # Afficher la version de Windows
$env:COMPUTERNAME                   # Afficher le nom de l'ordinateur

Services et processus

# Service
Get-Service            # Lister tous les services [Alias: gsv]
Get-Service name       # Avoir des détails sur un service spécifique [Alias: gsv]
Start-Service name     # Démarrer un service à l'arrêt [Alias: sasv]
Stop-Service name      # Arrêter un service en cours [Alias: spsv]
Restart-Service name   # Redémarrer un service en cours

# Process
Get-Process            # Lister tous les processes [Alias: ps]
Get-Process name       # Avoir des détails sur un process spécifique [Alias: ps]
Start-Process name     # Démarrer un process à l'arrêt [Alias: start, saps]
Stop-Process name      # Stop a process [Alias: kill, spps]
Wait-Process name      # Attendre qu'un process ce stop avant de continuer
Debug-Process name     # Attacher un debugger à un process

Réseau

Get-NetIPConfiguration                 # Afficher l'interface locale et les IPs assignés
netsh wlan show profiles               # Afficher la liste des réseau sans fil enregistrés
Test-Connection name                   # Ping basique
Test-NetConnection name                # Ping avancée
Test-NetConnection name -TraceRoute    # Perform a trace route
Test-NetConnection name -Port port     # Perform a port check
Test-NetConnection google.com -Port 80 # Testez la connectivité du port TCP
Get-NetTCPConnection                   # Affiche la liste des connexions TCP
Get-NetUDPEndpoint                     # Affiche la liste des connexions UDP

# DNS
Set-DnsClientServerAddress -InterfaceAlias interface -ServerAddresses dns,dns2 # Changer les serveurs DNS
Resolve-DnsName name                  # Basique DNS lookup
Resolve-DnsName name -Type recordtype # DNS lookup pour un record spécifique (ie txt, srv, soa, etc)
Clear-DnsClientCache                  # Effacer le cache local DNS

Contrôle à distance

Enable-PSRemoting                                 # Activer la possibilitée des sessions PowerShell distantes sur la machine locale 
Enter-PSSession computername -Credential username # Connexion à un ordinateur distant

Gestion du système

start-Computer      # Redémarrer la machine
Stop-Computer       # Eteindre la machine
Checkpoint-Computer # Créer un point de restauration a system restore point
Restore-Computer    # Restaurer l'ordinateur à un point de restauration

Gestion des fichiers

Création

  • Obtenir son répertoire actuel : Get-Location (ou l'alias pwd connu sous Linux)

  • Lister le contenu d'un répertoire : Get-ChildItem (ou l'alias ls ou dir)

  • Créer un nouveau répertoire ou fichier :

New-Item -Name "Nom_Rep" -ItemType Directory                     # Créer une répertoire
New-Item -Name "nom_fichier.ext" -ItemType File.                 # Créer un fichier 
New-Item -Name "nom_fichier.ext" -ItemType File -Value "Contenu" # Créer un fichier avec du contenu

Dernière mise à jour