Get-Command
Získá všechny příkazy.
Syntax
CmdletSet (Výchozí)
Get-Command
[[-ArgumentList] <Object[]>]
[-Verb <String[]>]
[-Noun <String[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[-All]
[-ListImported]
[-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>]
[<CommonParameters>]
AllCommandSet
Get-Command
[[-Name] <String[]>]
[[-ArgumentList] <Object[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[-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říkazů importovaných z jiných relací. Pokud chcete získat pouze příkazy importované 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 PowerShell v proměnné prostředí Cesta ($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 importuje 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 předvoleb $PSModuleAutoLoadingPreference. Další informace najdete v části about_Preference_Variables.
Get-Command získá data přímo z příkazového kódu, na rozdíl od Get-Help, který získá informace z témat nápovědy.
Ve Windows PowerShellu 5.0 se ve výchozím nastavení ve výsledcích rutiny Get-Command 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, funkce a aliasy PowerShellu 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 jmenné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 AppLockeru, který do aktuální relace přidá všechny příkazy v modulu AppLockeru.
Get-Command Get-AppLockerPolicy
Když se modul naimportuje automaticky, efekt je stejný jako použití Import-Module rutiny.
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 předvoleb $PSModuleAutoLoadingPreference. Další informace najdete v části about_Preference_Variables.
Příklad 6: Získání syntaxe rutiny
Tento příkaz používá parametry
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 poskytovatel certifikátu přidá do rutiny dynamický parametr Get-ChildItemCert.
Další informace o zprostředkovateli 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á funkci Get-DynamicParameters k získání dynamických parametrů, které zprostředkovatel certifikátu přidá do rutiny Get-ChildItem 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 lze přidat do rutiny jinou rutinou nebo poskytovatelem.
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ě k 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 s parametrem, jehož název zahrnuje ověřování a jehož typ je AuthenticationMechanism.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
Pomocí podobného příkazu můžete najít rutiny, které umožňují zadat metodu použitou k ověření uživatele.
Parametr ParameterType rozlišuje parametry, které berou AuthenticationMechanism hodnotu z hodnot, 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žívat rutinu Get-Command s aliasem.
Get-Command dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
I když se obvykle používá u rutin a funkcí, Get-Command získává také skripty, funkce, aliasy a spustitelné soubory.
Výstup příkazu zobrazuje speciální zobrazení hodnoty vlastnosti Name aliasů. Zobrazení zobrazuje alias a úplný název příkazu.
Příklad 11: Získání všech instancí příkazu Poznámkový blok
Tento příklad používá parametr All rutiny Get-Command 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 v relaci existuje více příkazů se stejným názvem.
Počínaje windows PowerShellem 3.0 ve výchozím nastavení, pokud relace obsahuje více příkazů se stejným názvem, Get-Command získá pouze příkaz, který se spustí při zadání názvu příkazu. S parametrem All získá Get-Command všechny příkazy se zadaným názvem a vrátí je v pořadí priorit provádění. Pokud chcete spustit jiný příkaz než první 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 pochází rutina Get-Date.
Příkaz používá vlastnost ModuleName všech příkazů.
(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
Tento formát příkazu funguje na příkazech v modulech PowerShellu, i když se do relace neimportují.
Příklad 13: Získání rutin a funkcí s výstupním typem
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 rutiny Where-Object, která vybere pouze ty, ve kterých je vyplněna vlastnost OutputType.
Jiný operátor kanálu odešle vybrané objekty rutiny do rutiny Format-List, která zobrazí název a výstupní typ každé rutiny v seznamu.
Vlastnost OutputType objektu CommandInfo má nenulovou hodnotu 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 najde rutiny, které jako vstup přebírají objekty net adapteru. Tento formát příkazu můžete použít k vyhledání rutin, které přijímají typ objektů, které vrací libovolný příkaz.
Příkaz používá PSTypeNames vnitřní vlastnost všech objektů, což získá typy popisované objektu. Pokud chcete získat vlastnost PSTypeNames síťového adaptéru, nikoli vlastnost PSTypeNames kolekce síťových adaptérů, příkaz pomocí zápisu pole získá první síťový adaptér, který rutina vrátí. Pokud chcete získat vlastnost PSTypeNames síťového adaptéru, nikoli vlastnost PSTypeNames kolekce síťových adaptérů, příkaz pomocí zápisu pole 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í Get-Command získá pouze příkazy, 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 ke spuštění, když má více příkazů stejný název, najdete v tématu about_Command_Precedence. Informace o názvechpříkazůch about_Modulesch
Tento parametr byl představen ve Windows PowerShellu 3.0.
Ve Windows PowerShellu 2.0 Get-Command ve výchozím nastavení získá všechny příkazy.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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 pro ArgumentList je Args.
Chcete-li zjistit dynamické parametry, které jsou k dispozici pouze v případě 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 na jednotce zprostředkovatele, například WSMan:, HKLM:, nebo Cert:. Pokud je příkazem rutina zprostředkovatele PowerShellu, zadejte do každého příkazu jenom jednu cestu. Rutiny zprostředkovatele vrátí pouze dynamické parametry pro první cestu hodnotu ArgumentList. Informace o rutinách zprostředkovatele najdete v tématu about_Providers.
Vlastnosti parametru
| Typ: | Object[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Argumenty |
Sady parametrů
(All)
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | 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, Typ. Ve výchozím nastavení Get-Command získá všechny rutiny, funkce a aliasy.
Přijatelné hodnoty pro tento parametr jsou:
- Přezdívka Získá aliasy všech příkazů PowerShellu. Další informace viz about_Aliases.
- Všichni. Získá všechny typy příkazů. Tato hodnota parametru je ekvivalentem
Get-Command *. - Aplikace. Získá jiné soubory než PowerShell v cestách uvedených v proměnné prostředí Path ($env:path), včetně .txt, .exea .dll souborů. Další informace o proměnné prostředí Path naleznete v tématu about_Environment_Variables.
- Rutina. Získá všechny rutiny.
- Externí skript. Získá všechny .ps1 soubory v cestách uvedených v proměnné prostředí Cesta ($env:path).
- Filter a Function. Získá všechny pokročilé a jednoduché funkce a filtry PowerShellu.
- Skript. Získá všechny bloky skriptu. K získání skriptů PowerShellu (.ps1 souborů) použijte hodnotu ExternalScript.
- Pracovní postup Získá všechny pracovní postupy. Další informace o pracovních postupech naleznete v tématu Úvod k pracovnímu postupu prostředí Windows PowerShell.
Vlastnosti parametru
| Typ: | CommandTypes |
| Default value: | None |
| Přípustné hodnoty: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Typ |
Sady parametrů
AllCommandSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-FullyQualifiedModule
Určuje moduly s názvy, které jsou určeny ve formě ModuleSpecification objektů, které jsou popsány v části PoznámkyModuleSpecification 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 Module. Oba parametry se vzájemně vylučují.
Vlastnosti parametru
| Typ: | ModuleSpecification[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-ListImported
Označuje, že tato rutina získá pouze příkazy v aktuální relaci.
Počínaje PowerShellem 3.0 ve výchozím nastavení Get-Command získá všechny nainstalované příkazy, včetně příkazů v aktuální relaci, ale nikoli pouze na ně. V PowerShellu 2.0 získá pouze příkazy v aktuální relaci.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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 hodnota tohoto parametru může být také PSModuleInfo nebo PSSnapinInfo objekt, například objekty, které Get-Modulevrací , Get-PSSnapina Import-PSSession rutiny.
Na tento parametr můžete odkazovat jeho názvem, modulem nebo jeho aliasem PSSnapin. Zvolený název parametru nemá žádný vliv na výstup příkazu.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
| Aliasy: | PSSnapin |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Name
Určuje pole názvů. Tato rutina získá pouze příkazy, které mají zadaný název. Zadejte název nebo vzor názvu. Jsou povoleny zástupné znaky.
Pokud chcete získat příkazy se stejným názvem, použijte parametr All. Pokud mají ve výchozím nastavení dva příkazy stejný název, Get-Command získá příkaz, který se spustí při zadání názvu příkazu.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
AllCommandSet
| Position: | 0 |
| Povinné: | False |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Noun
Určuje pole podstatných jmen příkazů. Tato rutina získá příkazy, které zahrnují rutiny, funkce a aliasy, které obsahují názvy, které obsahují zadané podstatné jméno. Zadejte jedno nebo více jmenných jmen nebo vzorů podstatných jmen. Jsou povoleny zástupné znaky.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
CmdletSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-ParameterName
Určuje pole názvů parametrů. Tato rutina získá příkazy v relaci se zadanými parametry. Zadejte názvy parametrů nebo aliasy parametrů. Zástupné znaky jsou podporovány.
ParametrName a ParametrType parametry prohledávají pouze příkazy v aktuální relaci.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ParameterType
Určuje pole názvů parametrů. Tato rutina získá příkazy v relaci, které mají parametry zadaného typu. Zadejte úplný název nebo částečný název typu parametru. Zástupné znaky jsou podporovány.
ParametrName a ParametrType parametry prohledávají pouze příkazy v aktuální relaci.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Vlastnosti parametru
| Typ: | PSTypeName[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ShowCommandInfo
Označuje, že tato rutina zobrazuje informace o příkazu.
Tento parametr byl představen ve Windows PowerShellu 5.0.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Syntax
Označuje, že tato rutina získá pouze následující zadaná data o příkazu:
- Aliasy. Získá standardní název.
- Rutiny. Získá syntaxi.
- Funkce a filtry Získá definici funkce.
- Skripty a aplikace nebo soubory Získá cestu a název souboru.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | Int32 |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Verb
Určuje pole příkazů. Tato rutina získá příkazy, které zahrnují rutiny, funkce a aliasy, které obsahují názvy, které obsahují zadanou operaci. Zadejte jedno nebo více sloves nebo slovesných vzorů. Jsou povoleny zástupné znaky.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
CmdletSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
K této rutině můžete generovat názvy příkazů.
Výstupy
CommandInfo
Tato rutina vrací objekty odvozené z třídy CommandInfo. Typ vráceného objektu závisí na typu příkazu, který Get-Command získá.
AliasInfo
Představuje aliasy.
ApplicationInfo
Představuje aplikace a soubory.
CmdletInfo
Představuje rutiny.
FunctionInfo
Představuje funkce a filtry.
WorkflowInfo
Představuje pracovní postupy.
Poznámky
- Pokud je pro relaci k dispozici více než jeden příkaz se stejným názvem,
Get-Commandvrá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. - Když se modul naimportuje automaticky, efekt je stejný jako použití
Import-Modulerutiny. 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 předvoleb$PSModuleAutoLoadingPreference. Další informace najdete v části about_Preference_Variables.