Get-Command
Hiermee worden alle opdrachten ophaalt.
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
Met Get-Command de 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 worden Get-Command 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 de exacte naam van de opdracht gebruikt, zonder jokertekens, importeert automatisch de module die de opdracht bevat, zodat u de opdracht onmiddellijk kunt gebruiken. Gebruik de $PSModuleAutoLoadingPreference voorkeursvariabele om het automatisch importeren van modules in te schakelen, uit te schakelen en te configureren. Zie about_Preference_Variables voor meer informatie.
Get-Command haalt de gegevens rechtstreeks op uit de opdrachtcode, in tegenstelling tot Get-Help, waarmee de informatie wordt opgehaald uit Help-onderwerpen.
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 worden alle cmdlets opgeslagen, 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
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 opgehaald over de Get-AppLockerPolicy cmdlet. 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. Gebruik de $PSModuleAutoLoadingPreference voorkeursvariabele om het automatisch importeren van modules in te schakelen, uit te schakelen en te configureren. 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 station Cert: 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 in de uitvoer vergelijkt 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
Met de opdracht in het voorbeeld wordt de Get-DynamicParameters functie gebruikt om de dynamische parameters op te halen die de certificaatprovider toevoegt aan de Get-ChildItem cmdlet wanneer deze wordt gebruikt in het station Cert: station.
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 ophaalt die een parameter hebben waarvan de naam Auth bevat 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 wanneer 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 eigenschap Naam voor aliassen. In de weergave ziet u de alias en de volledige opdrachtnaam.
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 parameter Alle worden Get-Command alle opdrachten met de opgegeven naam opgeslagen en geretourneerd in de volgorde van de uitvoeringsprioriteit. Als u een andere opdracht dan de eerste opdracht in de lijst wilt uitvoeren, typt u het volledig gekwalificeerde pad naar de opdracht.
Zie about_Command_Precedence voor meer informatie over de 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 deze niet in de sessie worden geïmporteerd.
Voorbeeld 13: cmdlets en functies ophalen die een uitvoertype hebben
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Met deze opdracht worden de cmdlets en functies opgehaald met een uitvoertype en het type objecten 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 wordt ingevuld. Een andere pijplijnoperator verzendt de geselecteerde cmdlet-objecten naar de Format-List cmdlet, waarmee 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 OutputType-kenmerk 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 vindt u cmdlets die netadapterobjecten als invoer gebruiken. U kunt deze opdrachtindeling gebruiken om de cmdlets te vinden die het type objecten accepteren dat elke opdracht retourneert.
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
Geeft aan dat met deze cmdlet alle opdrachten worden ophaalt, inclusief opdrachten van hetzelfde type met dezelfde naam. Get-Command Standaard worden alleen de opdrachten weergegeven die worden uitgevoerd wanneer u de opdrachtnaam typt.
Zie about_Command_Precedence voor 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_Modules voor informatie over namen van module-gekwalificeerde opdrachten 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 worden Get-Command standaard alle opdrachten opgeslagen.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u een matrix van 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_Providers voor informatie over de provider-cmdlets.
| Type: | Object[] |
| Aliases: | Args |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
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: Haalt niet-PowerShell-bestanden op in paden die worden vermeld in de omgevingsvariabele Pad ($env:path), inclusief .txt, .exe en .dll bestanden. Zie about_Environment_Variables voor meer informatie over de omgevingsvariabele Path.Cmdlet: haalt alle cmdlets op.ExternalScript: haalt alle .ps1 bestanden op in de paden die worden vermeld in de omgevingsvariabele Path ($env:path).FilterenFunction: 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 teExternalScripthalen.Workflow: Haalt alle werkstromen op. Zie Inleiding tot Windows PowerShell werkstroom 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 stelt u ook in staat om tabvoltooiing te gebruiken voor de waarden.
| Type: | CommandTypes |
| Aliases: | Type |
| Accepted values: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u modules met namen die zijn opgegeven in de vorm van ModuleSpecification-objecten , beschreven in het gedeelte 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 moduleparameter . De twee parameters sluiten elkaar wederzijds uit.
| Type: | ModuleSpecification[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Geeft aan dat deze cmdlet alleen opdrachten in de huidige sessie krijgt.
Vanaf PowerShell 3.0 worden standaard Get-Command alle geïnstalleerde opdrachten opgehaald, waaronder, 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 |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
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-ModuleGet-PSSnapin, en Import-PSSession cmdlets retourneren.
U kunt naar deze parameter verwijzen op de naam, module of op de alias, PSSnapin. De parameternaam die u kiest, heeft geen invloed op de uitvoer van de opdracht.
| Type: | String[] |
| Aliases: | PSSnapin |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
Hiermee geeft u een matrix met namen op. 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, Get-Command haalt u standaard de opdracht op die wordt uitgevoerd wanneer u de opdrachtnaam typt.
| Type: | String[] |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
Hiermee geeft u een matrix van opdracht zelfstandige naamwoorden. Met deze cmdlet worden opdrachten ophaalt, waaronder cmdlets, functies en aliassen, met namen die het opgegeven zelfstandig naamwoord bevatten. Voer een of meer zelfstandige naamwoorden of zelfstandige naamwoordpatronen in. Jokertekens zijn toegestaan.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
Hiermee geeft u een matrix met parameternamen op. Met deze cmdlet worden opdrachten opgeslagen in de sessie met de opgegeven parameters. Voer parameternamen of parameteraliassen in. Jokertekens worden ondersteund.
De parameters ParameterName en ParameterType zoeken alleen opdrachten in de huidige sessie.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Hiermee geeft u een matrix met parameternamen op. Met deze cmdlet worden opdrachten opgeslagen 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 zoeken alleen opdrachten in de huidige sessie.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
| Type: | PSTypeName[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Geeft aan dat met deze cmdlet alleen de volgende opgegeven gegevens over de opdracht worden opgehaald:
- 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 |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
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 |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u een matrix van opdrachtwoorden. Met deze cmdlet worden opdrachten ophaalt, 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 |
| Accept pipeline input: | True |
| Accept wildcard characters: | 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
- Wanneer meer dan één opdracht met dezelfde naam beschikbaar is voor de sessie,
Get-Commandretourneert u de opdracht die wordt uitgevoerd wanneer u de opdrachtnaam typt. Als u opdrachten met dezelfde naam wilt ophalen, 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-Modulecmdlet. De module kan opdrachten, typen en opmaakbestanden toevoegen en scripts uitvoeren in de sessie. Gebruik de$PSModuleAutoLoadingPreferencevoorkeursvariabele om het automatisch importeren van modules in te schakelen, uit te schakelen en te configureren. Zie about_Preference_Variables voor meer informatie.
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor