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
Met de Get-Command
-cmdlet worden alle opdrachten opgehaald die op de computer zijn geïnstalleerd, waaronder 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 haalt Get-Command
alle cmdlets, functies en aliassen op 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 de exacte naam van de opdracht gebruikt, 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_Variablesvoor meer informatie.
Get-Command
haalt de gegevens rechtstreeks op uit de opdrachtcode, in tegenstelling tot Get-Help
, die de informatie ophaalt uit Help-onderwerpen.
Vanaf Windows PowerShell 5.0 worden in de resultaten van de cmdlet Get-Command
standaard een kolom versie weergegeven. Er is een nieuwe eigenschap Version 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
Deze opdracht maakt gebruik van de parameter ListImported 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 worden alle cmdlets ophaalt, alfabetisch gesorteerd op het zelfstandig naamwoord in de naam van de cmdlet en vervolgens weergegeven 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
Deze opdracht maakt gebruik van de parameter Module 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 opgehaald over de cmdlet Get-AppLockerPolicy
. Ook wordt de module AppLocker 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_Variablesvoor 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 station Certificaat: station. Het certificaat: station is een PowerShell-station dat de certificaatprovider aan de sessie toevoegt.
Get-Command Get-Childitem -Args Cert: -Syntax
Wanneer u de syntaxis die in de uitvoer wordt weergegeven, vergelijkt met de syntaxis die wordt weergegeven wanneer u de parameter Args (ArgumentList) weglaat, ziet u dat de Certificaat provider een dynamische parameter, CodeSigningCert, toevoegt aan de Get-ChildItem
cmdlet.
Zie about_Certificate_Providervoor 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 $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 Path omgevingsvariabele ($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 naam
Met deze opdracht worden cmdlets met een parameter met de naam Auth en waarvan het type is AuthenticationMechanism.
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 parameter AuthenticationLevel gebruiken, zelfs als ze vergelijkbare namen hebben.
Voorbeeld 10: Een alias ophalen
In dit voorbeeld ziet u hoe u de cmdlet Get-Command
gebruikt met een alias.
Get-Command dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
Hoewel het meestal wordt gebruikt voor cmdlets en functies, Get-Command
ook scripts, functies, aliassen en uitvoerbare bestanden ophaalt.
In de uitvoer van de opdracht ziet u de speciale weergave van de eigenschapswaarde 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 Alle van de cmdlet Get-Command
gebruikt om alle exemplaren van de opdracht Kladblok 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 Alle is handig wanneer er meer dan één opdracht met dezelfde naam in de sessie is.
Vanaf Windows PowerShell 3.0, standaard wanneer de sessie meerdere opdrachten met dezelfde naam bevat, krijgt Get-Command
alleen de opdracht die wordt uitgevoerd wanneer u de opdrachtnaam typt. Met de parameter Alle haalt Get-Command
alle opdrachten met de opgegeven naam op en retourneert 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_Precedencevoor 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 PSTypeNames intrinsieke eigenschap 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. Standaard krijgt Get-Command
alleen de opdrachten die worden uitgevoerd wanneer u de opdrachtnaam typt.
Zie about_Command_Precedencevoor meer informatie over de methode die PowerShell gebruikt om de opdracht te selecteren die moet worden uitgevoerd wanneer meerdere opdrachten dezelfde naam hebben. Zie about_Modulesvoor informatie over module-gekwalificeerde opdrachtnamen 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 krijgt Get-Command
standaard alle opdrachten.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ArgumentList
Hiermee geeft u een matrix met argumenten op. Met deze cmdlet wordt informatie opgehaald 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_Providersvoor 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. Standaard haalt Get-Command
alle cmdlets, functies en aliassen op.
De acceptabele waarden voor deze parameter zijn:
- Alias. Haalt de aliassen van alle PowerShell-opdrachten op. Zie about_Aliasesvoor meer informatie.
- Alle. Hiermee worden alle opdrachttypen opgehaald. Deze parameterwaarde is het equivalent van
Get-Command *
. - Toepassing. Haalt niet-PowerShell-bestanden op in paden die worden vermeld in de
omgevingsvariabele Pad ($env:path), inclusief .txt, .exeen .dll bestanden. Zie about_Environment_Variables voor meer informatie over de omgevingsvariabele Path. - Cmdlet. Hiermee haalt u alle cmdlets op.
- ExternalScript. Hiermee haalt u alle .ps1 bestanden op in de paden die worden vermeld in het pad omgevingsvariabele ($env:path).
- Filter en functie. Hiermee haalt u alle geavanceerde en eenvoudige functies en filters van PowerShell op.
- Script. Haalt alle scriptblokken op. Gebruik de waarde ExternalScript om PowerShell-scripts (.ps1 bestanden) op te halen.
- Werkstroom. Hiermee haalt u alle werkstromen op. Zie Inleiding tot Windows PowerShell Workflow voor meer informatie over werkstromen.
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
Hiermee geeft u modules met namen die zijn opgegeven in de vorm van ModuleSpecification objecten, beschreven in de sectie Opmerkingen van ModuleSpecification Constructor (Hashtable). De parameter FullyQualifiedModule accepteert bijvoorbeeld een modulenaam die is opgegeven in een van de volgende indelingen:
@{ModuleName = "modulename"; ModuleVersion = "version_number"}
@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}
ModuleName en ModuleVersion zijn vereist, maar Guid- is optioneel.
U kunt de parameter FullyQualifiedModule niet opgeven in dezelfde opdracht als een parameter Module. 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 krijgt Get-Command
standaard alle geïnstalleerde opdrachten, 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 op naam, Moduleof op 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 Alle. Wanneer twee opdrachten dezelfde naam hebben, krijgt Get-Command
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 ParameterName en ParameterType parameters zoeken 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 ParameterName en ParameterType parameters zoeken 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. Hiermee haalt u 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
krijgt.
Vertegenwoordigt aliassen.
Vertegenwoordigt toepassingen en bestanden.
Vertegenwoordigt cmdlets.
Vertegenwoordigt functies en filters.
Vertegenwoordigt werkstromen.
Notities
- Wanneer er meer dan één opdracht met dezelfde naam beschikbaar is voor de sessie, retourneert
Get-Command
de opdracht die wordt uitgevoerd wanneer u de opdrachtnaam typt. Als u opdrachten met dezelfde naam wilt ophalen, vermeld in de uitvoeringsvolgorde, gebruikt u de parameter Alle. Zie about_Command_Precedencevoor meer informatie. - 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_Variablesvoor meer informatie.