Get-Command
Obtient toutes les commandes.
Syntaxe
Get-Command
[-Verb <String[]>]
[-Noun <String[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[[-ArgumentList] <Object[]>]
[-All]
[-ListImported]
[-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command
[[-Name] <String[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[[-ArgumentList] <Object[]>]
[-All]
[-ListImported]
[-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Description
L’applet de commande Get-Command
obtient toutes les commandes installées sur l’ordinateur, notamment les applets de commande, les alias, les fonctions, les filtres, les scripts et les applications.
Get-Command
obtient les commandes des modules et commandes PowerShell importés à partir d’autres sessions. Pour obtenir uniquement les commandes importées dans la session active, utilisez le paramètre ListImported.
Sans paramètres, Get-Command
obtient toutes les applets de commande, fonctions et alias installés sur l’ordinateur.
Get-Command *
obtient tous les types de commandes, y compris tous les fichiers non PowerShell dans la variable d’environnement Path ($env:Path
), qu’il répertorie dans le type de commande Application.
Get-Command
qui utilise le nom exact de la commande, sans caractères génériques, importe automatiquement le module qui contient la commande pour pouvoir utiliser la commande immédiatement. Pour activer, désactiver et configurer l’importation automatique de modules, utilisez la variable de préférence $PSModuleAutoLoadingPreference
. Pour plus d’informations, consultez about_Preference_Variables.
Get-Command
obtient ses données directement à partir du code de commande, contrairement à Get-Help
, qui obtient ses informations à partir de rubriques d’aide.
À compter de Windows PowerShell 5.0, les résultats de l’applet de commande Get-Command
affichent une colonne Version par défaut. Une nouvelle propriété Version a été ajoutée à la classe CommandInfo.
Exemples
Exemple 1 : Obtenir des applets de commande, des fonctions et des alias
Cette commande obtient les applets de commande, les fonctions et les alias PowerShell installés sur l’ordinateur.
Get-Command
Exemple 2 : Obtenir des commandes dans la session active
Cette commande utilise le paramètre ListImported pour obtenir uniquement les commandes de la session active.
Get-Command -ListImported
Exemple 3 : Obtenir des applets de commande et les afficher dans l’ordre
Cette commande obtient toutes les applets de commande, les trie par ordre alphabétique en fonction du nom de l’applet de commande, puis les affiche dans des groupes basés sur des noms. Cet affichage peut vous aider à trouver les applets de commande d’une tâche.
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
Exemple 4 : Obtenir des commandes dans un module
Cette commande utilise le paramètre module
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Exemple 5 : Obtenir des informations sur une applet de commande
Cette commande obtient des informations sur l’applet de commande Get-AppLockerPolicy
. Il importe également le module AppLocker, qui ajoute toutes les commandes du module AppLocker à la session active.
Get-Command Get-AppLockerPolicy
Lorsqu’un module est importé automatiquement, l’effet est identique à l’utilisation de l’applet de commande Import-Module.
Le module peut ajouter des commandes, des types et des fichiers de mise en forme, et exécuter des scripts dans la session. Pour activer, désactiver et configurer l’importation automatique de modules, utilisez la variable de préférence $PSModuleAutoLoadingPreference
. Pour plus d’informations, consultez about_Preference_Variables.
Exemple 6 : Obtenir la syntaxe d’une applet de commande
Cette commande utilise les paramètres ArgumentList
Get-Command Get-Childitem -Args Cert: -Syntax
Lorsque vous comparez la syntaxe affichée dans la sortie avec la syntaxe affichée lorsque vous omettez le paramètre
Pour plus d’informations sur le fournisseur de certificats, consultez about_Certificate_Provider.
Exemple 7 : Obtenir des paramètres dynamiques
La commande de l’exemple utilise la fonction Get-DynamicParameters
pour obtenir les paramètres dynamiques ajoutés par le fournisseur de certificats à l’applet de commande Get-ChildItem
lorsqu’il est utilisé dans le lecteur Cert : .
function Get-DynamicParameters
{
param ($Cmdlet, $PSDrive)
(Get-Command $Cmdlet -ArgumentList $PSDrive).ParameterSets | ForEach-Object {$_.Parameters} | Where-Object { $_.IsDynamic } | Select-Object -Property Name -Unique
}
Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:
Name
----
CodeSigningCert
La fonction Get-DynamicParameters
dans cet exemple obtient les paramètres dynamiques d’une applet de commande. Il s’agit d’une alternative à la méthode utilisée dans l’exemple précédent. Le paramètre dynamique peut être ajouté à une applet de commande par une autre applet de commande ou un fournisseur.
Exemple 8 : Obtenir toutes les commandes de tous les types
Cette commande obtient toutes les commandes de tous les types sur l’ordinateur local, y compris les fichiers exécutables dans les chemins d’accès du chemin d’accès variable d’environnement ($env:path
).
Get-Command *
Elle retourne un objet ApplicationInfo (System.Management.Automation.ApplicationInfo) pour chaque fichier, et non un objet FileInfo (System.IO.FileInfo).
Exemple 9 : Obtenir des applets de commande à l’aide d’un nom
Cette commande obtient des applets de commande qui ont un paramètre dont le nom inclut Auth et dont le type est AuthenticationMechanism.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
Vous pouvez utiliser une commande comme celle-ci pour rechercher des applets de commande qui vous permettent de spécifier la méthode utilisée pour authentifier l’utilisateur.
Le paramètre ParameterType distingue les paramètres qui prennent une valeur AuthenticationMechanism celles qui prennent un paramètre AuthenticationLevel, même lorsqu’ils ont des noms similaires.
Exemple 10 : Obtenir un alias
Cet exemple montre comment utiliser l’applet de commande Get-Command
avec un alias.
Get-Command dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
Bien qu’il soit généralement utilisé sur les applets de commande et les fonctions, Get-Command
obtient également des scripts, des fonctions, des alias et des fichiers exécutables.
La sortie de la commande affiche l’affichage spécial de la valeur de propriété
Exemple 11 : Obtenir toutes les instances de la commande Bloc-notes
Cet exemple utilise le paramètre All de l’applet de commande Get-Command
pour afficher toutes les instances de la commande « Bloc-notes » sur l’ordinateur local.
Get-Command Notepad -All | Format-Table CommandType, Name, Definition
CommandType Name Definition
----------- ---- ----------
Application notepad.exe C:\WINDOWS\system32\notepad.exe
Application NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE
Le paramètre Tous les est utile lorsqu’il existe plusieurs commandes portant le même nom dans la session.
À compter de Windows PowerShell 3.0, par défaut, lorsque la session inclut plusieurs commandes portant le même nom, Get-Command
obtient uniquement la commande qui s’exécute lorsque vous tapez le nom de la commande. Avec le paramètre All, Get-Command
obtient toutes les commandes avec le nom spécifié et les retourne dans l’ordre de priorité d’exécution. Pour exécuter une commande autre que la première de la liste, tapez le chemin complet de la commande.
Pour plus d’informations sur la priorité des commandes, consultez about_Command_Precedence.
Exemple 12 : Obtenir le nom d’un module qui contient une applet de commande
Cette commande obtient le nom du module dans lequel l’applet de commande Get-Date
provient.
La commande utilise la propriété ModuleName de toutes les commandes.
(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
Ce format de commande fonctionne sur les commandes des modules PowerShell, même s’ils ne sont pas importés dans la session.
Exemple 13 : Obtenir des applets de commande et des fonctions qui ont un type de sortie
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Cette commande obtient les applets de commande et les fonctions qui ont un type de sortie et le type d’objets qu’ils retournent.
La première partie de la commande obtient toutes les applets de commande.
Un opérateur de pipeline (|) envoie les applets de commande à l’applet de commande Where-Object
, qui sélectionne uniquement celles dans lesquelles la propriété OutputType est remplie.
Un autre opérateur de pipeline envoie les objets d’applet de commande sélectionnés à l’applet de commande Format-List
, qui affiche le nom et le type de sortie de chaque applet de commande dans une liste.
La propriété OutputType d’un objet CommandInfo a une valeur non null uniquement lorsque le code de l’applet de commande définit l’attribut OutputType de l’applet de commande.
Exemple 14 : Obtenir des applets de commande qui prennent un type d’objet spécifique comme entrée
Get-Command -ParameterType (((Get-NetAdapter)[0]).PSTypeNames)
CommandType Name ModuleName
----------- ---- ----------
Function Disable-NetAdapter NetAdapter
Function Enable-NetAdapter NetAdapter
Function Rename-NetAdapter NetAdapter
Function Restart-NetAdapter NetAdapter
Function Set-NetAdapter NetAdapter
Cette commande recherche les applets de commande qui prennent des objets d’adaptateur net comme entrée. Vous pouvez utiliser ce format de commande pour rechercher les applets de commande qui acceptent le type d’objets retournés par n’importe quelle commande.
La commande utilise les PSTypeNames propriété intrinsèque de tous les objets, qui obtient les types qui décrivent l’objet. Pour obtenir la propriété PSTypeNames d’une carte réseau, et non la propriété PSTypeNames d’une collection d’adaptateurs net, la commande utilise la notation de tableau pour obtenir le premier adaptateur net retourné par l’applet de commande. Pour obtenir la propriété PSTypeNames d’une carte réseau, et non la propriété PSTypeNames d’une collection d’adaptateurs net, la commande utilise la notation de tableau pour obtenir le premier adaptateur net retourné par l’applet de commande.
Paramètres
-All
Indique que cette applet de commande obtient toutes les commandes, y compris les commandes du même type qui ont le même nom. Par défaut, Get-Command
obtient uniquement les commandes qui s’exécutent lorsque vous tapez le nom de la commande.
Pour plus d’informations sur la méthode utilisée par PowerShell pour sélectionner la commande à exécuter lorsque plusieurs commandes ont le même nom, consultez about_Command_Precedence. Pour plus d’informations sur les noms de commandes qualifiés de module et les commandes en cours d’exécution qui ne s’exécutent pas par défaut en raison d’un conflit de noms, consultez about_Modules.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Dans Windows PowerShell 2.0, Get-Command
obtient toutes les commandes par défaut.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-ArgumentList
Spécifie un tableau d’arguments. Cette applet de commande obtient des informations sur une applet de commande ou une fonction lorsqu’elle est utilisée avec les paramètres spécifiés (« arguments »). L’alias de ArgumentList est .
Pour détecter les paramètres dynamiques disponibles uniquement lorsque certains autres paramètres sont utilisés, définissez la valeur de ArgumentList sur les paramètres qui déclenchent les paramètres dynamiques.
Pour détecter les paramètres dynamiques qu’un fournisseur ajoute à une applet de commande, définissez la valeur du paramètre ArgumentList sur un chemin d’accès dans le lecteur du fournisseur, tel que WSMan :, HKLM :, ou Cert :. Lorsque la commande est une applet de commande du fournisseur PowerShell, entrez un seul chemin d’accès dans chaque commande. Les applets de commande du fournisseur retournent uniquement les paramètres dynamiques du premier chemin d’accès à la valeur de ArgumentList. Pour plus d’informations sur les applets de commande du fournisseur, consultez about_Providers.
Type: | Object[] |
Alias: | Args |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-CommandType
Spécifie les types de commandes que cette applet de commande obtient. Entrez un ou plusieurs types de commandes. Utilisez CommandType ou son alias, Type. Par défaut, Get-Command
obtient toutes les applets de commande, fonctions et alias.
Les valeurs acceptables pour ce paramètre sont les suivantes :
- Alias. Obtient les alias de toutes les commandes PowerShell. Pour plus d’informations, consultez about_Aliases.
- Tout. Obtient tous les types de commandes. Cette valeur de paramètre est l’équivalent de
Get-Command *
. - Application. Obtient des fichiers non PowerShell dans les chemins répertoriés dans la variable d’environnement Path
($env :path), y compris les fichiers .txt, .exeet .dll. Pour plus d’informations sur la variable d’environnement Path, consultez about_Environment_Variables. - Applet de commande. Obtient toutes les applets de commande.
- ExternalScript. Obtient tous les fichiers .ps1 dans les chemins répertoriés dans la variable d’environnement Path ($env :path).
- Filtre et fonction. Obtient toutes les fonctions et filtres avancés et simples PowerShell.
- Script. Obtient tous les blocs de script. Pour obtenir des scripts PowerShell (.ps1 fichiers), utilisez la valeur ExternalScript.
- Flux de travail. Obtient tous les flux de travail. Pour plus d’informations sur les flux de travail, consultez Présentation du flux de travail Windows PowerShell.
Type: | CommandTypes |
Alias: | Type |
Valeurs acceptées: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-FullyQualifiedModule
Spécifie les modules avec des noms spécifiés sous la forme d’objets ModuleSpecification, décrits dans la section Notes de constructeur ModuleSpecification (Hashtable). Par exemple, le paramètre FullyQualifiedModule accepte un nom de module spécifié dans l’un des formats suivants :
@{ModuleName = "modulename"; ModuleVersion = "version_number"}
@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}
moduleName et ModuleVersion sont obligatoires, mais Guid est facultatif.
Vous ne pouvez pas spécifier le paramètre FullyQualifiedModule dans la même commande qu’un paramètre Module. Les deux paramètres s’excluent mutuellement.
Type: | ModuleSpecification[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-ListImported
Indique que cette applet de commande obtient uniquement les commandes de la session active.
À compter de PowerShell 3.0, par défaut, Get-Command
obtient toutes les commandes installées, y compris, mais pas limitées, aux commandes de la session active. Dans PowerShell 2.0, il obtient uniquement les commandes de la session active.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Module
Spécifie un tableau de modules. Cette applet de commande obtient les commandes provenant des modules ou composants logiciels enfichables spécifiés. Entrez les noms des modules ou des composants logiciels enfichables.
Ce paramètre prend des valeurs de chaîne, mais la valeur de ce paramètre peut également être une PSModuleInfo ou objet PSSnapinInfo, tels que les objets que les Get-Module
, Get-PSSnapin
et les applets de commande Import-PSSession
retournent.
Vous pouvez faire référence à ce paramètre par son nom, Module, ou par son alias, PSSnapin. Le nom du paramètre que vous choisissez n’a aucun effet sur la sortie de commande.
Type: | String[] |
Alias: | PSSnapin |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-Name
Spécifie un tableau de noms. Cette applet de commande obtient uniquement les commandes qui ont le nom spécifié. Entrez un nom ou un modèle de nom. Les caractères génériques sont autorisés.
Pour obtenir les commandes portant le même nom, utilisez le paramètre All. Lorsque deux commandes ont le même nom, par défaut, Get-Command
obtient la commande qui s’exécute lorsque vous tapez le nom de la commande.
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-Noun
Spécifie un tableau de noms de commandes. Cette applet de commande obtient des commandes, qui incluent des applets de commande, des fonctions et des alias, qui ont des noms qui incluent le nom spécifié. Entrez un ou plusieurs noms ou modèles de noms. Les caractères génériques sont autorisés.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-ParameterName
Spécifie un tableau de noms de paramètres. Cette applet de commande obtient des commandes dans la session qui ont les paramètres spécifiés. Entrez des noms de paramètres ou des alias de paramètre. Les caractères génériques sont pris en charge.
Les paramètres ParameterName et ParameterType recherchent uniquement les commandes dans la session active.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-ParameterType
Spécifie un tableau de noms de paramètres. Cette applet de commande obtient des commandes dans la session qui ont des paramètres du type spécifié. Entrez le nom complet ou le nom partiel d’un type de paramètre. Les caractères génériques sont pris en charge.
Les paramètres ParameterName et ParameterType recherchent uniquement les commandes dans la session active.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | PSTypeName[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-ShowCommandInfo
Indique que cette applet de commande affiche des informations de commande.
Ce paramètre a été introduit dans Windows PowerShell 5.0.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Syntax
Indique que cette applet de commande obtient uniquement les données spécifiées suivantes sur la commande :
- Alias. Obtient le nom standard.
- Applets de commande. Obtient la syntaxe.
- Fonctions et filtres. Obtient la définition de la fonction.
- Scripts et applications ou fichiers. Obtient le chemin d’accès et le nom de fichier.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-TotalCount
Spécifie le nombre de commandes à obtenir. Vous pouvez utiliser ce paramètre pour limiter la sortie d’une commande.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Verb
Spécifie un tableau de verbes de commande. Cette applet de commande obtient des commandes, qui incluent des applets de commande, des fonctions et des alias, qui ont des noms qui incluent le verbe spécifié. Entrez un ou plusieurs verbes ou modèles de verbes. Les caractères génériques sont autorisés.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
Entrées
Vous pouvez diriger les noms de commandes vers cette applet de commande.
Sorties
Cette applet de commande retourne des objets dérivés de la classe CommandInfo Get-Command
obtient.
Représente des alias.
Représente les applications et les fichiers.
Représente les applets de commande.
Représente les fonctions et les filtres.
Représente les flux de travail.
Notes
- Lorsque plusieurs commandes portant le même nom sont disponibles pour la session,
Get-Command
retourne la commande qui s’exécute lorsque vous tapez le nom de la commande. Pour obtenir les commandes portant le même nom, répertoriées dans l’ordre d’exécution, utilisez le paramètre Tous les. Pour plus d’informations, consultez about_Command_Precedence. - Lorsqu’un module est importé automatiquement, l’effet est identique à l’utilisation de l’applet de commande
Import-Module
. Le module peut ajouter des commandes, des types et des fichiers de mise en forme, et exécuter des scripts dans la session. Pour activer, désactiver et configurer l’importation automatique de modules, utilisez la variable de préférence$PSModuleAutoLoadingPreference
. Pour plus d’informations, consultez about_Preference_Variables.