Get-Command
Získá všechny příkazy.
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
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 naleznete v tématu 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 naleznete v tématu 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 Get-ChildItem
dynamický parametr CodeSigningCert.
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.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | Object[] |
Aliasy: | Args |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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:
- Alias. Získá aliasy všech příkazů PowerShellu. Další informace naleznete v tématu 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.
- ExternalScript. 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.
Typ: | CommandTypes |
Aliasy: | Type |
Přípustné hodnoty: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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í.
Typ: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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-Module
, Get-PSSnapin
a Import-PSSession
rutiny vrátí.
Na tento parametr můžete odkazovat jeho názvem, modulnebo aliasem, PSSnapin. Zvolený název parametru nemá žádný vliv na výstup příkazu.
Typ: | String[] |
Aliasy: | PSSnapin |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-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.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-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.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-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ů. Podporují se zástupné znaky.
ParametrName a ParametrType parametry prohledávají pouze příkazy v aktuální relaci.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-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. Podporují se zástupné znaky.
ParametrName a ParametrType parametry prohledávají pouze příkazy v aktuální relaci.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | PSTypeName[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-ShowCommandInfo
Označuje, že tato rutina zobrazuje informace o příkazu.
Tento parametr byl představen ve Windows PowerShellu 5.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
Vstupy
K této rutině můžete generovat 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
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. - 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 naleznete v tématu about_Preference_Variables.