Get-Command

Obtient toutes les commandes.

Syntax

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[]>]
   [-UseFuzzyMatching]
   [<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 des commandes PowerShell qui ont été 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 autres que 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 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 récupérer 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. Elle 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 Get-Childitem -Args Cert: -Syntax

Lorsque vous comparez la syntaxe affichée dans la sortie à 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 que le fournisseur de certificats ajoute à l’applet Get-ChildItem de commande 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 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, au lieu d'un objet FileInfo (System.IO.FileInfo).

Exemple 9 : Obtenir des applets de commande à l’aide d’un nom et d’un type de paramètre

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 acceptent une valeur AuthenticationMechanism par rapport à ceux qui acceptent un paramètre AuthenticationLevel, même quand 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 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 il obtient également des scripts, des fonctions, des alias et des fichiers exécutables.

La sortie de la commande montre 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 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 All est utile quand 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 quand le code de l'applet de commande définit l'attribut OutputType de cette dernière.

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 décrivant l'objet. Pour obtenir la propriété PSTypeNames d'une carte réseau, et non la propriété PSTypeNames d'une collection de cartes réseau, la commande utilise une notation de tableau. Ainsi, elle obtient la première carte réseau retournée par l'applet de commande.

Exemple 15 : Obtenir des commandes à l’aide d’une correspondance approximative

Dans cet exemple, le nom de la commande a délibérément une faute de frappe « get-commnd ». À l’aide du -UseFuzzyMatching commutateur, l’applet de commande a déterminé que la meilleure correspondance a été Get-Command suivie d’autres commandes natives sur le système qui étaient une correspondance similaire.

Get-Command get-commnd -UseFuzzyMatching

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-Command                                        6.2.0.0    Microsoft.PowerShell.Core
Application     getconf                                            0.0.0.0    /usr/bin/getconf
Application     command                                            0.0.0.0    /usr/bin/command

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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 d'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 de fournisseur, tel que WSMan:, HKLM:ou Cert:. Lorsque la commande est une applet de commande du fournisseur PowerShell, entrez un seul chemin 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[]
Aliases:Args
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.
  • Toutes obtient tous les types de commande. Cette valeur de paramètre est l’équivalent de Get-Command *.
  • console. Obtient des fichiers non PowerShell dans les chemins répertoriés dans la variable d’environnement Path ($env:path), y compris les fichiers .txt, .exe et .dll. 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 .ps1 des chemins d'accès 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.
Type:CommandTypes
Aliases:Type
Accepted values:Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FullyQualifiedModule

Spécifie les modules avec des noms spécifiés sous la forme d’objets ModuleSpecification , décrits dans la section Notes du 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"}

ModuleNameet 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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 sans s’y limiter, les 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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Module

Spécifie un tableau de modules. Cette applet de commande obtient les commandes provenant des modules spécifiés. Entrez les noms des modules ou des objets de module.

Ce paramètre accepte des valeurs de chaîne, mais la valeur de ce paramètre peut également être un objet PSModuleInfo, tel que les objets retournés par les applets de commande et Import-PSSession les Get-Module applets de commande.

Type:String[]
Aliases:PSSnapin
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 qui ont 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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ShowCommandInfo

Indique que cette applet de commande affiche les informations de commande.

Ce paramètre a été introduit dans Windows PowerShell 5.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.
  • Cmdlets. 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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UseFuzzyMatching

Indique l’utilisation d’un algorithme de correspondance approximative lors de la recherche de commandes. L’ordre de la sortie est de la correspondance la plus proche à la correspondance la moins probable. Les caractères génériques ne doivent pas être utilisés avec des correspondances approximatives, car il tentera de faire correspondre les commandes qui peuvent contenir ces caractères génériques.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Entrées

String

Vous pouvez diriger les noms de commandes vers cette applet de commande.

Sorties

CommandInfo

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.

AliasInfo

Représente des alias.

ApplicationInfo

Représente les applications et les fichiers.

CmdletInfo

Représente des applets de commande.

FunctionInfo

Représente des fonctions et des filtres.

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 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.