Megosztás a következőn keresztül:


Get-Command

Lekéri az összes parancsot.

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

A Get-Command parancsmag lekéri a számítógépre telepített összes parancsot, beleértve a parancsmagokat, aliasokat, függvényeket, szűrőket, szkripteket és alkalmazásokat. Get-Command lekéri a más munkamenetekből importált PowerShell-modulok és parancsok parancsát. Ha csak az aktuális munkamenetbe importált parancsokat szeretné lekérni, használja a ListImported paramétert .

Paraméterek Get-Command nélkül az összes parancsmagot, függvényt és aliast telepíti a számítógépre. Get-Command * lekéri az összes parancstípust, beleértve az összes nem PowerShell-fájlt az Elérési út környezeti változóban ($env:Path), amelyet az alkalmazás parancstípusában listáz.

Get-Command amely a parancs pontos nevét használja helyettesítő karakterek nélkül, automatikusan importálja a parancsot tartalmazó modult, hogy azonnal használni tudja a parancsot. A modulok automatikus importálásának engedélyezéséhez, letiltásához és konfigurálásához használja a beállítási változót $PSModuleAutoLoadingPreference . További információ: about_Preference_Variables.

Get-Command az adatokat közvetlenül a parancskódból szerzi be, ellentétben Get-Helpa súgótémakörökből származó információkkal.

A Windows PowerShell 5.0-tól kezdődően a Get-Command parancsmag eredménye alapértelmezés szerint egy Verzió oszlopot jelenít meg. Új Verzió tulajdonság lett hozzáadva a CommandInfo osztályhoz.

Példák

1. példa: Parancsmagok, függvények és aliasok lekérése

Ez a parancs lekéri a számítógépre telepített PowerShell-parancsmagokat, függvényeket és aliasokat.

Get-Command

2. példa: Parancsok lekérése az aktuális munkamenetben

Ez a parancs a ListImported paramétert használja csak az aktuális munkamenet parancsainak lekéréséhez.

Get-Command -ListImported

3. példa: Parancsmagok lekérése és sorrendben való megjelenítése

Ez a parancs lekéri az összes parancsmagot, betűrendbe rendezi őket a parancsmag neve alapján, majd főnévalapú csoportokban jeleníti meg őket. Ez a kijelző segít megtalálni a feladat parancsmagjait.

Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun

4. példa: Parancsok lekérése egy modulban

Ez a parancs a Modul paramétert használja a Microsoft.PowerShell.Security és a Microsoft.PowerShell.Utility modulok parancsainak lekéréséhez.

Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility

5. példa: Parancsmaggal kapcsolatos információk lekérése

Ez a parancs információt kap a Get-AppLockerPolicy parancsmagról. Importálja az AppLocker modult is, amely hozzáadja az AppLocker modul összes parancsát az aktuális munkamenethez.

Get-Command Get-AppLockerPolicy

Amikor egy modul automatikusan importálódik, az effektus megegyezik az Import-Module parancsmaggal. A modul parancsokat, típusokat és formázási fájlokat adhat hozzá, és szkripteket futtathat a munkamenetben. A modulok automatikus importálásának engedélyezéséhez, letiltásához és konfigurálásához használja a beállítási változót $PSModuleAutoLoadingPreference . További információ: about_Preference_Variables.

6. példa: Parancsmag szintaxisának lekérése

Ez a parancs az Argumentumlista és a Szintaxis paramétereket használja a parancsmag szintaxisának Get-ChildItem lekéréséhez, amikor azt a Cert: meghajtóban használják. A Tanúsítvány: meghajtó egy PowerShell-meghajtó, amelyet a tanúsítványszolgáltató hozzáad a munkamenethez.

Get-Command  -Name Get-Childitem -Args Cert: -Syntax

Ha összehasonlítja a kimenetben megjelenő szintaxist az Args (Argumentumlista) paraméter kihagyásakor megjelenő szintaxissal, látni fogja, hogy a tanúsítványszolgáltató hozzáad egy dinamikus paramétert, a CodeSigningCertet a Get-ChildItem parancsmaghoz.

