Get-Command
Hämtar alla kommandon.
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[]>]
[-UseFuzzyMatching]
[-FuzzyMinimumDistance <UInt32>]
[-UseAbbreviationExpansion]
[<CommonParameters>]
Description
Cmdleten Get-Command
hämtar alla kommandon som är installerade på datorn, inklusive cmdletar, alias, funktioner, filter, skript och program. Get-Command
hämtar kommandona från PowerShell-moduler och kommandon som importerades från andra sessioner. Om du bara vill hämta kommandon som har importerats till den aktuella sessionen använder du parametern ListImported .
Utan parametrar Get-Command
hämtar du alla cmdletar, funktioner och alias installerade på datorn. Get-Command *
hämtar alla typer av kommandon, inklusive alla icke-PowerShell-filer i variabeln Sökvägsmiljö ($env:PATH
), som visas i kommandotypen Program.
Get-Command
som använder det exakta namnet på kommandot, utan jokertecken, importerar automatiskt modulen som innehåller kommandot så att du kan använda kommandot omedelbart. Om du vill aktivera, inaktivera och konfigurera automatisk import av moduler använder du $PSModuleAutoLoadingPreference
inställningsvariabeln. Mer information finns i about_Preference_Variables.
Get-Command
hämtar sina data direkt från kommandokoden, till skillnad från Get-Help
, som hämtar sin information från hjälpavsnitt.
Från och med Windows PowerShell 5.0 visar resultatet av cmdleten Get-Command
en versionskolumn som standard. En ny versionegenskap har lagts till i klassen CommandInfo .
Exempel
Exempel 1: Hämta cmdletar, funktioner och alias
Det här kommandot hämtar PowerShell-cmdletar, funktioner och alias som är installerade på datorn.
Get-Command
Exempel 2: Hämta kommandon i den aktuella sessionen
Det här kommandot använder parametern ListImported för att endast hämta kommandona i den aktuella sessionen.
Get-Command -ListImported
Exempel 3: Hämta cmdletar och visa dem i ordning
Det här kommandot hämtar alla cmdletar, sorterar dem alfabetiskt efter substantiv i cmdletens namn och visar dem sedan i substantivbaserade grupper. Den här visningen kan hjälpa dig att hitta cmdletarna för en uppgift.
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
Exempel 4: Hämta kommandon i en modul
Det här kommandot använder modulparametern för att hämta kommandona i modulerna Microsoft.PowerShell.Security och Microsoft.PowerShell.Utility.
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Exempel 5: Hämta information om en cmdlet
Det här kommandot hämtar information om cmdleten Get-AppLockerPolicy
. Den importerar också AppLocker-modulen , som lägger till alla kommandon i AppLocker-modulen till den aktuella sessionen.
Get-Command Get-AppLockerPolicy
När en modul importeras automatiskt är effekten densamma som med hjälp av cmdleten Import-Module.
Modulen kan lägga till kommandon, typer och formateringsfiler och köra skript i sessionen. Om du vill aktivera, inaktivera och konfigurera automatisk import av moduler använder du $PSModuleAutoLoadingPreference
inställningsvariabeln. Mer information finns i about_Preference_Variables.
Exempel 6: Hämta syntaxen för en cmdlet
Det här kommandot använder parametrarna ArgumentList och Syntax för att hämta cmdletens Get-ChildItem
syntax när den används i Cert: -enheten. Cert: -enheten är en PowerShell-enhet som certifikatprovidern lägger till i sessionen.
Get-Command -Name Get-Childitem -Args Cert: -Syntax
När du jämför syntaxen som visas i utdata med syntaxen som visas när du utelämnar parametern Args (ArgumentList) ser du att certifikatprovidern lägger till en dynamisk parameter, CodeSigningCert, i cmdletenGet-ChildItem
.
Mer information om certifikatprovidern finns i about_Certificate_Provider.
Exempel 7: Hämta dynamiska parametrar
Kommandot i exemplet använder Get-DynamicParameters
funktionen för att hämta de dynamiska parametrar som certifikatprovidern lägger till i cmdleten Get-ChildItem
när den används i Cert: -enheten.
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
Funktionen Get-DynamicParameters
i det här exemplet hämtar dynamiska parametrar för en cmdlet. Det här är ett alternativ till den metod som användes i föregående exempel. Dynamisk parameter kan läggas till i en cmdlet av en annan cmdlet eller en provider.
Exempel 8: Hämta alla kommandon av alla typer
Det här kommandot hämtar alla kommandon av alla typer på den lokala datorn, inklusive körbara filer i sökvägarna för variabeln Sökvägsmiljö ($env:PATH
).
Get-Command *
Det returnerar ett ApplicationInfo-objekt (System.Management.Automation.ApplicationInfo) för varje fil, inte ett FileInfo-objekt (System.IO.FileInfo).
Exempel 9: Hämta cmdletar med hjälp av ett parameternamn och en typ
Det här kommandot hämtar cmdletar som har en parameter vars namn inkluderar Auth och vars typ är AuthenticationMechanism.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
Du kan använda ett kommando som det här för att hitta cmdletar som gör att du kan ange den metod som används för att autentisera användaren.
Parametern ParameterType skiljer parametrar som tar ett AuthenticationMechanism-värde från de som tar en AuthenticationLevel-parameter, även om de har liknande namn.
Exempel 10: Hämta ett alias
Det här exemplet visar hur du använder cmdleten Get-Command
med ett alias.
Get-Command -Name dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
Även om den vanligtvis används på cmdletar och funktioner Get-Command
hämtar den även skript, funktioner, alias och körbara filer.
Kommandots utdata visar den särskilda vyn för egenskapsvärdet Namn för alias. Vyn visar aliaset och det fullständiga kommandonamnet.
Exempel 11: Hämta syntax från ett alias
Det här exemplet visar hur du hämtar syntaxen tillsammans med standardnamnet för ett alias.
Kommandots utdata visar det märkta aliaset med standardnamnet följt av syntaxen.
Get-Command -Name dir -Syntax
dir (alias) -> Get-ChildItem
dir [[-Path] <string[]>] [[-Filter] <string>] [-Include <string[]>] [-Exclude <string[]>] [-Recurse]
[-Depth <uint>] [-Force] [-Name] [-Attributes <FlagsExpression[FileAttributes]>] [-FollowSymlink]
[-Directory] [-File] [-Hidden] [-ReadOnly] [-System] [<CommonParameters>]
dir [[-Filter] <string>] -LiteralPath <string[]> [-Include <string[]>] [-Exclude <string[]>] [-Recurse]
[-Depth <uint>] [-Force] [-Name] [-Attributes <FlagsExpression[FileAttributes]>] [-FollowSymlink]
[-Directory] [-File] [-Hidden] [-ReadOnly] [-System] [<CommonParameters>]
Exempel 12: Hämta alla instanser av kommandot Anteckningar
I det här exemplet används parametern Alla i cmdleten Get-Command
för att visa alla instanser av Notepad
kommandot på den lokala datorn.
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
Parametern Alla är användbar när det finns fler än ett kommando med samma namn i sessionen.
Från och med Windows PowerShell 3.0 får sessionen som standard bara kommandot som körs när du skriver kommandonamnet när sessionen innehåller flera kommandon med samma namn Get-Command
. Med parametern Get-Command
Alla hämtar du alla kommandon med det angivna namnet och returnerar dem i körningspriorensordning. Om du vill köra ett annat kommando än det första i listan skriver du den fullständigt kvalificerade sökvägen till kommandot.
Mer information om kommandoprioretens finns i about_Command_Precedence.
Exempel 13: Hämta namnet på en modul som innehåller en cmdlet
Det här kommandot hämtar namnet på modulen där cmdleten Get-Date
har sitt ursprung.
Kommandot använder egenskapen ModuleName för alla kommandon.
(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
Det här kommandoformatet fungerar på kommandon i PowerShell-moduler, även om de inte importeras till sessionen.
Exempel 14: Hämta cmdletar och funktioner som har en utdatatyp
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Det här kommandot hämtar de cmdletar och funktioner som har en utdatatyp och vilken typ av objekt de returnerar.
Den första delen av kommandot hämtar alla cmdletar. En pipelineoperator (|
) skickar cmdletarna till cmdleten Where-Object
, som endast väljer de som egenskapen OutputType fylls i i. En annan pipelineoperator skickar de valda cmdlet-objekten till cmdleten Format-List
, som visar namnet och utdatatypen för varje cmdlet i en lista.
Egenskapen OutputType för ett CommandInfo-objekt har endast ett värde som inte är null när cmdlet-koden definierar attributet OutputType för cmdleten.
Exempel 15: Hämta cmdletar som använder en specifik objekttyp som indata
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
Det här kommandot hittar cmdletar som tar net adapter-objekt som indata. Du kan använda det här kommandoformatet för att hitta de cmdletar som accepterar den typ av objekt som ett kommando returnerar.
Kommandot använder den inbyggda egenskapen PSTypeNames för alla objekt, som hämtar de typer som beskriver objektet. För att hämta egenskapen PSTypeNames för ett nettokort och inte egenskapen PSTypeNames för en samling net-kort använder kommandot matriskommentering för att hämta det första nettokort som cmdleten returnerar.
Exempel 16: Hämta kommandon med en fuzzy-matchning
I det här exemplet har namnet på kommandot avsiktligt ett skrivfel som "get-commnd". Med hjälp av växeln -UseFuzzyMatching
fastställde cmdleten att den bästa matchningen följdes Get-Command
av andra interna kommandon i systemet som var en liknande matchning.
Get-Command get-commnd -UseFuzzyMatching
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-Command 6.2.0.0 Microsoft.PowerShell.Core
Application getconf 0.0.0.0 /usr/bin/getconf
Application command 0.0.0.0 /usr/bin/command
Parametrar
-All
Anger att denna cmdlet hämtar alla kommandon, inklusive kommandon av samma typ som har samma namn. Som standard Get-Command
hämtar endast de kommandon som körs när du skriver kommandonamnet.
Mer information om den ordning som PowerShell söker efter kommandon finns i about_Command_Precedence. Information om modulkvalificerade kommandonamn och körningskommandon som inte körs som standard på grund av en namnkonflikt finns i about_Modules.
Den här parametern introducerades i Windows PowerShell 3.0.
I Windows PowerShell 2.0 Get-Command
hämtar alla kommandon som standard.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ArgumentList
Anger en matris med argument. Den här cmdleten hämtar information om en cmdlet eller funktion när den används med de angivna parametrarna ("argument"). Aliaset för ArgumentList är Args.
Om du bara vill identifiera dynamiska parametrar som är tillgängliga när vissa andra parametrar används anger du värdet för ArgumentList till de parametrar som utlöser de dynamiska parametrarna.
Om du vill identifiera de dynamiska parametrar som en provider lägger till i en cmdlet anger du värdet för parametern ArgumentList till en sökväg i providerenheten, till exempel WSMan:
, HKLM:
eller Cert:
.
När kommandot är en PowerShell-provider-cmdlet anger du bara en sökväg i varje kommando. Provider-cmdletarna returnerar endast de dynamiska parametrarna för den första sökvägen värdet för ArgumentList. Information om provider-cmdletar finns i about_Providers.
Typ: | Object[] |
Alias: | Args |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CommandType
Anger vilka typer av kommandon som den här cmdleten hämtar. Ange en eller flera kommandotyper. Använd CommandType eller dess alias, Typ. Som standard Get-Command
hämtar alla cmdletar, funktioner och alias.
De acceptabla värdena för den här parametern är:
Alias
: Hämtar alias för alla PowerShell-kommandon. Mer information finns i about_Aliases.All
: Hämtar alla kommandotyper. Det här parametervärdet motsvararGet-Command *
.Application
: Söker i mappar i$env:PATH
miljövariabeln efter filer som inte kan köras i PowerShell. I Windows har körbara filer ett filnamnstillägg som visas i$env:PATHEXT
miljövariabeln. Mer information finns i about_Environment_Variables.Cmdlet
: Hämtar alla cmdletar.ExternalScript
: Hämtar alla.ps1
filer i sökvägarna som anges i variabeln Sökvägsmiljö ($env:PATH
).Filter
ochFunction
: Hämtar alla avancerade och enkla PowerShell-funktioner och filter.Script
: Hämtar alla skriptblock. Om du vill hämta PowerShell-skript (.ps1
filer) använder duExternalScript
värdet.
Dessa värden definieras som en flaggbaserad uppräkning. Du kan kombinera flera värden för att ange flera flaggor med hjälp av den här parametern. Värdena kan skickas till parametern CommandType som en matris med värden eller som en kommaavgränsad sträng av dessa värden. Cmdleten kombinerar värdena med hjälp av en binär-OR-åtgärd. Att skicka värden som en matris är det enklaste alternativet och du kan även använda tab-completion på värdena.
Typ: | CommandTypes |
Alias: | Type |
Godkända värden: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-FullyQualifiedModule
Värdet kan vara ett modulnamn, en fullständig modulspecifikation eller en sökväg till en modulfil.
När värdet är en sökväg kan sökvägen vara fullständigt kvalificerad eller relativ. En relativ sökväg matchas i förhållande till skriptet som innehåller instruktionen using.
När värdet är ett namn eller en modulspecifikation söker PowerShell i PSModulePath efter den angivna modulen.
En modulspecifikation är en hashtable som har följande nycklar.
ModuleName
- Obligatoriskt Anger modulnamnet.GUID
- Valfritt Anger GUID för modulen.Det är också Obligatoriskt att ange minst en av de tre nycklarna nedan.
ModuleVersion
– Anger en lägsta godtagbar version av modulen.MaximumVersion
– Anger den maximala godkända versionen av modulen.RequiredVersion
– Anger en exakt, nödvändig version av modulen. Detta kan inte användas med de andra versionsnycklarna.
Du kan inte ange parametern FullyQualifiedModule i samma kommando som en modulparameter . De två parametrarna är ömsesidigt uteslutande.
Typ: | ModuleSpecification[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-FuzzyMinimumDistance
Med den här parametern kan filtreringen av fuzzy-resultat vara mer eller mindre exakt. Avståndet beräknas med hjälp av algoritmen Damerau Levenshtein Distance, som anger hur många steg som matchar det ursprungliga värdet. Ett lägre avstånd är mer exakt. Ett avstånd på noll är en exakt matchning.
Typ: | UInt32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ListImported
Anger att denna cmdlet endast hämtar kommandon i den aktuella sessionen.
Från och med PowerShell 3.0 hämtas som standard Get-Command
alla installerade kommandon, inklusive, men inte begränsat till, kommandona i den aktuella sessionen. I PowerShell 2.0 hämtar den bara kommandon i den aktuella sessionen.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Module
Anger en matris med moduler. Den här cmdleten hämtar kommandona som kom från de angivna modulerna. Ange namnen på moduler eller modulobjekt.
Den här parametern tar strängvärden, men värdet för den här parametern kan också vara ett PSModuleInfo-objekt , till exempel de objekt som Get-Module
cmdletarna och Import-PSSession
returnerar.
Typ: | String[] |
Alias: | PSSnapin |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Name
Anger en matris med namn. Den här cmdleten hämtar endast kommandon som har det angivna namnet. Ange ett namn- eller namnmönster. Jokertecken tillåts.
Om du vill hämta kommandon som har samma namn använder du parametern Alla . När två kommandon har samma namn hämtar som standard Get-Command
kommandot som körs när du skriver kommandonamnet.
Typ: | String[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Noun
Anger en matris med kommando-substantiv. Den här cmdleten hämtar kommandon, som innehåller cmdletar, funktioner och alias, som har namn som innehåller det angivna substantivet. Ange ett eller flera substantiv- eller substantivmönster. Jokertecken tillåts.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-ParameterName
Anger en matris med parameternamn. Den här cmdleten hämtar kommandon i sessionen som har de angivna parametrarna. Ange parameternamn eller parameteralias. Jokertecken stöds.
Parametrarna ParameterName och ParameterType söker bara efter kommandon i den aktuella sessionen.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-ParameterType
Anger en matris med parameternamn. Den här cmdleten hämtar kommandon i sessionen som har parametrar av den angivna typen. Ange det fullständiga namnet eller det partiella namnet på en parametertyp. Jokertecken stöds.
Parametrarna ParameterName och ParameterType söker bara efter kommandon i den aktuella sessionen.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | PSTypeName[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-ShowCommandInfo
Anger att den här cmdleten visar kommandoinformation.
Den här parametern introducerades i Windows PowerShell 5.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Syntax
Anger att denna cmdlet endast hämtar följande angivna data om kommandot:
- Alias. Hämtar standardnamnet.
- Cmdletar. Hämtar syntaxen.
- Funktioner och filter. Hämtar funktionsdefinitionen.
- Skript och program eller filer. Hämtar sökvägen och filnamnet.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-TotalCount
Anger antalet kommandon som ska hämtas. Du kan använda den här parametern för att begränsa utdata för ett kommando.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-UseAbbreviationExpansion
Anger hur du använder matchning av tecknen i kommandot för att hitta med versaler i ett kommando. Skulle till exempel i-psdf
matcha Import-PowerShellDataFile
eftersom vart och ett av tecknen för att hitta matchar ett versaler i resultatet. När du använder den här typen av matchning resulterar eventuella jokertecken inte i några matchningar.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-UseFuzzyMatching
Anger hur du använder en fuzzy-matchningsalgoritm när du hittar kommandon. Ordningen på utdata är från närmaste matchning till minst sannolika matchning. Jokertecken bör inte användas med fuzzy-matchning eftersom det försöker matcha kommandon som kan innehålla dessa jokertecken.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Verb
Anger en matris med kommandoverb. Den här cmdleten hämtar kommandon, som innehåller cmdletar, funktioner och alias, som har namn som innehåller det angivna verbet. Ange ett eller flera verb eller verbmönster. Jokertecken tillåts.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
Indata
Du kan skicka kommandonamn till den här cmdleten.
Utdata
Den här cmdleten returnerar objekt som härletts från klassen CommandInfo . Vilken typ av objekt som returneras beror på vilken typ av kommando som Get-Command
hämtas.
Representerar alias.
Representerar program och filer.
Representerar cmdletar.
Representerar funktioner och filter.
Kommentarer
PowerShell innehåller följande alias för Get-Command
:
Alla plattformar:
gcm
När fler än ett kommando som har samma namn är tillgängligt för sessionen
Get-Command
returnerar kommandot som körs när du skriver kommandonamnet. Om du vill hämta kommandon som har samma namn, som anges i körningsordning, använder du parametern Alla . Mer information finns i about_Command_Precedence.När en modul importeras automatiskt är effekten densamma som med hjälp av cmdleten
Import-Module
. Modulen kan lägga till kommandon, typer och formateringsfiler och köra skript i sessionen. Om du vill aktivera, inaktivera och konfigurera automatisk import av moduler använder du$PSModuleAutoLoadingPreference
inställningsvariabeln. Mer information finns i about_Preference_Variables.