Get toutes les commandes.
Syntaxe
Get-Command >] >] >] >] <Object>] >] >]
Get-Command <String>] >] >] <Object>] >] >]
Description
Le Get-Command
cmdlet obtient toutes les commandes installées sur l’ordinateur, y compris les cmdlets,alias, fonctions, filtres, scripts et applications. Get-Command
obtient les commandes des modulesPowerShell et les commandes qui ont été importées d’autres sessions. Pour obtenir uniquement les commandes qui ont été importées dans la session actuelle, utilisez le paramètre ListImported.
Sans paramètres, Get-Command
obtient tous les cmdlets, 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’elle 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 l’utiliser immédiatement. Pour activer,désactiver et configurer l’importation automatique des modules, utilisez la variable $PSModuleAutoLoadingPreference
préférence. Pour plus d’informations, consultez la section about_Preference_Variables.
Get-Command
tire ses données directement du code de la commande, contrairement à Get-Help
, qui tire ses informations des rubriques d’aide.
Depuis Windows PowerShell 5.0, les résultats de la Get-Command
cmdlet affichent une colonne Versionpar défaut. Une nouvelle propriété Version a été ajoutée à la classe CommandInfo.
Exemples
Exemple 1 : Obtenir les cmdlets, fonctions et alias
Cette commande obtient les cmdlets, fonctions et alias PowerShell installés sur l’ordinateur.
Get-Command
Exemple 2 : obtenir les commandes de la session actuelle
Cette commande utilise le paramètre ListImported pour obtenir uniquement les commandes de la session actuelle.
Get-Command -ListImported
Exemple 3 : Obtenir les cmdlets et les afficher dans l’ordre
Cette commande obtient tous les cmdlets, les classe par ordre alphabétique selon le nom dans le nom du cmdlet, puis les affiche dans des groupes basés sur le nom. Cet affichage peut vous aider à trouver les cmdlets pour une tâche.
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
Exemple 4 : Obtenir les commandes dans un module
Cette commande utilise le paramètre Module pour obtenir les commandes dans les modules Microsoft.PowerShell.Securityet Microsoft.PowerShell.Utility.
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Exemple 5 : obtenir des informations sur un cmdlet
Cette commande obtient des informations sur le Get-AppLockerPolicy
cmdlet. Elle importe également le moduleAppLocker, qui ajoute toutes les commandes du module AppLocker à la session courante.
Get-Command Get-AppLockerPolicy
Lorsqu’un module est importé automatiquement, l’effet est le même qu’en utilisant la cmdlet Import-Module.Le module peut ajouter des commandes, des types et des fichiers de formatage, et exécuter des scripts dans la session. Pour activer,désactiver et configurer l’importation automatique des modules, utilisez la variable $PSModuleAutoLoadingPreference
préférence. Pour plus d’informations, voir about_Preference_Variables.
Exemple 6 : obtenir la syntaxe d’un cmdlet
Cette commande utilise les paramètres ArgumentList et Syntaxe pour obtenir la syntaxe du Get-ChildItem
cmdlet lorsqu’il est utilisé 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 celle qui est affichée lorsque vous omettez le paramètre Args (ArgumentList), vous verrez que le fournisseur de certificats ajoute unparamètre dynamique, CodeSigningCert, à la cmdlet Get-ChildItem
.
Pour plus d’informations sur le fournisseur de certificats, voir 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 que le fournisseur de certificats ajoute au cmdlet Get-ChildItem
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 fonction Get-DynamicParameters
de cet exemple obtient les paramètres dynamiques d’un cmdlet. C’est une alternative à la méthode utilisée dans l’exemple précédent. Le paramètre dynamique peut être ajouté à une cmdlet par une autre cmdlet ou un fournisseur.
Exemple 8 : Obtenir toutes les commandes de tous types
Cette commande obtient toutes les commandes de tous types sur l’ordinateur local, y compris les fichiers exécutables dans les chemins de la variable d’environnement Path ($env:path
).
Get-Command *
Elle renvoie un objet ApplicationInfo (System.Management.Automation.ApplicationInfo) pour chaque fichier, et non un objet FileInfo (System.IO.FileInfo).
Exemple 9 : Obtenir des cmdlets en utilisant un nom et un type de paramètre
Cette commande obtient les cmdlets qui ont un paramètre dont le nom comprend Auth et dont le type estAuthenticationMechanism.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
Vous pouvez utiliser une commande comme celle-ci pour trouver les cmdlets 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 s’ils ont des noms similaires.
Exemple 10 : obtenir un alias
Cet exemple montre comment utiliser le cmdlet Get-Command
avec un alias.
Get-Command -Name dirCommandType Name ModuleName----------- ---- ----------Alias dir -> Get-ChildItem
Bien qu’elle soit généralement utilisée sur les cmdlets et les fonctions, Get-Command
obtient également des scripts, des fonctions,des alias et des fichiers exécutables.
La sortie de la commande montre la vue spéciale de la valeur de la propriété Name pour les alias. La vue montre l’alias et le nom complet de la commande.
Exemple 11 : Obtenir la syntaxe d’un alias
Cet exemple montre comment obtenir la syntaxe en même temps que le nom standard d’un alias.
La sortie de la commande montre l’alias étiqueté avec le nom standard, suivi de la syntaxe.
Get-Command -Name dir -Syntaxdir (alias) -> Get-ChildItemdir <string>] <string>] >] >] >] dir <string>] -LiteralPath <string> >] >] >]
Exemple 12 : obtenir toutes les instances de la commande Notepad
Cet exemple utilise le paramètre All du cmdlet Get-Command
pour afficher toutes les instances de la commandeNotepad
sur l’ordinateur local.
Get-Command Notepad -All | Format-Table CommandType, Name, DefinitionCommandType Name Definition----------- ---- ----------Application notepad.exe C:\WINDOWS\system32\notepad.exeApplication NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE
Le paramètre All est utile lorsqu’il y a plus d’une commande avec le même nom dans la session.
Depuis Windows PowerShell 3.0, par défaut, lorsque la session comprend plusieurs commandes avec 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 portant le nom spécifié et les renvoie dans l’ordre de priorité d’exécution. Pour exécuter une commande autre que la première de la liste, tapez le chemin d’accès entièrement qualifié de la commande.
Pour plus d’informations sur la préséance des commandes, voir about_Command_Precedence.
Exemple 13 : obtenir le nom d’un module qui contient un cmdlet
Cette commande obtient le nom du module dans lequel le Get-Date
cmdlet a pris naissance.La commande utilise la propriété ModuleName de toutes les commandes.
(Get-Command Get-Date).ModuleNameMicrosoft.PowerShell.Utility
Ce format de commande fonctionne sur les commandes des modules PowerShell, même si elles ne sont pas importées dans la session.
Exemple 14 : Obtenir les cmdlets et les fonctions qui ont un type de sortie
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Cette commande obtient les cmdlets 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 tous les cmdlets. Un opérateur de pipeline (|
) envoie les cmdlets à la cmdletWhere-Object
, qui ne sélectionne que ceux dans lesquels la propriété OutputType estpopulée. Un autre opérateur de pipeline envoie les objets cmdlet sélectionnés au cmdlet Format-List
,qui affiche le nom et le type de sortie de chaque cmdlet dans une liste.
La propriété OutputType d’un objet CommandInfo a une valeur non nulle uniquement lorsque le cmdletcode définit l’attribut OutputType pour le cmdlet.
Exemple 15 : Obtenir les cmdlets qui prennent un type d’objet spécifique en entrée
Get-Command -ParameterType (((Get-NetAdapter)).PSTypeNames)CommandType Name ModuleName----------- ---- ----------Function Disable-NetAdapter NetAdapterFunction Enable-NetAdapter NetAdapterFunction Rename-NetAdapter NetAdapterFunction Restart-NetAdapter NetAdapterFunction Set-NetAdapter NetAdapter
Cette commande trouve les cmdlets qui prennent des objets d’adaptateur réseau en entrée. Vous pouvez utiliser ce format de commande pour trouver les cmdlets qui acceptent le type d’objets que toute commande renvoie.
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’un adaptateur de réseau, et non la propriétéPSTypeNames d’une collection d’adaptateurs de réseau, la commande utilise la notation de tableau pour obtenir lepremier adaptateur de réseau que le cmdlet renvoie.
Exemple 16 : Obtenir des commandes à l’aide d’une correspondance floue
Dans cet exemple, le nom de la commande comporte délibérément une faute de frappe sous la forme ‘get-commnd’.À l’aide du commutateur -UseFuzzyMatching
, le cmdlet a déterminé que la meilleure correspondance était Get-Command
suivie d’autres commandes natives du système qui présentaient une correspondance similaire.
Get-Command get-commnd -UseFuzzyMatchingCommandType Name Version Source----------- ---- ------- ------Cmdlet Get-Command 6.2.0.0 Microsoft.PowerShell.CoreApplication getconf 0.0.0.0 /usr/bin/getconfApplication command 0.0.0.0 /usr/bin/command
Paramètres
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 que PowerShell utilise pour sélectionner la commande à exécuter lorsque plusieurs commandes portent le même nom, consultez about_Command_Precedence.Pour plus d’informations sur les noms de commande qualifiés de module et sur l’exécution de commandes qui ne s’exécutent pas par défaut en raison d’un conflit de noms, voir 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 : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | True | Acceptation des caractères génériques: | False |
Spécifie un tableau d’arguments. Ce cmdlet obtient des informations sur un cmdlet ou une fonction lorsqu’il est utilisé avec les paramètres (« arguments ») spécifiés. L’alias pour ArgumentList est Args.
Pour détecter les paramètres dynamiques qui ne sont disponibles que 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 à un cmdlet, définissez la valeur du paramètreArgumentList sur un chemin d’accès dans le lecteur du fournisseur, tel que WSMan :, HKLM : ou Cert :. Lorsque la commande est une cmdlet de fournisseur PowerShell, ne saisissez qu’un seul chemin dans chaque commande. Les cmdlets du fournisseur ne renvoient que les paramètres dynamiques du premier chemin, la valeur de ArgumentList. Pour obtenir des informations sur les cmdlets de fournisseur, consultez la section about_Providers.
Type: | Objet |
Alias: | Args |
Position : | 1 |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | False | Acceptation des caractères génériques : | False |
Spécifie les types de commandes que cette cmdlet obtient. Saisissez un ou plusieurs types de commandes. UtilisezCommandType ou son alias, Type. Par défaut, Get-Command
obtient toutes les cmdlets, fonctions et alias.
Les valeurs acceptables pour ce paramètre sont :
- Alias. Obtient les alias de toutes les commandes PowerShell. Pour plus d’informations, voir about_Aliases.
- Tout. Obtient tous les types de commandes. Cette valeur de paramètre est l’équivalent de
Get-Command *
. - Application. Obtient les fichiers non-PowerShell dans les chemins répertoriés dans la variable d’environnement Path ($env:path), notamment les fichiers .txt, .exe et .dll. Pour plus d’informations sur la variable d’environnementPath, voir about_Environment_Variables.
- Cmdlet. Obtient tous les cmdlets.
- 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 tous les filtres PowerShell avancés et simples.
- Scripts. Obtient tous les blocs de script. Pour obtenir les scripts PowerShell (fichiers .ps1), utilisez la valeur ExternalScript.
Type: | CommandTypes |
Aliases: | Type |
Valeurs acceptées : | Alias, Fonction, Filtre, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, Tous | Position: | Nommé | Valeur par défaut : | None |
Acceptation de l’entrée pipeline: | True |
Acceptation des caractères génériques : | False |
Spécifie les modules dont les noms sont spécifiés sous la forme d’objets ModuleSpecification,décrits dans la section Remarques du Constructeur de 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 Moduleparameter. Les deux paramètres s’excluent mutuellement.
Type: | ModuleParamètre |
Position : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | True | Acceptation des caractères génériques : | False |
Indique que cette cmdlet obtient uniquement les commandes de la session actuelle.
Dès 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 actuelle. Dans PowerShell 2.0, il obtient uniquement les commandes de la session actuelle.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | SwitchParameter |
Position : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | True | Acceptation des caractères génériques: | False |
Spécifie un tableau de modules. Ce cmdlet obtient les commandes provenant des modules spécifiés.Saisissez les noms des modules ou des objets de module.
Ce paramètre prend des valeurs de type chaîne, mais la valeur de ce paramètre peut également être un PSModuleInfoobject, comme les objets que les cmdlets Get-Module
et Import-PSSession
renvoient.
Type: | Chaîne | Alias: | PSSnapin |
Position: | Nommé | Valeur par défaut : | None |
Acceptation de l’entrée pipeline : | True |
Acceptation des caractères génériques : | True |
Spécifie un tableau de noms. Cette cmdlet obtient uniquement les commandes qui ont le nom spécifié. Saisissez un nom ou un motif 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: | Chaîne |
Position: | 0 |
Valeur par défaut: | None |
Acceptation de l’entrée pipeline : | True |
Acceptation des caractères génériques : | True |
Spécifie un tableau de noms de commandes. Ce cmdlet obtient les commandes, qui incluent les cmdlets, les fonctions et les alias, dont les noms incluent le nom spécifié. Saisissez un ou plusieurs noms ou modèles de noms. Les caractères génériques sont autorisés.
Type: | Chaîne |
Position : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | True |
Acceptation des caractères génériques : | True |
Spécifie un tableau de noms de paramètres. Ce cmdlet obtient les commandes de la session qui ont les paramètres spécifiés. Saisissez les noms de paramètres ou les alias de paramètres. Les caractères génériques sont pris en charge.
Les paramètres ParameterName et ParameterType recherchent uniquement les commandes de la session actuelle.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | Chaîne |
ParameterName : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | False | Acceptation des caractères génériques: | True |
Spécifie un tableau de noms de paramètres. Ce cmdlet obtient les commandes de la session qui ont des paramètresdu type spécifié. Saisissez 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 de la session actuelle.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | PSTypeName |
ParameterName : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | False | Acceptation des caractères génériques : | True |
Indique que ce cmdlet affiche des informations sur les commandes.
Ce paramètre a été introduit dans Windows PowerShell 5.0.
Type: | SwitchParameter | Position : | Nommé |
Valeur par défaut : | None | Acceptation de l’entrée pipeline : | False | Acceptation des caractères génériques : | False |
Indique que ce cmdlet obtient uniquement les données spécifiées suivantes concernant la commande :
- Alias. Obtient le nom et la syntaxe 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 du fichier.
Type: | SwitchParameter |
Position : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | True | Acceptation des caractères génériques : | False |
Spécifie le nombre de commandes à obtenir. Vous pouvez utiliser ce paramètre pour limiter la sortie d’une commande.
Type: | Int32 |
Position: | Nommé |
Valeur par défaut : | None |
Acceptation de l’entrée pipeline: | True |
Acceptation des caractères génériques : | False |
Indique l’utilisation de la correspondance des caractères dans la commande pour trouver avec des caractères majuscules dans une commande. Par exemple, i-psdf
correspondrait à Import-PowerShellDataFile
car chacun des caractères à trouver correspond à un caractère majuscule dans le résultat. Lors de l’utilisation de ce type de correspondance, tout caractère générique ne donnera lieu à aucune correspondance.
Type: | SwitchParameter | Position : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | True | Acceptation des caractères génériques: | False |
Indique l’utilisation d’un algorithme de correspondance floue lors de la recherche de commandes. L’ordre de sortie va de la correspondance la plus proche à la correspondance la moins probable. Les caractères génériques ne doivent pas être utilisés avec la correspondance floue car elle tentera de faire correspondre les commandes qui peuvent contenir ces caractères génériques.
Type: | SwitchParameter | Position : | Nommé |
Valeur par défaut : | None | Acceptation de l’entrée pipeline : | False | Acceptation des caractères génériques: | False |
Spécifie un tableau de verbes de commande. Ce cmdlet obtient les commandes, qui incluent les cmdlets, les fonctions et les alias, dont les noms incluent le verbe spécifié. Saisissez un ou plusieurs verbes ou modèles de verbes. Les caractères génériques sont autorisés.
Type: | Chaîne |
Position : | Nommé |
Valeur par défaut : | None | Acceptation des entrées du pipeline : | True | Acceptation des caractères génériques : | True |
Entrées
String
Vous pouvez acheminer des noms de commandes à cette cmdlet.
Sorties
CommandInfo
Ce cmdlet renvoie des objets dérivés de la classe CommandInfo. Le type d’objet qui estrenvoyé dépend du type de commande que Get-Command
obtient.
AliasInfo
Représente les alias.
ApplicationInfo
Représente les applications et les fichiers.
CmdletInfo
Représente les cmdlets.
FunctionInfo
Représente les fonctions et les filtres.
Notes
- Lorsque plus d’une commande portant le même nom est disponible pour la session,
Get-Command
renvoie la commande qui s’exécute lorsque vous tapez le nom de la commande. Pour obtenir les commandes portant le même nom, classées par ordre d’exécution, utilisez le paramètre All. Pour plus d’informations, voirabout_Command_Precedence. - Lorsqu’un module est importé automatiquement, l’effet est le même qu’en utilisant le
Import-Module
cmdlet. Le module peut ajouter des commandes, des types et des fichiers de formatage, et exécuter des scripts dans la session.Pour activer, désactiver et configurer l’importation automatique des modules, utilisez la variable de préférence$PSModuleAutoLoadingPreference
. Pour plus d’informations, consultez la rubriqueà propos des_Variables_de_préférence.
- Exportation-PSSession
- Get-Help
- Get-Member
- Get-PSDrive
- Import-PSSession
- à propos de la_Précédence_des_commandes
.