További információ a tanúsítványszolgáltatóról: about_Certificate_Provider.

7. példa: Dinamikus paraméterek lekérése

A példában szereplő parancs a Get-DynamicParameters függvény használatával lekéri azokat a dinamikus paramétereket, amelyeket a tanúsítványszolgáltató hozzáad a Get-ChildItem parancsmaghoz, amikor a Tanúsítvány: meghajtóban használják.

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

A Get-DynamicParameters példában szereplő függvény lekéri egy parancsmag dinamikus paramétereit. Ez az előző példában használt módszer alternatíva. A dinamikus paramétert egy másik parancsmag vagy szolgáltató adhat hozzá egy parancsmaghoz.

8. példa: Minden típusú parancs lekérése

Ez a parancs lekéri a helyi számítógépen található összes parancsot, beleértve a végrehajtható fájlokat is a Path környezeti változó ($env:path) elérési útjaiban.

Get-Command *

Minden fájlhoz egy ApplicationInfo objektumot (System.Management.Automation.ApplicationInfo) ad vissza, nem fileInfo objektumot (System.IO.FileInfo).

9. példa: Parancsmagok lekérése paraméternév és típus használatával

Ez a parancs lekéri azokat a parancsmagokat, amelyek olyan paraméterrel rendelkeznek, amelynek a neve hitelesítést tartalmaz, és amelynek típusa AuthenticationMechanism.

Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism

Az ehhez hasonló parancsokkal megkeresheti azokat a parancsmagokat, amelyek lehetővé teszik a felhasználó hitelesítéséhez használt metódus megadását.

A ParameterType paraméter megkülönbözteti azokat a paramétereket, amelyek az AuthenticationMechanism értéket veszik fel az AuthenticationLevel paramétert használó paraméterektől, még akkor is, ha hasonló nevük van.

10. példa: Alias lekérése

Ez a példa bemutatja, hogyan használható a Get-Command parancsmag aliassal.

Get-Command -Name dir

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Alias           dir -> Get-ChildItem

Bár általában parancsmagokon és függvényeken használják, Get-Command szkripteket, függvényeket, aliasokat és végrehajtható fájlokat is kap.

A parancs kimenete az aliasok Név tulajdonságértékének speciális nézetét jeleníti meg. A nézetben az alias és a teljes parancsnév látható.

11. példa: A Jegyzettömb parancs összes példányának lekérése

Ez a példa a Get-Command parancsmag All paraméterével jeleníti meg a Notepad parancs összes példányát a helyi számítógépen.

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

A Minden paraméter akkor hasznos, ha a munkamenetben egynél több, azonos nevű parancs található.

A Windows PowerShell 3.0-tól kezdődően alapértelmezés szerint, ha a munkamenet több, azonos nevű parancsot tartalmaz, Get-Command csak a parancsnév beírásakor futó parancsot kapja meg. A Minden paraméterrel lekéri az összes parancsot a megadott névvel, Get-Command és végrehajtási sorrendben adja vissza őket. Ha nem a lista első parancsát szeretné futtatni, írja be a parancs teljes elérési útját.

További információ a parancsok elsőbbségéről: about_Command_Precedence.

12. példa: Parancsmagot tartalmazó modul nevének lekérése

Ez a parancs lekéri annak a modulnak a nevét, amelyből a Get-Date parancsmag származik. A parancs az összes parancs ModuleName tulajdonságát használja.

(Get-Command Get-Date).ModuleName

Microsoft.PowerShell.Utility

Ez a parancsformátum akkor is működik a PowerShell-modulokban lévő parancsokon, ha nem importálja őket a munkamenetbe.

13. példa: Kimeneti típusú parancsmagok és függvények lekérése

Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType

Ez a parancs lekéri a kimeneti típusú parancsmagokat és függvényeket, valamint az általuk visszaadott objektumok típusát.

