Astuces et Techniques de Scripting PowerShell et Batch pour les Sysadmins1

En tant que sysadmin, vous passez probablement beaucoup de temps à travailler avec des scripts PowerShell et Batch pour automatiser des tâches sur des serveurs et des PC. Pour vous aider à devenir encore plus efficace dans votre travail, nous avons rassemblé ci-dessous quelques astuces et techniques avancées qui ne sont peut-être pas très connues.

PowerShell

  1. Utilisez les fonctions avancées, y compris les fonctions paramétrées, les paramètres facultatifs et les valeurs par défaut pour créer des scripts plus flexibles et réutilisables. Par exemple, pour créer une fonction PowerShell qui prend un nom et une ville en tant que paramètres, tapez :
function SayHello($Name, $City) {
    Write-Host "Bonjour $Name de $City"
}

SayHello -Name "Alice" -City "Paris"
  1. Utilisez la commande Where-Object pour filtrer des objets dans une pipeline. Par exemple, pour afficher tous les processus en cours d’exécution dont le nom contient “explorer”, tapez :
Get-Process | Where-Object { $_.Name -like "*explorer*" }
  1. Utilisez la commande Select-Object pour sélectionner des propriétés spécifiques d’un objet dans une pipeline. Par exemple, pour afficher le nom et l’utilisation CPU de tous les processus en cours d’exécution, tapez :
Get-Process | Select-Object Name, CPU
  1. Utilisez la commande Get-Member pour afficher les propriétés et les méthodes d’un objet. Par exemple, pour afficher les propriétés et les méthodes de l’objet processus, tapez :
Get-Process | Get-Member
  1. Utilisez la commande New-Item pour créer des fichiers et des répertoires. Par exemple, pour créer un nouveau répertoire C:\Temp\NewFolder, tapez :
New-Item -ItemType Directory -Path C:\Temp\NewFolder

Batch

  1. Utilisez les variables d’environnement, y compris %USERPROFILE% pour le répertoire de profil utilisateur, %COMPUTERNAME% pour le nom de l’ordinateur, %TEMP% pour le répertoire temporaire, et %PATH% pour les emplacements de fichiers exécutables. Par exemple, pour afficher le répertoire de profil utilisateur, tapez :
echo %USERPROFILE%
  1. Utilisez la commande for /f pour lire le contenu d’un fichier ligne par ligne. Par exemple, pour afficher le contenu du fichier C:\Temp\test.txt ligne par ligne, tapez :
for /f "delims=" %%i in (C:\Temp\test.txt) do echo %%i
  1. Utilisez la commande xcopy pour copier des fichiers et des répertoires. Par exemple, pour copier le contenu du répertoire C:\Temp dans le répertoire D:\Backup, tapez :
xcopy C:\Temp D:\Backup /s /e
  1. Utilisez la commande wmic pour interroger les informations système à partir de la ligne de commande. Par exemple, pour afficher les informations de base sur l’ordinateur, tapez :
wmic computersystem get name, model, manufacturer, systemtype
  1. Utilisez la commande tasklist pour afficher les processus en cours d’exécution. Par exemple, pour afficher tous les processus en cours d’exécution dont le nom contient “explorer”, tapez :
tasklist | findstr explorer

Conclusion

Ces astuces et techniques avancées de scripting PowerShell et Batch vous aideront à devenir plus efficace dans votre travail en tant que sysadmin. En utilisant ces commandes et fonctions moins connues, vous pouvez automatiser des tâches plus complexes et résoudre des problèmes plus rapidement. Essayez-les dans votre prochain script et voyez comment vous pouvez améliorer votre productivité.


  1. Avis de non-responsabilité : cet article a été rédigé à l’aide de ChatGPT. Je n’ai pas essayé tous les conseils répertoriés ici. Utiliser avec précaution. https://chat.openai.com/ ↩︎