Get-Command
Hiermee haalt u alle opdrachten op.
Syntaxis
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
De Get-Command
cmdlet haalt alle opdrachten op die op de computer zijn geïnstalleerd, inclusief cmdlets, aliassen, functies, filters, scripts en toepassingen.
Get-Command
haalt de opdrachten op uit PowerShell-modules en -opdrachten die zijn geïmporteerd uit andere sessies. Als u alleen opdrachten wilt ophalen die zijn geïmporteerd in de huidige sessie, gebruikt u de parameter ListImported .
Zonder parameters Get-Command
worden alle cmdlets, functies en aliassen opgehaald die op de computer zijn geïnstalleerd.
Get-Command *
haalt alle typen opdrachten op, inclusief alle niet-PowerShell-bestanden in de omgevingsvariabele Path ($env:PATH
), die worden vermeld in het opdrachttype Toepassing.
Get-Command
die gebruikmaakt van de exacte naam van de opdracht, zonder jokertekens, importeert automatisch de module die de opdracht bevat, zodat u de opdracht onmiddellijk kunt gebruiken. Als u het automatisch importeren van modules wilt inschakelen, uitschakelen en configureren, gebruikt u de $PSModuleAutoLoadingPreference
voorkeursvariabele. Zie about_Preference_Variables voor meer informatie.
Get-Command
haalt de gegevens rechtstreeks op uit de opdrachtcode, in tegenstelling tot Get-Help
, waardoor de informatie uit Help-onderwerpen wordt opgehaald.
Vanaf Windows PowerShell 5.0 worden in de resultaten van de Get-Command
cmdlet standaard een versiekolom weergegeven. Er is een nieuwe versie-eigenschap toegevoegd aan de klasse CommandInfo .
Voorbeelden
Voorbeeld 1: Cmdlets, functies en aliassen ophalen
Met deze opdracht worden de PowerShell-cmdlets, -functies en -aliassen opgehaald die op de computer zijn geïnstalleerd.
Get-Command
Voorbeeld 2: Opdrachten ophalen in de huidige sessie
Met deze opdracht wordt de parameter ListImported gebruikt om alleen de opdrachten in de huidige sessie op te halen.
Get-Command -ListImported
Voorbeeld 3: Cmdlets ophalen en weergeven in volgorde
Met deze opdracht haalt u alle cmdlets op, sorteert u ze alfabetisch op het zelfstandig naamwoord in de naam van de cmdlet en geeft u ze vervolgens weer in groepen op basis van zelfstandig naamwoorden. Met deze weergave kunt u de cmdlets voor een taak vinden.
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
Voorbeeld 4: Opdrachten ophalen in een module
Met deze opdracht wordt de moduleparameter gebruikt om de opdrachten op te halen in de modules Microsoft.PowerShell.Security en Microsoft.PowerShell.Utility.
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Voorbeeld 5: Informatie over een cmdlet ophalen
Met deze opdracht wordt informatie over de Get-AppLockerPolicy
cmdlet opgehaald. Ook wordt de AppLocker-module geïmporteerd, waarmee alle opdrachten in de AppLocker-module worden toegevoegd aan de huidige sessie.
Get-Command Get-AppLockerPolicy
Wanneer een module automatisch wordt geïmporteerd, is het effect hetzelfde als het gebruik van de cmdlet Import-Module.
De module kan opdrachten, typen en opmaakbestanden toevoegen en scripts uitvoeren in de sessie. Als u het automatisch importeren van modules wilt inschakelen, uitschakelen en configureren, gebruikt u de $PSModuleAutoLoadingPreference
voorkeursvariabele. Zie about_Preference_Variables voor meer informatie.
Voorbeeld 6: De syntaxis van een cmdlet ophalen
Met deze opdracht worden de parameters ArgumentList en Syntaxis gebruikt om de syntaxis van de Get-ChildItem
cmdlet op te halen wanneer deze wordt gebruikt in het certificaat: station. Het certificaat: station is een PowerShell-station dat de certificaatprovider aan de sessie toevoegt.
Get-Command -Name Get-Childitem -Args Cert: -Syntax
Wanneer u de syntaxis vergelijkt die in de uitvoer wordt weergegeven met de syntaxis die wordt weergegeven wanneer u de parameter Args (ArgumentList) weglaat, ziet u dat de certificaatprovider een dynamische parameter, CodeSigningCert, toevoegt aan de Get-ChildItem
cmdlet.
Zie about_Certificate_Provider voor meer informatie over de certificaatprovider.
Voorbeeld 7: Dynamische parameters ophalen
De opdracht in het voorbeeld gebruikt de Get-DynamicParameters
functie om de dynamische parameters op te halen die de certificaatprovider toevoegt aan de Get-ChildItem
cmdlet wanneer deze wordt gebruikt in het station Cert: .
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
De Get-DynamicParameters
functie in dit voorbeeld haalt de dynamische parameters van een cmdlet op. Dit is een alternatief voor de methode die in het vorige voorbeeld wordt gebruikt. Dynamische parameter kan worden toegevoegd aan een cmdlet door een andere cmdlet of een provider.
Voorbeeld 8: Alle opdrachten van alle typen ophalen
Met deze opdracht worden alle opdrachten van alle typen op de lokale computer opgehaald, inclusief uitvoerbare bestanden in de paden van de omgevingsvariabele Path ($env:PATH
).
Get-Command *
Het retourneert een ApplicationInfo-object (System.Management.Automation.ApplicationInfo) voor elk bestand, niet een FileInfo-object (System.IO.FileInfo).
Voorbeeld 9: Cmdlets ophalen met behulp van een parameternaam en -type
Met deze opdracht worden cmdlets met een parameter met de naam Auth en waarvan het type AuthenticationMechanism is.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
U kunt een opdracht zoals deze gebruiken om cmdlets te vinden waarmee u de methode kunt opgeven die wordt gebruikt om de gebruiker te verifiëren.
De parameter ParameterType onderscheidt parameters die een AuthenticationMechanism-waarde gebruiken van parameters die een AuthenticationLevel-parameter gebruiken, zelfs als ze vergelijkbare namen hebben.
Voorbeeld 10: Een alias ophalen
In dit voorbeeld ziet u hoe u de Get-Command
cmdlet gebruikt met een alias.
Get-Command -Name dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
Hoewel deze doorgaans wordt gebruikt voor cmdlets en functies, Get-Command
worden ook scripts, functies, aliassen en uitvoerbare bestanden opgeslagen.
In de uitvoer van de opdracht ziet u de speciale weergave van de waarde van de eigenschap Name voor aliassen. In de weergave worden de alias en de volledige opdrachtnaam weergegeven.
Voorbeeld 11: Alle exemplaren van de opdracht Kladblok ophalen
In dit voorbeeld wordt de parameter All van de Get-Command
cmdlet gebruikt om alle exemplaren van de Notepad
opdracht op de lokale computer weer te geven.
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
De parameter All is handig wanneer er meer dan één opdracht met dezelfde naam in de sessie is.
Vanaf Windows PowerShell 3.0 krijgt, wanneer de sessie standaard meerdere opdrachten met dezelfde naam bevat, Get-Command
alleen de opdracht die wordt uitgevoerd wanneer u de opdrachtnaam typt. Met de Get-Command
haalt u alle opdrachten op met de opgegeven naam en retourneert u deze in de volgorde van de uitvoeringsprioriteit. Als u een andere opdracht dan de eerste in de lijst wilt uitvoeren, typt u het volledig gekwalificeerde pad naar de opdracht.
Zie about_Command_Precedence voor meer informatie over prioriteit van opdrachten.
Voorbeeld 12: De naam ophalen van een module die een cmdlet bevat
Met deze opdracht wordt de naam opgehaald van de module waarin de Get-Date
cmdlet afkomstig is.
De opdracht maakt gebruik van de eigenschap ModuleName van alle opdrachten.
(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
Deze opdrachtindeling werkt op opdrachten in PowerShell-modules, zelfs als ze niet in de sessie worden geïmporteerd.
Voorbeeld 13: Cmdlets en functies ophalen met een uitvoertype
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Met deze opdracht worden de cmdlets en functies opgehaald die een uitvoertype en het type objecten hebben dat ze retourneren.
Het eerste deel van de opdracht haalt alle cmdlets op. Een pijplijnoperator (|
) verzendt de cmdlets naar de Where-Object
cmdlet, waarmee alleen de cmdlets worden geselecteerd waarin de eigenschap OutputType is ingevuld. Een andere pijplijnoperator verzendt de geselecteerde cmdlet-objecten naar de Format-List
cmdlet, waarin de naam en het uitvoertype van elke cmdlet in een lijst worden weergegeven.
De eigenschap OutputType van een CommandInfo-object heeft alleen een niet-null-waarde wanneer de cmdlet-code het Kenmerk OutputType voor de cmdlet definieert.
Voorbeeld 14: Cmdlets ophalen die een specifiek objecttype als invoer gebruiken
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
Met deze opdracht worden cmdlets gevonden die netadapterobjecten als invoer gebruiken. U kunt deze opdrachtindeling gebruiken om de cmdlets te vinden die het type objecten accepteren dat door elke opdracht wordt geretourneerd.
De opdracht maakt gebruik van de intrinsieke eigenschap PSTypeNames van alle objecten, waarmee de typen worden opgehaald die het object beschrijven. Als u de eigenschap PSTypeNames van een netadapter wilt ophalen en niet de eigenschap PSTypeNames van een verzameling netadapters, gebruikt de opdracht matrix-notatie om de eerste netadapter op te halen die door de cmdlet wordt geretourneerd. Als u de eigenschap PSTypeNames van een netadapter wilt ophalen en niet de eigenschap PSTypeNames van een verzameling netadapters, gebruikt de opdracht matrix-notatie om de eerste netadapter op te halen die door de cmdlet wordt geretourneerd.
Parameters
-All
Geeft aan dat deze cmdlet alle opdrachten ophaalt, inclusief opdrachten van hetzelfde type met dezelfde naam. Hiermee worden standaard Get-Command
alleen de opdrachten opgevraagd die worden uitgevoerd wanneer u de opdrachtnaam typt.
Zie about_Command_Precedence voor meer informatie over de volgorde die PowerShell zoekt naar opdrachten. Zie about_Modules voor informatie over namen van modules en het uitvoeren van opdrachten die niet standaard worden uitgevoerd vanwege een naamconflict.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
In Windows PowerShell 2.0 Get-Command
worden standaard alle opdrachten opgeslagen.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ArgumentList
Hiermee geeft u een matrix met argumenten op. Deze cmdlet haalt informatie op over een cmdlet of functie wanneer deze wordt gebruikt met de opgegeven parameters ('argumenten'). De alias voor ArgumentList is Args.
Als u dynamische parameters wilt detecteren die alleen beschikbaar zijn wanneer bepaalde andere parameters worden gebruikt, stelt u de waarde van ArgumentList in op de parameters die de dynamische parameters activeren.
Als u de dynamische parameters wilt detecteren die een provider toevoegt aan een cmdlet, stelt u de waarde van de parameter ArgumentList in op een pad in het providerstation, zoals WSMan:
, HKLM:
of Cert:
.
Wanneer de opdracht een PowerShell-provider-cmdlet is, voert u slechts één pad in elke opdracht in. De provider-cmdlets retourneren alleen de dynamische parameters voor het eerste pad de waarde van ArgumentList. Zie about_Providers voor meer informatie over de provider-cmdlets.
Type: | Object[] |
Aliassen: | Args |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-CommandType
Hiermee geeft u de typen opdrachten op die door deze cmdlet worden opgehaald. Voer een of meer opdrachttypen in. Gebruik CommandType of de alias, Type. Haalt standaard Get-Command
alle cmdlets, functies en aliassen op.
De aanvaardbare waarden voor deze parameter zijn:
Alias
: haalt de aliassen van alle PowerShell-opdrachten op. Zie about_Aliases voor meer informatie.All
: Hiermee worden alle opdrachttypen opgehaald. Deze parameterwaarde is het equivalent vanGet-Command *
.Application
: Zoekt in mappen in de$env:PATH
omgevingsvariabele naar niet-PowerShell uitvoerbare bestanden. In Windows hebben uitvoerbare bestanden een bestandsextensie die wordt vermeld in de$env:PATHEXT
omgevingsvariabele. Zie about_Environment_Variables voor meer informatie.Cmdlet
: haalt alle cmdlets op.ExternalScript
: Haalt alle.ps1
bestanden op in de paden die worden vermeld in de omgevingsvariabele Path ($env:PATH
).Filter
enFunction
: haalt alle geavanceerde en eenvoudige functies en filters van PowerShell op.Script
: Haalt alle scriptblokken op. Gebruik de waarde om PowerShell-scripts (.ps1
bestanden) op teExternalScript
halen.Workflow
: Haalt alle werkstromen op. Zie Inleiding tot Windows PowerShell Workflow voor meer informatie over werkstromen.
Deze waarden worden gedefinieerd als een opsomming op basis van vlaggen. U kunt meerdere waarden combineren om meerdere vlaggen in te stellen met behulp van deze parameter. De waarden kunnen worden doorgegeven aan de parameter CommandType als een matrix met waarden of als een door komma's gescheiden tekenreeks van deze waarden. De cmdlet combineert de waarden met behulp van een binaire OF-bewerking. Het doorgeven van waarden als een matrix is de eenvoudigste optie en u kunt ook tabvoltooiing gebruiken voor de waarden.
Type: | CommandTypes |
Aliassen: | Type |
Geaccepteerde waarden: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-FullyQualifiedModule
De waarde kan een modulenaam, een volledige modulespecificatie of een pad naar een modulebestand zijn.
Wanneer de waarde een pad is, kan het pad volledig of relatief zijn. Een relatief pad wordt omgezet ten opzichte van het script dat de using-instructie bevat.
Wanneer de waarde een naam of modulespecificatie is, zoekt PowerShell naar de PSModulePath voor de opgegeven module.
Een modulespecificatie is een hashtabel met de volgende sleutels.
ModuleName
- Vereist : hiermee geeft u de modulenaam op.GUID
- Optioneel : hiermee geeft u de GUID van de module op.Het is ook vereist om ten minste één van de drie onderstaande sleutels op te geven.
ModuleVersion
- Hiermee geeft u een minimaal acceptabele versie van de module.MaximumVersion
- Hiermee geeft u de maximaal aanvaardbare versie van de module.RequiredVersion
- Hiermee geeft u een exacte, vereiste versie van de module. Dit kan niet worden gebruikt met de andere versiesleutels.
U kunt de parameter FullyQualifiedModule niet opgeven in dezelfde opdracht als een moduleparameter . De twee parameters sluiten elkaar wederzijds uit.
Type: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ListImported
Geeft aan dat deze cmdlet alleen opdrachten krijgt in de huidige sessie.
Vanaf PowerShell 3.0 worden standaard Get-Command
alle geïnstalleerde opdrachten opgehaald, inclusief, maar niet beperkt tot, de opdrachten in de huidige sessie. In PowerShell 2.0 worden alleen opdrachten in de huidige sessie weergegeven.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Module
Hiermee geeft u een matrix van modules. Met deze cmdlet worden de opdrachten opgehaald die afkomstig zijn van de opgegeven modules of modules. Voer de namen van modules of modules in.
Deze parameter gebruikt tekenreekswaarden, maar de waarde van deze parameter kan ook een PSModuleInfo- of PSSnapinInfo-object zijn, zoals de objecten die de Get-Module
Get-PSSnapin
, en Import-PSSession
cmdlets retourneren.
U kunt naar deze parameter verwijzen met de naam, module of de alias PSSnapin. De parameternaam die u kiest, heeft geen effect op de uitvoer van de opdracht.
Type: | String[] |
Aliassen: | PSSnapin |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
-Name
Hiermee geeft u een matrix met namen. Met deze cmdlet worden alleen opdrachten met de opgegeven naam ophaalt. Voer een naam of naampatroon in. Jokertekens zijn toegestaan.
Als u opdrachten met dezelfde naam wilt ophalen, gebruikt u de parameter All . Wanneer twee opdrachten dezelfde naam hebben, Get-Command
krijgt standaard de opdracht die wordt uitgevoerd wanneer u de opdrachtnaam typt.
Type: | String[] |
Position: | 0 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
-Noun
Hiermee geeft u een matrix van opdracht zelfstandige naamwoorden. Deze cmdlet haalt opdrachten op, waaronder cmdlets, functies en aliassen, met namen die het opgegeven zelfstandig naamwoord bevatten. Voer een of meer zelfstandige naamwoordpatronen of zelfstandige naamwoordpatronen in. Jokertekens zijn toegestaan.
Type: | String[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
-ParameterName
Hiermee geeft u een matrix van parameternamen. Deze cmdlet haalt opdrachten op in de sessie met de opgegeven parameters. Voer parameternamen of parameteraliassen in. Jokertekens worden ondersteund.
De parameters ParameterName en ParameterType doorzoeken alleen opdrachten in de huidige sessie.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
Type: | String[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | True |
-ParameterType
Hiermee geeft u een matrix van parameternamen. Deze cmdlet haalt opdrachten op in de sessie met parameters van het opgegeven type. Voer de volledige naam of gedeeltelijke naam van een parametertype in. Jokertekens worden ondersteund.
De parameters ParameterName en ParameterType doorzoeken alleen opdrachten in de huidige sessie.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
Type: | PSTypeName[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | True |
-ShowCommandInfo
Geeft aan dat met deze cmdlet opdrachtgegevens worden weergegeven.
Deze parameter is geïntroduceerd in Windows PowerShell 5.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Syntax
Geeft aan dat deze cmdlet alleen de volgende opgegeven gegevens over de opdracht ophaalt:
- Aliassen haalt de standaardnaam op.
- Cmdlets. Hiermee haalt u de syntaxis op.
- Functies en filters. Hiermee haalt u de functiedefinitie op.
- Scripts en toepassingen of bestanden. Hiermee haalt u het pad en de bestandsnaam op.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-TotalCount
Hiermee geeft u het aantal opdrachten op dat moet worden get. U kunt deze parameter gebruiken om de uitvoer van een opdracht te beperken.
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Verb
Hiermee geeft u een matrix van opdrachtwoorden. Deze cmdlet haalt opdrachten op, waaronder cmdlets, functies en aliassen, met namen die het opgegeven werkwoord bevatten. Voer een of meer werkwoorden of werkwoordpatronen in. Jokertekens zijn toegestaan.
Type: | String[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
Invoerwaarden
U kunt opdrachtnamen doorsluisen naar deze cmdlet.
Uitvoerwaarden
Met deze cmdlet worden objecten geretourneerd die zijn afgeleid van de klasse CommandInfo . Het type object dat wordt geretourneerd, is afhankelijk van het type opdracht dat Get-Command
wordt opgehaald.
Vertegenwoordigt aliassen.
Vertegenwoordigt toepassingen en bestanden.
Vertegenwoordigt cmdlets.
Vertegenwoordigt functies en filters.
Vertegenwoordigt werkstromen.
Notities
Windows PowerShell bevat de volgende aliassen voor Get-Command
:
gcm
Wanneer er meer dan één opdracht met dezelfde naam beschikbaar is voor de sessie,
Get-Command
wordt de opdracht geretourneerd die wordt uitgevoerd wanneer u de opdrachtnaam typt. Als u opdrachten wilt ophalen met dezelfde naam, vermeld in uitvoeringsvolgorde, gebruikt u de parameter All . Zie about_Command_Precedence voor meer informatie.Wanneer een module automatisch wordt geïmporteerd, is het effect hetzelfde als het gebruik van de
Import-Module
cmdlet. De module kan opdrachten, typen en opmaakbestanden toevoegen en scripts uitvoeren in de sessie. Als u het automatisch importeren van modules wilt inschakelen, uitschakelen en configureren, gebruikt u de$PSModuleAutoLoadingPreference
voorkeursvariabele. Zie about_Preference_Variables voor meer informatie.