A parancs első része az összes parancsmagot lekéri. A folyamatkezelő (|) elküldi a parancsmagokat a Where-Object parancsmagnak, amely csak azokat választja ki, amelyekben az OutputType tulajdonság ki van töltve. Egy másik folyamatkezelő elküldi a kijelölt parancsmagobjektumokat a Format-List parancsmagnak, amely megjeleníti az egyes parancsmagok nevét és kimeneti típusát egy listában.

A CommandInfo-objektumok OutputType tulajdonsága csak akkor rendelkezik null értékű értékkel, ha a parancsmag kódja meghatározza a parancsmag OutputType attribútumát.

14. példa: Egy adott objektumtípust bemenetként használó parancsmagok lekérése

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

Ez a parancs megkeresi azokat a parancsmagokat, amelyek bemenetként fogadják a hálózati adapter objektumait. Ezzel a parancsformátummal megkeresheti azokat a parancsmagokat, amelyek elfogadják a parancs által visszaadott objektumtípust.

A parancs az összes objektum PSTypeNames belső tulajdonságát használja, amely lekéri az objektumot leíró típusokat. Ha egy hálózati adapter PSTypeNames tulajdonságát szeretné lekérni, és nem a hálózati adapterek gyűjteményének PSTypeNames tulajdonságát, a parancs tömbjegyzetet használ a parancsmag által visszaadott első nettó adapter lekéréséhez. Ha egy hálózati adapter PSTypeNames tulajdonságát szeretné lekérni, és nem a hálózati adapterek gyűjteményének PSTypeNames tulajdonságát, a parancs tömbjegyzetet használ a parancsmag által visszaadott első nettó adapter lekéréséhez.

Paraméterek

-All

Azt jelzi, hogy ez a parancsmag minden parancsot lekéri, beleértve az azonos típusú, azonos nevű parancsokat is. Alapértelmezés szerint csak azokat a parancsokat kapja meg, Get-Command amelyek a parancsnév beírásakor futnak.

Ha többet szeretne tudni arról a módszerről, amelyet a PowerShell használ a futtatandó parancs kiválasztásához, ha több parancs neve azonos, tekintse meg a about_Command_Precedence. A modul által minősített parancsnevekről és a névütközés miatt alapértelmezés szerint nem futtatott parancsokról a about_Modules talál további információt.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

A Windows PowerShell 2.0-ban Get-Command alapértelmezés szerint lekéri az összes parancsot.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-ArgumentList

Argumentumtömböt ad meg. Ez a parancsmag információt kér le egy parancsmagról vagy függvényről, amikor a megadott paraméterekkel ("argumentumokkal") együtt használják. Az Argumentumlista aliasa az Args.

Ha olyan dinamikus paramétereket szeretne észlelni, amelyek csak bizonyos más paraméterek használatakor érhetők el, állítsa az Argumentumlista értékét a dinamikus paramétereket kiváltó paraméterekre.

A szolgáltató által a parancsmaghoz hozzáadott dinamikus paraméterek észleléséhez állítsa az Argumentumlista paraméter értékét a szolgáltató meghajtójának elérési útjának (például WSMan:, HKLM:vagy Cert:) értékére. Ha a parancs PowerShell-szolgáltatói parancsmag, minden parancsban csak egy elérési utat adjon meg. A szolgáltatói parancsmagok csak az argumentumlista értékének első elérési útjának dinamikus paramétereit adja vissza. A szolgáltatói parancsmagokkal kapcsolatos információkért lásd : about_Providers.

Típus:Object[]
Aliasok:Args
Position:1
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-CommandType

Megadja a parancsmag által lekért parancstípusokat. Adjon meg egy vagy több parancstípust. Használja a CommandType vagy annak aliasát, a Type parancsot. Alapértelmezés szerint Get-Command lekéri az összes parancsmagot, függvényt és aliast.

