Obtient des informations de base sur les applets de commande et d'autres éléments des commandes Windows PowerShell.

Syntaxe

Get-Command [[-Name] <string[]>] [-CommandType {<Alias> | <Function> | <Filter> | <Cmdlet> | <ExternalScript> | <Application> | <Script> | <All>}] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Syntaxe] [-TotalCount <int>] [<CommonParameters>]

Get-Command [-Noun <string[]>] [-Verb <string[]>] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Syntaxe] [-TotalCount <int>] [<CommonParameters>]

Description

L'applet de commande Get-Command obtient des informations de base sur les applets de commande et d'autres éléments des commandes Windows PowerShell de la session, tels qu'alias, fonctions, filtres, scripts et applications.

Get-Command obtient directement ses données du code d'une applet de commande, d'une fonction, d'un script ou d'un alias, contrairement à Get-Help, qui les obtient des fichiers de rubrique d'aide.

Sans paramètres, « Get-Command » obtient toutes les applets de commande et fonctions de la session active. « Get-Command * » obtient tous les éléments Windows PowerShell et tous les fichiers autres que Windows PowerShell dans la variable d'environnement Path ($env:path). Elle regroupe les fichiers dans le type de commande « Application ».

Vous pouvez utiliser le paramètre Module de Get-Command pour rechercher les commandes qui ont été ajoutées à la session en ajoutant un composant logiciel enfichable Windows PowerShell ou en important un module.

Paramètres

-ArgumentList <Object[]>

Obtient des informations sur une applet de commande ou une fonction lorsqu'elle est utilisée avec les paramètres (« arguments ») spécifiés, comme un chemin d'accès. L'alias pour ArgumentList est Args.

Pour détecter des paramètres ajoutés à une applet de commande lorsqu'elle est utilisée avec un fournisseur particulier, définissez la valeur d'ArgumentList sur un chemin d'accès dans le lecteur du fournisseur, par exemple « HKML\Software » ou « cert:\my ».

Obligatoire ?

false

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-CommandType <CommandTypes>

Obtient uniquement les types de commandes spécifiés. Utilisez « CommandType » ou son alias, « Type ». Par défaut, Get-Command obtient des applets de commande et des fonctions.

Les valeurs valides sont :

-- Alias : tous les alias Windows PowerShell dans la session active.

-- All : tous les types de commandes. Il s'agit de l'équivalent de « get-command * ».

-- Application : tous les fichiers autres que Windows PowerShell figurant dans les chemins d'accès qui sont répertoriés dans la variable d'environnement Path ($env:path), notamment les fichiers .txt, .exe. et .dll.

-- Cmdlet : applets de commande dans la session active. « Cmdlet » est la valeur par défaut.

-- ExternalScript : tous les fichiers .ps1 dans les chemins d'accès répertoriés dans la variable d'environnement Path ($env:path).

-- Filter et Function : toutes les fonctions Windows PowerShell.

-- Script : blocs de script dans la session active.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Module <string[]>

Obtient les commandes qui proviennent des modules ou composants logiciels enfichables spécifiés. Entrez les noms, ou des objets, des modules ou des composants logiciels enfichables.

Vous pouvez faire référence à ce paramètre en utilisant son nom, Module, ou son alias, PSSnapin. Le nom de paramètre que vous choisissez n'a aucun effet sur la commande ou sa sortie.

Ce paramètre accepte des valeurs de chaîne, mais vous pouvez également fournir un objet PSModuleInfo ou PSSnapinInfo, tel que les objets retournés par Get-Module, Get-PSSnapin et Import-PSSession.

Obligatoire ?

false

Position ?

named

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Name <string[]>

Obtient des informations uniquement sur les applets de commande ou éléments de commande dont les noms sont spécifiés. <String> représente tout ou partie du nom de l'applet de commande ou de l'élément de commande. Les caractères génériques sont autorisés.

Pour répertorier des commandes ayant le même nom dans l'ordre d'exécution, tapez leur nom sans caractères génériques. Pour plus d'informations, consultez la section Remarques.

Obligatoire ?

false

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue, ByPropertyName)

Accepter les caractères génériques ?

false

-Noun <string[]>

Obtient des applets de commande et des fonctions dont les noms incluent le nom spécifié. <String> représente un ou plusieurs noms ou modèles de nom, tels que « process » ou « *item* ». Les caractères génériques sont autorisés.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Syntaxe

Obtient uniquement les données spécifiées relatives à l'élément de commande.

* Pour les alias, récupère le nom standard.

* Pour les applets de commande, récupère la syntaxe.

