Sdílet prostřednictvím


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 ArgumentList a Syntaxe k získání syntaxe rutiny při použití v jednotce Cert: . Certifikát: jednotka je jednotka PowerShellu, kterou zprostředkovatel 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 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-PSSnapina 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

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