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-Help
a 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 megGet-Command *
: .Application
: Lekéri a nem PowerShell-fájlokat az Elérési út környezeti változóban ($env:path
), beleértve.txt
a ,.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
ésFunction
: 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 azExternalScript
é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
Ehhez a parancsmaghoz parancsneveket fűzhet.
Kimenetek
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.
Aliasokat jelöl.
Alkalmazásokat és fájlokat jelöl.
Parancsmagokat jelöl.
Függvényeket és szűrőket jelöl.
Munkafolyamatokat jelöl.
Jegyzetek
A Windows PowerShell a következő aliasokat Get-Command
tartalmazza:
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.