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 Get-Command
de commande 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 qui ont été 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 afin que vous puissiez utiliser la commande immédiatement. Pour activer, désactiver et configurer l’importation automatique de modules, utilisez la $PSModuleAutoLoadingPreference
variable de préférence. Pour plus d’informations, consultez about_Preference_Variables.
Get-Command
obtient ses données directement à partir du code de commande, contrairement Get-Help
à ce qui obtient ses informations à partir de rubriques d’aide.
À compter de Windows PowerShell 5.0, les résultats de l’applet Get-Command
de commande 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 permet d’obtenir les cmdlets, fonctions et 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, et les affiche ensuite dans des groupes basés sur le nom. 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 pour obtenir les commandes dans les modules Microsoft.PowerShell.Security et Microsoft.PowerShell.Utility.
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 Get-AppLockerPolicy
commande. 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, puis exécuter des scripts dans la session. Pour activer, désactiver et configurer l’importation automatique de modules, utilisez la $PSModuleAutoLoadingPreference
variable de préférence. 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 et Syntax pour obtenir la syntaxe de l’applet Get-ChildItem
de commande lorsqu’elle est utilisée dans le lecteur Cert : . Le lecteur Cert : est un lecteur PowerShell que le fournisseur de certificats ajoute à la session.
Get-Command -Name 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 Args (ArgumentList), vous verrez que le fournisseur de certificats ajoute un paramètre dynamique, CodeSigningCert, à l’applet Get-ChildItem
de commande.
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 Get-DynamicParameters
fonction pour obtenir les paramètres dynamiques ajoutés par le fournisseur de certificats à l’applet Get-ChildItem
de commande lorsqu’il est utilisé dans le lecteur Cert : .
function Get-DynamicParameters
{
param ($Cmdlet, $PSDrive)
(Get-Command -Name $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 Get-DynamicParameters
fonction de 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. Un 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 de la variable d’environnement Path ($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 de paramètre et d’un type
Cette commande obtient les 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 vous servir d'une commande similaire à celle-ci pour rechercher les 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 de ceux 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 Get-Command
de commande avec un alias.
Get-Command -Name 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é Name pour les alias. L'affichage montre l'alias et le nom de commande complet.
Exemple 11 : Obtenir toutes les instances de la commande Bloc-notes
Cet exemple utilise le paramètre All de l’applet Get-Command
de commande pour afficher toutes les instances de la Notepad
commande 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 All 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 autre commande que la première de la liste, tapez le chemin d'accès 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 Get-Date
de commande 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, ainsi que le type d'objet qu'elles 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 Where-Object
de commande, 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 Format-List
de commande, 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 pour 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 acceptent des objets de carte réseau en entrée. Vous pouvez utiliser ce format de commande pour rechercher les applets de commande qui acceptent le type d'objet retourné par une commande.
La commande utilise la propriété intrinsèque PSTypeNames 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 par 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 Args.
Pour détecter les paramètres dynamiques disponibles uniquement lorsque certains autres paramètres sont utilisés, définissez la valeur d’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 d’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 commande. Utilisez CommandType ou son alias, Type. Par défaut, Get-Command
obtient toutes les applets de commande, fonctions et alias.
Les valeurs valides pour ce paramètre sont :
Alias
: obtient les alias de toutes les commandes PowerShell. Pour plus d’informations, consultez about_Aliases.All
: obtient tous les types de commandes. Cette valeur de paramètre est l’équivalent deGet-Command *
.Application
: Obtient des fichiers non PowerShell dans les chemins d’accès répertoriés dans la variable d’environnement Path ($env:path
, y compris.txt
,.exe
et.dll
les fichiers). Pour plus d’informations sur la variable d’environnement Path , consultez about_Environment_Variables.Cmdlet
: obtient toutes les applets de commande.ExternalScript
: obtient tous les fichiers dans les.ps1
chemins d’accès répertoriés dans la variable d’environnement Path ($env:path
).Filter
etFunction
: Obtient toutes les fonctions et filtres avancés powerShell et simples.Script
: obtient tous les blocs de script. Pour obtenir des scripts PowerShell (.ps1
fichiers), utilisez laExternalScript
valeur.Workflow
: obtient tous les flux de travail. Pour plus d’informations sur les flux de travail, consultez Présentation du flux de travail Windows PowerShell.
Ces valeurs sont définies comme une énumération basée sur des indicateurs. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être passées au paramètre CommandType en tant que tableau de valeurs ou sous forme de chaîne séparées par des virgules de ces valeurs. L’applet de commande combine les valeurs à l’aide d’une opération binary-OR. La transmission de valeurs en tant que tableau est l’option la plus simple et vous permet également d’utiliser la saisie semi-automatique sous forme de tabulation sur les valeurs.
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
La valeur peut être un nom de module, une spécification complète du module ou un chemin d’accès à un fichier de module.
Lorsque la valeur est un chemin d’accès, le chemin d’accès peut être qualifié ou relatif complet. Un chemin relatif est résolu par rapport au script qui contient l’instruction using.
Lorsque la valeur est un nom ou une spécification de module, PowerShell recherche PSModulePath pour le module spécifié.
Une spécification de module est une table de hachage qui a les clés suivantes.
ModuleName
- Obligatoire Spécifie le nom du module.GUID
- Facultatif Spécifie le GUID du module.Il est également nécessaire de spécifier au moins l’une des trois clés ci-dessous.
ModuleVersion
- Spécifie une version minimale acceptable du module.MaximumVersion
- Spécifie la version maximale acceptable du module.RequiredVersion
- Spécifie une version exacte et requise du module. Cela ne peut pas être utilisé avec les autres clés de version.
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 un objet PSModuleInfo ou PSSnapinInfo, tel que les objets retournés par les Get-Module
Get-PSSnapin
applets de commande.Import-PSSession
Vous pouvez faire référence à ce paramètre par son nom, module ou par son alias, PSSnapin. Le nom de 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 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 . Le type d’objet retourné dépend du type de commande qui Get-Command
obtient.
Représente des alias.
Représente les applications et les fichiers.
Représente des applets de commande.
Représente les fonctions et les filtres.
Représente les flux de travail.
Notes
Windows PowerShell inclut les alias suivants pour Get-Command
:
gcm
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 All . Pour plus d’informations, consultez about_Command_Precedence.Lorsqu’un module est importé automatiquement, l’effet est identique à l’utilisation de l’applet de
Import-Module
commande. Le module peut ajouter des commandes, des types et des fichiers de mise en forme, puis exécuter des scripts dans la session. Pour activer, désactiver et configurer l’importation automatique de modules, utilisez la$PSModuleAutoLoadingPreference
variable de préférence. Pour plus d’informations, consultez about_Preference_Variables.