Applez Nous: +41 22 518 70 00
Contrairement aux shells Unix traditionnels qui transmettent des chaînes de caractères brutes, PowerShell manipule des objets .NET fortement typés. Lorsqu’une commande produit un résultat, elle transmet un objet doté de propriétés et de méthodes accessibles directement sans analyse textuelle complexe :
# En Bash : Analyse de texte sujette aux changements de format
ps aux | grep nginx | awk '{print $2}'
# En PowerShell : Accès direct à la propriété numérique 'Id' de l'objet Process
Get-Process -Name "explorer" | Select-Object -ExpandProperty Id
La puissance d’administration s’exprime à travers les trois cmdlets majeures du pipeline :
# 1. Where-Object (?{ }) : Filtrage précis basé sur des conditions
# Rechercher tous les services Windows en arrêt configurés en démarrage automatique
Get-Service | Where-Object { .Status -eq 'Stopped' -and .StartType -eq 'Automatic' }
# 2. Select-Object : Projection de colonnes et calcul de propriétés
Get-Process | Sort-Object -Property WorkingSet64 -Descending | `
Select-Object -First 5 Name, @{Name="RAM_Mo"; Expression={[math]::Round(.WorkingSet64 / 1MB, 2)}}
# 3. ForEach-Object (%{ }) : Traitement itératif d'objets
Get-Service -Name "w3svc" | ForEach-Object {
if (.Status -eq 'Running') {
Restart-Service -Name .Name -Force
Write-Host "Le service $(.DisplayName) a été redémarré avec succès." -ForegroundColor Green
}
}
Pour industrialiser vos automatisations sous Windows Server, activez l’interception systématique des erreurs bloquantes :
[CmdletBinding()]
param (
[Parameter(Mandatory=)]
[string]
)
= 'Stop'
try {
Write-Host "[INFO] Connexion au serveur ..."
= Get-CimInstance -ComputerName -ClassName Win32_LogicalDisk | `
Where-Object DriveType -eq 3
| Export-Csv -Path "C:RapportsDisques_.csv" -NoTypeInformation
}
catch {
Write-Error "[ERREUR CRITIQUE] Impossible d'interroger : "
}
finally {
Write-Host "[INFO] Fin de la séquence d'inventaire."
}
Exportation native : PowerShell intègre nativement les convertisseurs vers les formats universels :
ConvertTo-Json,Export-CsvetConvertTo-Html, facilitant l’intégration avec des plateformes tierces d’inventaire.