A paraméter elfogadható értékei a következők:

  • Alias: Lekéri az összes PowerShell-parancs aliasát. További információ: about_Aliases.

  • All: Lekéri az összes parancstípust. Ez a paraméter értéke a következőnek felel meg Get-Command *: .

  • Application: Lekéri a nem PowerShell-fájlokat az Elérési út környezeti változóban ($env:path), beleértve .txta , .exeés .dll a fájlokat is. A Path környezeti változóval kapcsolatos további információkért lásd: about_Environment_Variables.

  • Cmdlet: Lekéri az összes parancsmagot.

  • ExternalScript: Az Elérési út környezeti változóban ($env:path) felsorolt elérési utak összes .ps1 fájlját lekéri.

  • Filter és Function: Lekéri az összes PowerShell-függvényt és -szűrőt.

  • Script: Lekéri az összes szkriptblokkot. PowerShell-szkriptek (.ps1 fájlok) lekéréséhez használja az ExternalScript értéket.

  • Workflow: Lekéri az összes munkafolyamatot. A munkafolyamatokról további információt a Windows PowerShell-munkafolyamat bemutatása című témakörben talál.

Ezek az értékek jelölőalapú számbavételként vannak definiálva. Több érték kombinálásával több jelölőt is beállíthat ezzel a paraméterrel. Az értékek átadhatók a CommandType paraméternek értéktömbként vagy az értékek vesszővel elválasztott sztringjeként. A parancsmag bináris VAGY művelettel egyesíti az értékeket. Az értékek tömbként való átadása a legegyszerűbb lehetőség, és lehetővé teszi a tabulátorkiegészítés használatát is az értékeken.

Típus:CommandTypes
Aliasok:Type
Elfogadott értékek:Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-FullyQualifiedModule

Az érték lehet egy modul neve, egy teljes modul specifikációja vagy egy modulfájl elérési útja.

Ha az érték egy elérési út, az elérési út teljes mértékben minősített vagy relatív lehet. A relatív elérési út feloldása a használandó utasítást tartalmazó szkripthez képest történik.

Ha az érték egy név vagy egy modul specifikációja, a PowerShell megkeresi a PSModulePath-t a megadott modulban.

A modulspecifikáció egy kivonatoló, amely a következő kulcsokkal rendelkezik.

  • ModuleName - A Kötelező a modul nevét adja meg.

  • GUID - Nem kötelező : A modul GUID azonosítója.

  • Emellett az alábbi három kulcs közül legalább egyet meg kell adnia.

    • ModuleVersion – A modul minimálisan elfogadható verzióját adja meg.

    • MaximumVersion – Meghatározza a modul maximálisan elfogadható verzióját.

    • RequiredVersion – A modul pontos, kötelező verzióját adja meg. Ez nem használható a többi Verzió billentyűvel.

Nem adhatja meg a Teljesen minősítettmodule paramétert ugyanabban a parancsban, mint egy modulparaméter . A két paraméter kölcsönösen kizárja egymást.

