====== PowerShell ====== ===== CmdLets ===== \\ ==== Lister les Modules ==== Un module est un package qui contient des membres PowerShell, tels que des applets de commande, des fournisseurs, des fonctions, des workflows, des variables et des alias. * **Lister les modules chargés dans la session courante** PS C:\> Get-Module * **Lister les modules disponibles** PS C:\> Get-Module -ListAvailable * **Vérifier la présence d'un module spécifique** PS C:\> Get-Module -ListAvailable -Name NTFSSecurity * **Installer un module** PS C:\> Install-Module NTFSSecurity -Confirm:$false -Force * **Supprimer un module** PS C:\> Remove-Module NTFSSecurity * **Liste des modules installés par défaut avec PowerShell** ^CimCmdlets |contient des applets de commande qui interagissent avec des serveurs Common Information Model (CIM) comme le service Windows Management Instrumentation (WMI) | ^Microsoft.PowerShell.Archive |Module d'archivage qui fournit des fonctions pour stocker des fichiers dans des archives ZIP | ^Microsoft.PowerShell.Core |The Core module contains cmdlets and providers that manage the basic features of PowerShell | ^Microsoft.PowerShell.Diagnostics |contient des applets de commande qui gèrent les données à partir des journaux des événements | ^Microsoft.PowerShell.Host |The Host module contains cmdlets that manage data from host programs | ^Microsoft.PowerShell.Management |The Management module contains cmdlets that help you manage Windows in PowerShell | ^Microsoft.PowerShell.Security |The Security module contains cmdlets and providers that manage the basic security features of Windows | ^Microsoft.PowerShell.Utility |This module contains cmdlets that manage the basic features of PowerShell | ^Microsoft.WSMan.Management |The WSMan module contains cmdlets and providers that manage the WS-Management protocol in PowerShell | ^PackageManagement |PackageManagement est un agrégateur pour les gestionnaires de packages de logiciels | ^PowerShellGet |Le module PowerShellGet contient des applets de commande pour la découverte, l’installation, la mise à jour et la publication des packages PowerShell à partir de PowerShell Gallery | ^PSDesiredStateConfiguration |This module contains cmdlets that designed to work with DSC Resources | ^PSDiagnostics |The PowerShell Diagnostics Module contains a set of cmdlets that enables the use of ETW tracing in PowerShell on Windows | ^PSReadline |PSReadLine fournit une expérience d’édition de ligne de commande améliorée dans la console PowerShell | \\ ==== Lister les CmdLets ==== * **Afficher toutes les CmdLets (commandes) disponibles sur le système** PS C:\> Get-Command * **Afficher les CmdLets contenant un terme particulier** __exemple__ : commandes Get qui contiennent "*Win*" PS C:\> Get-Command -Verb Get -Noun *win* # ou PS C:\> Get-Command -Name Get*win* * **Afficher les CmdLets d'un module spécifique** __exemple__ : commandes du module Dism PS C:\> Get-Command -Module Dism * **Afficher les propriétés et méthode d'un CmdLet** Fonctionne aussi sur une variable qui contient le résultat d'une commande. PS C:\> Get-Location | Get-Member ou PS C:\> $lecteur = Get-PSDrive -Name C PS C:\> $lecteur | Get-Member \\ ==== Obtenir de l'aide sur un CmdLet ==== PS C:\> Get-Help CmdLet Forcer la récupération des mises à jour de fichiers d'aide en français PS C:\> Update-Help -Force -Module Microfost.powershell.management -UICulture fr-FR Afficher des exemples pour une commande PS C:\> Get-Help Get-Alias -examples \\ ==== Filtrer le résultat d'une commande ==== On peut utiliser le CmdLet ''**Where-Object**'' * Afficher tous les alias dont le nom commence par la lettre g PS C:\> Get-Alias | Where-Object {$_.Name -like 'g*'} * Afficher tous les alias dont la définition est Get-ChildItem PS C:\> Get-Alias | Where-Object {$_.Definition -like '*Get-ChildItem'}