Aller au contenu

PowerShell

Infrastructure

Shell en ligne de commande et langage de script de Microsoft, bâti sur .NET, dont le pipeline transporte des objets typés plutôt que du texte brut. Outil d'administration de référence sous Windows, désormais disponible aussi sous Linux et macOS.

Diagramme de séquence entre six acteurs : Opérateur, Hôte PowerShell, Get-Process, Pipeline, Where-Object et Machine distante. 1. L'opérateur envoie une commande ou un script à l'hôte PowerShell. 2. L'hôte appelle Get-Process avec des paramètres. 3. Get-Process envoie des objets .NET typés dans le pipeline. 4. Si un filtre porte sur une propriété, le pipeline transmet à Where-Object les objets retenus. 5. Where-Object renvoie les objets résultats à l'hôte. 6. L'hôte présente à l'opérateur un affichage formaté en texte. 7. En cas d'exécution à distance, l'hôte ouvre une session WinRM ou SSH vers la machine distante.

Des objets, pas du texte : Chaque commande renvoie des objets .NET avec leurs propriétés, que la commande suivante lit directement. On filtre sur $_.CPU au lieu de découper des colonnes de texte à coups d'expressions régulières.

Cmdlets Verbe-Nom : Les commandes natives, appelées cmdlets, suivent une convention Verbe-Nom : Get-Process, Stop-Service, Set-Item. Get-Command et Get-Help suffisent à retrouver son chemin sans quitter la console.

Deux éditions : Windows PowerShell 5.1, livré avec Windows et figé sur le .NET Framework, cohabite avec PowerShell 7, open source et multiplateforme, lancé via l'exécutable pwsh. Les deux s'installent côte à côte, et certains modules historiques ne tournent que sur la première.

Côté sécurité : Outil d'administration par excellence, donc outil d'attaque favori : la journalisation des blocs de script et l'interface AMSI permettent de voir ce qui s'exécute réellement. L'execution policy, elle, n'est pas une barrière de sécurité : c'est un panneau « défense d'entrer » vissé sur une porte sans serrure, que le premier -ExecutionPolicy Bypass venu salue poliment en passant.

Explication de la marmotte

D'habitude, on dirige un ordinateur en cliquant avec la souris. PowerShell, c'est une fenêtre où l'on tape des ordres écrits à la place, comme « montre-moi les programmes ouverts » ou « arrête celui-là ». Sa particularité : quand un ordre donne un résultat, ce résultat ressemble à une fiche bien rangée (nom, taille, date) plutôt qu'à un bloc de texte en vrac. Imagine une chaîne de cuisine : le premier cuisinier passe des assiettes complètes au suivant, qui garde seulement celles qu'il veut. Les techniciens l'adorent, car on peut enregistrer une liste d'ordres et la rejouer sur des centaines d'ordinateurs d'un coup, sans cliquer partout.

Où ce terme est utilisé

← Tout le glossaire