* Pour les fonctions et les filtres, récupère la définition de fonction.

* Pour les scripts et les applications (fichiers), récupère le chemin d'accès et le nom de fichier.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-TotalCount <int>

Obtient uniquement le nombre d'éléments de commande spécifié. Vous pouvez utiliser ce paramètre pour limiter la sortie d'une commande.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Verb <string[]>

Obtient des informations sur les applets de commande et fonctions dont les noms incluent le verbe spécifié. <String> représente un ou plusieurs verbes ou modèles de verbe, tels que « remove » ou « *et ». Les caractères génériques sont autorisés.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.String

Vous pouvez diriger une propriété de nom « Name », « Command » et « Verb » spécifiée, ou un objet chaîne vers Get-Command.

Sorties

Object

Le type d'objet retourné dépend du type d'élément de commande récupéré. Par exemple, Get-Command sur une applet de commande récupère un objet CmdletInfo, alors que Get-Command sur une DLL récupère un objet ApplicationInfo.

Remarques

Sans paramètres, « Get-Command » obtient des informations sur les applets de commande et fonctions de Windows PowerShell. Utilisez les paramètres pour qualifier les éléments récupérés.

Contrairement à Get-Help, qui affiche le contenu des fichiers de rubrique d'aide basés sur XML, Get-Command obtient directement ses informations d'applet de commande du code d'applet de commande dans le système.

Get-Command retourne les commandes dans l'ordre alphabétique. Lorsque la session contient plusieurs commandes de même nom, Get-Command retourne les commandes dans l'ordre d'exécution. La première commande répertoriée est celle qui s'exécute lorsque vous tapez le nom de la commande sans qualification. Pour plus d'informations, consultez about_Command_Precedence.

Exemple 1

C:\PS>get-command

Description
-----------
Cette commande obtient des informations sur toutes les applets de commande et fonctions de Windows PowerShell. 

L'affichage par défaut répertorie le type de commande (« Cmdlet » ou « Function » ou « Filter »), le nom de l'applet de commande ou de la fonction, et la syntaxe ou définition de la fonction.






Exemple 2

C:\PS>get-command -verb set | format-list

Description
-----------
Cette commande obtient des informations sur toutes les applets de commande et fonctions comportant le verbe « set », et affiche certaines de ces informations dans une liste. 

Le format de liste inclut des champs qui sont omis de l'affichage de table, y compris la syntaxe complète. Pour afficher tous les champs (toutes les propriétés de l'objet), tapez « get-command -verb set | format-list * ».






Exemple 3

C:\PS>get-command -type cmdlet | sort-object noun | format-table -group noun

Description
-----------
Cette commande récupère toutes les applets de commande, les trie en classant leurs noms par ordre alphabétique, puis les affiche dans des groupes
en fonction de leurs noms. Cet affichage vous permet de trouver les applets de commande nécessaires pour une tâche. 

Par défaut, Get-Command affiche les éléments dans l'ordre selon lequel le système les découvre, ce qui correspond également à l'ordre dans lequel ils sont sélectionnés pour être exécutés lorsqu'une commande d'exécution est ambiguë.






Exemple 4

C:\PS>get-command -module Microsoft.PowerShell.Security, TestModule

Description
-----------
Cette commande obtient les commandes du composant logiciel enfichable Microsoft.PowerShell.Security et du module Test-Module.

Le paramètre Module obtient les commandes qui ont été ajoutées par l'importation de modules ou l'ajout de composants logiciels enfichables Windows PowerShell.






Exemple 5

C:\PS>get-command get-childitem -args cert: -syntax

Description
-----------
Cette commande récupère des informations sur l'applet de commande Get-ChildItem lorsque Get-ChildItem est utilisée avec le fournisseur Certificate de Windows PowerShell. 

Si vous comparez la syntaxe affichée dans la sortie avec celle générée lorsque vous omettez le paramètre Args (ArgumentList), vous constatez que le fournisseur Certificate ajoute dynamiquement un paramètre, CodeSigningCert, à l'applet de commande Get-ChildItem.






Exemple 6

C:\PS>(get-command get-childitem -ArgumentList cert:).parametersets[0].parameters | where-object { $_.IsDynamic }

Description
-----------
Cette commande récupère uniquement les paramètres qui sont ajoutés dynamiquement à l'applet de commande Get-ChildItem lorsqu'elle est utilisée avec le fournisseur Certificate de Windows PowerShell. C'est une alternative à la méthode utilisée dans l'exemple précédent.

