Get-Command
Získá všechny příkazy.
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[]>]
[<CommonParameters>]
Description
Rutina Get-Command
získá všechny příkazy nainstalované v počítači, včetně rutin, aliasů, funkcí, filtrů, skriptů a aplikací. Get-Command
získá příkazy z modulů PowerShellu a příkazy, které byly importovány z jiných relací. Pokud chcete získat pouze příkazy, které byly importovány do aktuální relace, použijte parametr ListImported .
Bez parametrů Get-Command
získá všechny rutiny, funkce a aliasy nainstalované v počítači. Get-Command *
získá všechny typy příkazů, včetně všech souborů mimo Prostředí PowerShell v proměnné prostředí Path ($env:Path
), které jsou uvedeny v typu příkazu Aplikace.
Get-Command
, který používá přesný název příkazu bez zástupných znaků, automaticky naimportuje modul obsahující příkaz, abyste mohli příkaz okamžitě použít. Pokud chcete povolit, zakázat a nakonfigurovat automatický import modulů, použijte proměnnou $PSModuleAutoLoadingPreference
předvoleb. Další informace najdete v tématu about_Preference_Variables.
Get-Command
získává data přímo z kódu příkazu, na rozdíl od Get-Help
, který získává informace z témat nápovědy.
Od Windows PowerShell 5.0 se ve výsledcích Get-Command
rutiny ve výchozím nastavení zobrazí sloupec Verze. Do třídy CommandInfo byla přidána nová vlastnost Version.
Příklady
Příklad 1: Získání rutin, funkcí a aliasů
Tento příkaz získá rutiny PowerShellu, funkce a aliasy nainstalované v počítači.
Get-Command
Příklad 2: Získání příkazů v aktuální relaci
Tento příkaz používá parametr ListImported k získání pouze příkazů v aktuální relaci.
Get-Command -ListImported
Příklad 3: Získání rutin a jejich zobrazení v pořadí
Tento příkaz získá všechny rutiny, seřadí je abecedně podle podstatného jména v názvu rutiny a pak je zobrazí ve skupinách založených na podstatných jménech. Toto zobrazení vám může pomoct najít rutiny pro úlohu.
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
Příklad 4: Získání příkazů v modulu
Tento příkaz používá parametr Module k získání příkazů v modulech Microsoft.PowerShell.Security a Microsoft.PowerShell.Utility.
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Příklad 5: Získání informací o rutině
Tento příkaz získá informace o rutině Get-AppLockerPolicy
. Importuje také modul AppLocker , který přidá všechny příkazy v modulu AppLockeru do aktuální relace.
Get-Command Get-AppLockerPolicy
Při automatickém importu modulu je efekt stejný jako při použití rutiny Import-Module.
Modul může přidávat příkazy, typy a formátovací soubory a spouštět skripty v relaci. Pokud chcete povolit, zakázat a nakonfigurovat automatický import modulů, použijte proměnnou $PSModuleAutoLoadingPreference
předvolby. Další informace najdete v tématu about_Preference_Variables.
Příklad 6: Získání syntaxe rutiny
Tento příkaz používá parametry ArgumentList a Syntax k získání syntaxe Get-ChildItem
rutiny při použití v jednotce Cert: . Jednotka Cert: je jednotka PowerShellu, kterou poskytovatel certifikátu přidá do relace.
Get-Command Get-Childitem -Args Cert: -Syntax
Když porovnáte syntaxi zobrazenou ve výstupu se syntaxí, která se zobrazí při vynechání parametru Args (ArgumentList), uvidíte, že zprostředkovatel certifikátu přidá do Get-ChildItem
rutiny dynamický parametr CodeSigningCert.
Další informace o poskytovateli certifikátů najdete v tématu about_Certificate_Provider.
Příklad 7: Získání dynamických parametrů
Příkaz v příkladu používá Get-DynamicParameters
funkci k získání dynamických parametrů, které zprostředkovatel certifikátu přidá do Get-ChildItem
rutiny při použití v jednotce 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
Funkce Get-DynamicParameters
v tomto příkladu získá dynamické parametry rutiny. Toto je alternativa k metodě použité v předchozím příkladu. Dynamický parametr může do rutiny přidat jiná rutina nebo poskytovatel.
Příklad 8: Získání všech příkazů všech typů
Tento příkaz získá všechny příkazy všech typů v místním počítači, včetně spustitelných souborů v cestě proměnné prostředí Path ($env:path
).
Get-Command *
Vrátí objekt ApplicationInfo (System.Management.Automation.ApplicationInfo) pro každý soubor, nikoli objekt FileInfo (System.IO.FileInfo).
Příklad 9: Získání rutin pomocí názvu
Tento příkaz získá rutiny, které mají parametr, jehož název zahrnuje Auth a jejichž typ je AuthenticationMechanism.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
Pomocí příkazu, jako je tento, můžete najít rutiny, které vám umožní určit metodu, která se použije k ověření uživatele.
Parametr ParameterType rozlišuje parametry, které přebírají hodnotu AuthenticationMechanism , od těch, které přebírají parametr AuthenticationLevel , i když mají podobné názvy.
Příklad 10: Získání aliasu
Tento příklad ukazuje, jak použít rutinu Get-Command
s aliasem.
Get-Command dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
I když se obvykle používá v rutinách a funkcích, Get-Command
získá také skripty, funkce, aliasy a spustitelné soubory.
Výstup příkazu zobrazuje speciální zobrazení hodnoty vlastnosti Name pro aliasy. V zobrazení se zobrazí alias a úplný název příkazu.
Příklad 11: Získání všech instancí příkazu Poznámkového bloku
Tento příklad používá parametr Get-Command
All rutiny k zobrazení všech instancí příkazu Poznámkový blok v místním počítači.
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
Parametr All je užitečný, pokud je v relaci více než jeden příkaz se stejným názvem.
Počínaje Windows PowerShell 3.0 ve výchozím nastavení, pokud relace obsahuje více příkazů se stejným názvem, získá pouze příkaz, Get-Command
který se spustí při zadání názvu příkazu. Pomocí parametru Get-Command
All získá všechny příkazy se zadaným názvem a vrátí je v pořadí priority provádění. Pokud chcete spustit jiný příkaz než první příkaz v seznamu, zadejte plně kvalifikovanou cestu k příkazu.
Další informace o prioritě příkazů najdete v tématu about_Command_Precedence.
Příklad 12: Získání názvu modulu, který obsahuje rutinu
Tento příkaz získá název modulu, ze kterého rutina Get-Date
pochází.
Příkaz používá vlastnost ModuleName všech příkazů.
(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
Tento formát příkazu funguje s příkazy v modulech PowerShellu, i když se do relace neimportují.
Příklad 13: Získání rutin a funkcí, které mají typ výstupu
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Tento příkaz získá rutiny a funkce, které mají výstupní typ a typ objektů, které vrací.
První část příkazu získá všechny rutiny.
Operátor kanálu (|) odešle rutiny do Where-Object
rutiny, která vybere pouze ty, ve kterých je naplněna vlastnost OutputType .
Jiný operátor kanálu odešle vybrané objekty rutiny do Format-List
rutiny, která zobrazí název a typ výstupu každé rutiny v seznamu.
Vlastnost OutputType objektu CommandInfo má hodnotu nenulovou pouze v případě, že kód rutiny definuje atribut OutputType pro rutinu.
Příklad 14: Získání rutin, které jako vstup přebírají konkrétní typ objektu
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
Tento příkaz vyhledá rutiny, které jako vstup přebírají objekty net adapter. Tento formát příkazu můžete použít k vyhledání rutin, které přijímají typ objektů, které jakýkoli příkaz vrací.
Příkaz používá vnitřní vlastnost PSTypeNames všech objektů, která získá typy, které popisují objekt. Aby příkaz získal vlastnost PSTypeNames síťového adaptéru, nikoli vlastnost PSTypeNames kolekce síťových adaptérů, pomocí maticové notace získá první síťový adaptér, který rutina vrátí. Aby příkaz získal vlastnost PSTypeNames síťového adaptéru, nikoli vlastnost PSTypeNames kolekce síťových adaptérů, pomocí maticové notace získá první síťový adaptér, který rutina vrátí.
Parametry
-All
Označuje, že tato rutina získá všechny příkazy, včetně příkazů stejného typu, které mají stejný název. Ve výchozím nastavení získá pouze příkazy, Get-Command
které se spustí při zadání názvu příkazu.
Další informace o metodě, kterou PowerShell používá k výběru příkazu, který se má spustit, když má více příkazů stejný název, najdete v tématu about_Command_Precedence. Informace o názvech příkazů kvalifikovaných pro modul a spuštěných příkazech, které se ve výchozím nastavení nespouštějí kvůli konfliktu názvů, najdete v tématu about_Modules.
Tento parametr byl zaveden v Windows PowerShell 3.0.
V Windows PowerShell 2.0 Get-Command
získá ve výchozím nastavení všechny příkazy.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ArgumentList
Určuje pole argumentů. Tato rutina získá informace o rutině nebo funkci při použití se zadanými parametry ("argumenty"). Alias argumentu ArgumentList je Args.
Chcete-li zjistit dynamické parametry, které jsou k dispozici pouze při použití určitých dalších parametrů, nastavte hodnotu ArgumentList na parametry, které aktivují dynamické parametry.
Pokud chcete zjistit dynamické parametry, které zprostředkovatel přidá do rutiny, nastavte hodnotu parametru ArgumentList na cestu v jednotce zprostředkovatele, například WSMan:, HKLM:, nebo Cert:. Pokud je příkaz rutinou zprostředkovatele PowerShellu, zadejte do každého příkazu jenom jednu cestu. Rutiny zprostředkovatele vrací pouze dynamické parametry pro první cestu hodnotu ArgumentList. Informace o rutinách zprostředkovatele najdete v tématu about_Providers.
Type: | Object[] |
Aliases: | Args |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CommandType
Určuje typy příkazů, které tato rutina získá. Zadejte jeden nebo více typů příkazů. Použijte CommandType nebo jeho alias Type. Ve výchozím nastavení Get-Command
získá všechny rutiny, funkce a aliasy.
Tento parametr přijímá tyto hodnoty:
- Alias. Získá aliasy všech příkazů PowerShellu. Další informace najdete v tématu about_Aliases.
- Všechny. Získá všechny typy příkazů. Tato hodnota parametru je ekvivalentem
Get-Command *
hodnoty . - Aplikace. Získá jiné než powershellové soubory v cestách uvedených v proměnné prostředí Path ($env:path), včetně souborů .txt, .exe a .dll. Další informace o proměnné prostředí Path najdete v tématu about_Environment_Variables.
- Rutina. Získá všechny rutiny.
- ExternalScript. Získá všechny soubory .ps1 v cestách uvedených v proměnné prostředí Path ($env:cesta).
- Filtr a funkce. Získá všechny pokročilé a jednoduché funkce a filtry PowerShellu.
- Skript. Získá všechny bloky skriptu. Pokud chcete získat skripty PowerShellu (.ps1 soubory), použijte hodnotu ExternalScript.
- Pracovního postupu. Získá všechny pracovní postupy. Další informace o pracovních postupech najdete v tématu Představení pracovního postupu Windows PowerShell.
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
Určuje moduly s názvy, které jsou zadány ve formě ModuleSpecification objekty, které jsou popsány v části Poznámky ModuleSpecification Konstruktor (Hashtable). Například parametr FullyQualifiedModule přijímá název modulu zadaný v jednom z následujících formátů:
@{ModuleName = "modulename"; ModuleVersion = "version_number"}
@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}
ModuleName a ModuleVersion jsou povinné, ale identifikátor GUID je volitelný.
Parametr FullyQualifiedModule nelze zadat ve stejném příkazu jako parametr modulu . Oba parametry se vzájemně vylučují.
Type: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ListImported
Označuje, že tato rutina získá pouze příkazy v aktuální relaci.
Počínaje PowerShellem 3.0 se ve výchozím nastavení Get-Command
získávají všechny nainstalované příkazy, včetně příkazů v aktuální relaci. V PowerShellu 2.0 získá jenom příkazy v aktuální relaci.
Tento parametr byl zaveden v Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Module
Určuje pole modulů. Tato rutina získá příkazy, které pocházejí ze zadaných modulů nebo modulů snap-in. Zadejte názvy modulů nebo modulů snap-in.
Tento parametr přebírá řetězcové hodnoty, ale hodnotou tohoto parametru může být také objekt PSModuleInfo nebo PSSnapinInfo , například objekty, které Get-Module
rutiny , Get-PSSnapin
a Import-PSSession
vrací.
Na tento parametr můžete odkazovat jeho názvem Module nebo jeho aliasem PSSnapin. Název parametru, který zvolíte, nemá žádný vliv na výstup příkazu.
Type: | String[] |
Aliases: | PSSnapin |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Name
Určuje pole názvů. Tato rutina získá jenom příkazy, které mají zadaný název. Zadejte název nebo vzor názvu. Zástupné znaky jsou povolené.
Pokud chcete získat příkazy se stejným názvem, použijte parametr All . Pokud dva příkazy mají ve výchozím nastavení stejný název, získá příkaz, Get-Command
který se spustí při zadání názvu příkazu.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Noun
Určuje pole podstatných jmen příkazů. Tato rutina získá příkazy, které zahrnují rutiny, funkce a aliasy s názvy, které obsahují zadané podstatné jméno. Zadejte jedno nebo více podstatných jmen nebo vzorů podstatných jmen. Zástupné znaky jsou povolené.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-ParameterName
Určuje pole názvů parametrů. Tato rutina získá příkazy v relaci, které mají zadané parametry. Zadejte názvy parametrů nebo aliasy parametrů. Zástupné znaky jsou podporovány.
Parametry ParameterName a ParameterType prohledávají pouze příkazy v aktuální relaci.
Tento parametr byl zaveden v Windows PowerShell 3.0.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-ParameterType
Určuje pole názvů parametrů. Tato rutina získá v relaci příkazy, které mají parametry zadaného typu. Zadejte úplný název nebo částečný název typu parametru. Zástupné znaky jsou podporovány.
Parametry ParameterName a ParameterType prohledávají pouze příkazy v aktuální relaci.
Tento parametr byl zaveden v Windows PowerShell 3.0.
Type: | PSTypeName[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-ShowCommandInfo
Označuje, že tato rutina zobrazuje informace o příkazu.
Tento parametr byl zaveden v Windows PowerShell 5.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Syntax
Označuje, že tato rutina získá pouze následující zadaná data o příkazu:
- Aliasy. Získá standardní název.
- Rutin. Získá syntaxi.
- Funkce a filtry. Získá definici funkce.
- Skripty a aplikace nebo soubory. Získá cestu a název souboru.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TotalCount
Určuje počet příkazů, které se mají získat. Tento parametr můžete použít k omezení výstupu příkazu.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Verb
Určuje pole příkazových sloves. Tato rutina získá příkazy, mezi které patří rutiny, funkce a aliasy, které mají názvy, které obsahují zadané sloveso. Zadejte jedno nebo více sloves nebo vzorů sloves. Zástupné znaky jsou povolené.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Vstupy
Do této rutiny můžete zadat názvy příkazů.
Výstupy
Tato rutina vrací objekty odvozené z třídy CommandInfo . Typ vráceného objektu závisí na typu příkazu, který Get-Command
se získá.
Představuje aliasy.
Představuje aplikace a soubory.
Představuje rutiny.
Představuje funkce a filtry.
Představuje pracovní postupy.
Poznámky
- Pokud je pro relaci k dispozici více než jeden příkaz se stejným názvem,
Get-Command
vrátí příkaz, který se spustí při zadání názvu příkazu. Pokud chcete získat příkazy se stejným názvem, které jsou uvedené v pořadí spuštění, použijte parametr All . Další informace najdete v tématu about_Command_Precedence. - Při automatickém importu modulu je efekt stejný jako při použití rutiny
Import-Module
. Modul může přidávat příkazy, typy a formátovací soubory a spouštět skripty v relaci. Pokud chcete povolit, zakázat a nakonfigurovat automatický import modulů, použijte proměnnou$PSModuleAutoLoadingPreference
předvolby. Další informace najdete v tématu about_Preference_Variables.