Típus:ModuleSpecification[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-ListImported

Azt jelzi, hogy ez a parancsmag csak az aktuális munkamenet parancsait kapja meg.

A PowerShell 3.0-tól kezdve alapértelmezés szerint Get-Command az összes telepített parancsot megkapja, beleértve, de nem kizárólagosan az aktuális munkamenetben lévő parancsokat. A PowerShell 2.0-ban csak az aktuális munkamenet parancsai lesznek lekérve.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Module

Modulok tömbjének megadása. Ez a parancsmag lekéri a megadott modulokból vagy beépülő modulokból származó parancsokat. Adja meg a modulok vagy beépülő modulok nevét.

Ez a paraméter sztringértékeket vesz fel, de ennek a paraméternek az értéke lehet PSModuleInfo vagy PSSnapinInfo objektum is, például az objektumok, amelyeket a Get-Module, Get-PSSnapinés Import-PSSession a parancsmagok visszaadnak.

Erre a paraméterre hivatkozhat a neve, a Modul vagy az aliasa, a PSSnapin alapján. A választott paraméternévnek nincs hatása a parancs kimenetére.

Típus:String[]
Aliasok:PSSnapin
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

-Name

Egy névtömböt ad meg. Ez a parancsmag csak a megadott névvel rendelkező parancsokat kapja meg. Adjon meg egy nevet vagy névmintát. A helyettesítő karakterek használata engedélyezett.

Az azonos nevű parancsok lekéréséhez használja a Minden paramétert. Ha két parancs neve megegyezik, alapértelmezés szerint Get-Command a parancsnév beírásakor futó parancs lesz lekérve.

Típus:String[]
Position:0
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

-Noun

A parancsnevek tömbjének megadása. Ez a parancsmag parancsokat kap, amelyek olyan parancsmagokat, függvényeket és aliasokat tartalmaznak, amelyek neve tartalmazza a megadott főnevet. Adjon meg egy vagy több főnevet vagy főnévmintát. A helyettesítő karakterek használata engedélyezett.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

-ParameterName

Paraméternevek tömbjének megadása. Ez a parancsmag a megadott paraméterekkel rendelkező munkamenet parancsait kapja meg. Adjon meg paraméterneveket vagy paraméter aliasokat. A helyettesítő karakterek támogatottak.

A ParameterName és a ParameterType paraméterek csak az aktuális munkamenet parancsait keresik.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-ParameterType

Paraméternevek tömbjének megadása. Ez a parancsmag olyan parancsokat kap a munkamenetben, amelyek a megadott típusú paraméterekkel rendelkeznek. Adja meg egy paramétertípus teljes nevét vagy részleges nevét. A helyettesítő karakterek támogatottak.

A ParameterName és a ParameterType paraméterek csak az aktuális munkamenet parancsait keresik.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Típus:PSTypeName[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-ShowCommandInfo

Azt jelzi, hogy ez a parancsmag parancsinformációkat jelenít meg.

Ezt a paramétert a Windows PowerShell 5.0-ban vezettük be.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Syntax

Azt jelzi, hogy ez a parancsmag csak a következő megadott adatokat kapja meg a parancsról:

  • Az aliasok a szokásos nevet kapják.
  • Parancsmagok. Lekéri a szintaxist.
  • Függvények és szűrők. Lekéri a függvénydefiníciót.
  • Szkriptek és alkalmazások vagy fájlok. Lekéri az elérési utat és a fájlnevet.
Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-TotalCount

Megadja a lekérendő parancsok számát. Ezzel a paraméterrel korlátozhatja a parancsok kimenetét.

Típus:Int32
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Verb

Parancsparancsok tömbjének megadása. Ez a parancsmag parancsokat kap, amelyek olyan parancsmagokat, függvényeket és aliasokat tartalmaznak, amelyek neve tartalmazza a megadott igét. Adjon meg egy vagy több igét vagy igemintát. A helyettesítő karakterek használata engedélyezett.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

Bevitelek

String

Ehhez a parancsmaghoz parancsneveket fűzhet.

Kimenetek

CommandInfo

Ez a parancsmag a CommandInfo osztályból származó objektumokat adja vissza. A visszaadott objektum típusa a kapott parancs Get-Command típusától függ.

AliasInfo

Aliasokat jelöl.

ApplicationInfo

Alkalmazásokat és fájlokat jelöl.

CmdletInfo

Parancsmagokat jelöl.

FunctionInfo

Függvényeket és szűrőket jelöl.

WorkflowInfo

Munkafolyamatokat jelöl.

Jegyzetek

A Windows PowerShell a következő aliasokat Get-Commandtartalmazza:

  • gcm

  • Ha egynél több, azonos nevű parancs érhető el a munkamenetben, Get-Command a parancsnév beírásakor futó parancsot adja vissza. Az azonos nevű parancsok futtatási sorrendben való lekéréséhez használja a Minden paramétert. További információ: about_Command_Precedence.

  • Amikor egy modul automatikusan importálódik, az effektus ugyanaz, mint a Import-Module parancsmag használata. A modul parancsokat, típusokat és formázási fájlokat adhat hozzá, és szkripteket futtathat a munkamenetben. A modulok automatikus importálásának engedélyezéséhez, letiltásához és konfigurálásához használja a beállítási változót $PSModuleAutoLoadingPreference . További információ: about_Preference_Variables.