Dans cette commande, le « get-command get-childitem -ArgumentList cert: » est traité en premier. Il demande des informations à Get-Command sur l'applet de commande Get-ChildItem lorsqu'elle est utilisée avec le fournisseur Certificate. Le « .parametersets[0] » sélectionne le premier jeu de paramètres (set 0) de « get-childitem -argumentList cert: », et « .parameters » sélectionne les paramètres contenus dans ce jeu de paramètres. Les paramètres résultants sont dirigés vers l'applet de commande Where-Object pour tester chaque paramètre ("$_.") à l'aide de la propriété IsDynamic. Pour rechercher les propriétés des objets dans une commande, utilisez Get-Member.






Exemple 7

C:\PS>get-command *

Description
-----------
Cette commande obtient dans la console actuelle des informations sur les applets de commande, fonctions, filtres, scripts et alias Windows PowerShell.

Elle obtient également des informations sur tous les fichiers dans les chemins d'accès de la variable d'environnement Path ($env:path). Elle retourne un objet ApplicationInfo (System.Management.Automation.ApplicationInfo) pour chaque fichier, et non un objet FileInfo (System.IO.FileInfo).






Exemple 8

C:\PS>get-command | where-object {$_.definition -like "*first*"}

CommandType     Name                        Definition
-----------     ----                        ---------
Cmdlet          Select-Object               Select-Object [[-Property]

Description
-----------
Cette commande recherche une applet de commande ou fonction selon le nom de l'un de ses paramètres. Vous pouvez utiliser cette commande pour identifier une applet de commande ou une fonction lorsque vous ne pouvez vous souvenir que du nom de l'un de ses paramètres.

Dans ce cas, vous vous souvenez que l'une des applets de commande ou fonctions comporte un paramètre First qui obtient les « n » premiers objets d'une liste, mais vous ne savez plus de quelle applet de commande il s'agit.

Cette commande utilise l'applet de commande Get-Command pour obtenir un objet CmdletInfo qui représente chacune des applets de commande et fonctions de la session. L'objet CmdletInfo a une propriété Definition qui contient la syntaxe de l'applet de commande ou de la fonction qui inclut ses paramètres. 

La commande utilise un opérateur de pipeline (|) pour passer l'objet CmdletInfo à l'applet de commande Where-Object, qui cherche dans la définition (syntaxe) de chaque objet ($_) une valeur qui inclut « first ».

Le résultat indique que le paramètre First appartient à l'applet de commande Select-Object.






Exemple 9

C:\PS>get-command dir | format-list

Name              : dir
CommandType       : Alias
Definition        : Get-ChildItem
ReferencedCommand : Get-ChildItem
ResolvedCommand   : Get-ChildItem

Description
-----------
Cet exemple montre comment utiliser l'applet de commande Get-Command avec un alias. Bien qu'elle soit généralement utilisée sur des applets de commande, Get-Command affiche également des informations sur le code des scripts, fonctions, alias et fichiers exécutables.

Cette commande affiche l'alias « dir » dans la console actuelle. Elle dirige le résultat vers les applets de commande Format-List.






Exemple 10

C:\PS>get-command notepad

CommandType     Name           Definition
-----------     ----           ----------
Application     notepad.exe    C:\WINDOWS\system32\notepad.exe
Application     NOTEPAD.EXE    C:\WINDOWS\NOTEPAD.EXE

Description
-----------
Cet exemple montre comment utiliser Get-Command pour déterminer quelle commande Windows PowerShell s'exécute lorsqu'il accède à plusieurs commandes ayant le même nom. Lorsque vous utilisez le paramètre Name sans caractères génériques, Get-Command répertorie les commandes portant ce nom dans l'ordre de priorité d'exécution.

Cette commande montre quel programme Bloc-notes Windows PowerShell exécute lorsque vous tapez « Notepad » sans préciser de chemin d'accès complet. Elle utilise le paramètre Name sans caractères génériques. 

L'exemple de sortie affiche les commandes Notepad dans la console actuelle. Il indique que Windows PowerShell exécutera l'instance de Notepad.exe dans le répertoire C:\Windows\System32.






Exemple 11

C:\PS>(get-command get-date).pssnapin

C:\PS> (get-command remove-gpo).module

Description
-----------
Ces commandes montrent comment rechercher le composant logiciel enfichable ou module d'où provient une applet de commande particulière.

La première commande utilise la propriété PSSnapin de l'objet CmdletInfo pour rechercher le composant logiciel enfichable qui a ajouté l'applet de commande Get-Date. 

La deuxième commande utilise la propriété Module de l'objet CmdletInfo pour rechercher le module qui a ajouté l'applet de commande Remove-GPO.






Voir aussi




Table des matières