Get-Command

Module: Microsoft.PowerShell.Core

Haalt alle commando’s op.

Syntax

Get-Command >] >] >] >] <Object>] >] >] 
Get-Command <String>] >] >] <Object>] >] >] 

Beschrijving

Het Get-Command cmdlet haalt alle commando’s op die op de computer zijn geïnstalleerd, inclusief cmdlets, aliassen, functies, filters, scripts, en applicaties. Get-Command haalt de commando’s op uit PowerShell modules en commando’s die zijn geïmporteerd uit andere sessies.

Zonder parameters krijgt Get-Command alle cmdlets, functies en aliassen die op de computer zijn geïnstalleerd. Get-Command * krijgt alle soorten opdrachten, inclusief alle niet-PowerShell-bestanden in de omgevingsvariabele Pad ($env:Path), die het opsomt 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. Om het automatisch importeren van modules in of uit te schakelen, of te configureren, gebruik je de $PSModuleAutoLoadingPreference voorkeursvariabele. Zie voor meer informatie about_Preference_Variables.

Get-Command haalt zijn gegevens rechtstreeks uit de opdrachtcode, in tegenstelling tot Get-Help, die zijn informatie uit helponderwerpen haalt.

Startend in Windows PowerShell 5.0, resultaten van het Get-Command cmdlet geven standaard een Version kolom weer. Er is een nieuwe eigenschap Version toegevoegd aan de klasse CommandInfo.

Voorbeelden

Voorbeeld 1: cmdlets, functies en aliassen ophalen

Dit commando haalt de PowerShell cmdlets, functies en aliassen op die op de computer zijn geïnstalleerd.

Get-Command

Voorbeeld 2: Haal commando’s op in de huidige sessie

Dit commando gebruikt de parameter ListImported om alleen de commando’s in de huidige sessie op te halen.

Get-Command -ListImported

Voorbeeld 3: cmdlets ophalen en in volgorde weergeven

Dit commando haalt alle cmdlets op, sorteert ze alfabetisch op het zelfstandig naamwoord in de cmdlet naam, en geeft ze vervolgens weer in op zelfstandig naamwoord gebaseerde groepen. Deze weergave kan u helpen de cmdlets voor een taak te vinden.

Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun

Voorbeeld 4: Opdrachten in een module ophalen

Deze opdracht gebruikt de parameter Module om de opdrachten op te halen in de Microsoft.PowerShell.Securityen Microsoft.PowerShell.Utility modules op te halen.

Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility

Voorbeeld 5: Informatie over een cmdlet ophalen

Dit commando haalt informatie op over het Get-AppLockerPolicy cmdlet. Het importeert ook deAppLocker module, die alle commando’s in de AppLocker module toevoegt aan de huidige sessie.

Get-Command Get-AppLockerPolicy

Wanneer een module automatisch wordt geïmporteerd, is het effect hetzelfde als met het cmdlet Import-Module.De module kan commando’s toevoegen, bestanden typen en opmaken, en scripts uitvoeren in de sessie. Om het automatisch importeren van modules in, uit en te configureren, gebruik je de $PSModuleAutoLoadingPreferencevoorkeur variabele. Zie voor meer informatie about_Preference_Variables.

Example 6: De syntaxis van een cmdlet ophalen

Dit commando gebruikt de parameters ArgumentList en Syntax om de syntaxis van het Get-ChildItemcmdlet op te halen wanneer het wordt gebruikt in het Cert: station. De Cert: drive is een PowerShell drive die de Certificate Provider toevoegt aan de sessie.

Get-Command -Name Get-Childitem -Args Cert: -Syntax

Wanneer u de syntax die wordt weergegeven in de uitvoer vergelijkt met de syntax die wordt weergegeven wanneer u de Args (ArgumentList) parameter weglaat, zult u zien dat de Certificate provider een dynamischparameter, CodeSigningCert, toevoegt aan het Get-ChildItem cmdlet.

Voor meer informatie over de Certificate provider, zie about_Certificate_Provider.

Voorbeeld 7: Dynamische parameters ophalen

Het commando in het voorbeeld gebruikt de Get-DynamicParameters functie om de dynamische parameters op te halen die de Certificate provider toevoegt aan het Get-ChildItem cmdlet wanneer het wordt gebruikt in het 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 verkrijgt de dynamische parameters van een cmdlet. Dit is een alternatief voor de methode die in het vorige voorbeeld werd gebruikt. Dynamische parameters kunnen aan een cmdlet worden toegevoegd door een ander cmdlet of een provider.

Voorbeeld 8: Alle commando’s van alle typen ophalen

Dit commando haalt alle commando’s van alle typen op de lokale computer op, 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).

Exemplaar 9: cmdlets ophalen met een parameternaam en type

Dit commando haalt cmdlets op die een parameter hebben waarvan de naam Auth bevat en waarvan het type AuthenticationMechanism is.

Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism

U kunt een commando als dit gebruiken om cmdlets te vinden waarmee u de methode kunt opgeven die wordt gebruikt om de gebruiker te authenticeren.

De parameter ParameterType onderscheidt parameters die een AuthenticationMechanism-waarde hebben van die welke een AuthenticationLevel-parameter hebben, zelfs als ze vergelijkbare namen hebben.

Voorbeeld 10: Een alias ophalen

Dit voorbeeld laat zien hoe je het Get-Command cmdlet met een alias kunt gebruiken.

Get-Command -Name dirCommandType Name ModuleName----------- ---- ----------Alias dir -> Get-ChildItem

Hoewel het typisch gebruikt wordt voor cmdlets en functies, kan Get-Command ook scripts, functies, aliassen, en uitvoerbare bestanden verkrijgen.

De uitvoer van het commando toont de speciale weergave van de Name eigenschap waarde voor aliassen. De weergave toont de alias en de volledige opdrachtnaam.

Voorbeeld 11: Syntaxis van een alias ophalen

Dit voorbeeld toont hoe de syntaxis samen met de standaardnaam van een alias kan worden opgehaald.

De uitvoer van het commando toont de gelabelde alias met de standaardnaam, gevolgd door de syntaxis.

Get-Command -Name dir -Syntaxdir (alias) -> Get-ChildItemdir <string>] <string>] >] >] >] dir <string>] -LiteralPath <string> >] >] >] 

Voorbeeld 12: Alle instanties van het commando Kladblok ophalen

Dit voorbeeld gebruikt de parameter Alle van het cmdlet Get-Command om alle instanties van het commandoNotepad op de lokale computer te tonen.

Get-Command Notepad -All | Format-Table CommandType, Name, DefinitionCommandType Name Definition----------- ---- ----------Application notepad.exe C:\WINDOWS\system32\notepad.exeApplication NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE

De parameter Alle is handig als er meer dan één commando met dezelfde naam in de sessie is.

Begin Windows PowerShell 3.0, standaard, wanneer de sessie meerdere commando’s met dezelfde naam bevat, krijgt Get-Command alleen het commando dat wordt uitgevoerd wanneer u de opdrachtnaam intypt. Met de parameter Alle krijgt Get-Command alle commando’s met de gespecificeerde naam en stuurt ze in volgorde van uitvoering terug. Als u een ander commando wilt uitvoeren dan het eerste in de lijst, typt u het volledige gekwalificeerde pad naar het commando.

Voor meer informatie over de voorrang van commando’s, zie about_Command_Precedence.

Voorbeeld 13: De naam van een module ophalen die een cmdlet bevat

Dit commando haalt de naam op van de module waarin het Get-Date cmdlet is ontstaan. Het commando gebruikt de eigenschap ModuleName van alle commando’s.

(Get-Command Get-Date).ModuleNameMicrosoft.PowerShell.Utility

Deze opdrachtopmaak werkt op opdrachten in PowerShell-modules, zelfs als deze niet in de sessie zijn geïmporteerd.

Voorbeeld 14: cmdlets en functies ophalen die een uitvoertype hebben

Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType

Dit commando haalt de cmdlets en functies op die een uitvoertype hebben en het type objecten dat ze retourneren.

Het eerste deel van het commando haalt alle cmdlets op. Een pijplijn operator (|) stuurt de cmdlets naar hetWhere-Object cmdlet, dat alleen de cmdlets selecteert waarvan de OutputType eigenschap is ingevuld. Een andere pijplijnoperator stuurt de geselecteerde cmdletobjecten naar het cmdlet Format-List, dat de naam en het uitvoertype van elk cmdlet in een lijst weergeeft.

De eigenschap OutputType van een CommandInfo-object heeft alleen een waarde die niet nihil is wanneer de cmdletcode de eigenschap OutputType voor het cmdlet definieert.

Voorbeeld 15: cmdlets ophalen die een specifiek objecttype als invoer hebben

Get-Command -ParameterType (((Get-NetAdapter)).PSTypeNames)CommandType Name ModuleName----------- ---- ----------Function Disable-NetAdapter NetAdapterFunction Enable-NetAdapter NetAdapterFunction Rename-NetAdapter NetAdapterFunction Restart-NetAdapter NetAdapterFunction Set-NetAdapter NetAdapter

Dit commando vindt cmdlets die netadapterobjecten als invoer hebben. U kunt dit commandoformaat gebruiken om cmdlets te vinden die het type objecten accepteren dat een willekeurig commando retourneert.

Het commando gebruikt de intrinsieke eigenschap PSTypeNames van alle objecten, waarmee de typen worden gevonden die het object beschrijven. Om de PSTypeNames eigenschap van een netadapter te krijgen, en niet dePSTypeNames eigenschap van een verzameling netadapters, gebruikt het commando array notatie om de eerste netadapter te krijgen die het cmdlet retourneert.

Voorbeeld 16: Commando’s ophalen met fuzzy match

In dit voorbeeld staat in de naam van het commando opzettelijk een typefout als ‘get-commnd’.Met behulp van de -UseFuzzyMatching switch heeft het cmdlet bepaald dat de beste match Get-Command was, gevolgd door andere native commando’s op het systeem die een soortgelijke match waren.

Get-Command get-commnd -UseFuzzyMatchingCommandType Name Version Source----------- ---- ------- ------Cmdlet Get-Command 6.2.0.0 Microsoft.PowerShell.CoreApplication getconf 0.0.0.0 /usr/bin/getconfApplication command 0.0.0.0 /usr/bin/command

Parameters

-All

Geeft aan dat dit cmdlet alle commando’s krijgt, inclusief commando’s van hetzelfde type die dezelfde naam hebben. Standaard krijgt Get-Command alleen de opdrachten die worden uitgevoerd wanneer u de opdrachtnaam intypt.

Voor meer informatie over de methode die PowerShell gebruikt om de uit te voeren opdracht te selecteren wanneer meerdere opdrachten dezelfde naam hebben, zie about_Command_Precedence.Zie voor informatie over modulegekwalificeerde opdrachtnamen en het uitvoeren van opdrachten die standaard niet worden uitgevoerd vanwege een naamconflict, about_Modules.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

In Windows PowerShell 2.0, krijgt Get-Command standaard alle commando’s.

Type: SwitchParameter
Positie: Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: True
Accept wildcard characters: False
-ArgumentList

Specificeert een array van argumenten. Dit cmdlet verkrijgt informatie over een cmdlet of functie wanneer deze wordt gebruikt met de gespecificeerde parameters (“argumenten”). De alias voor ArgumentList is Args.

Om dynamische parameters te 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.

Om de dynamische parameters te detecteren die een provider aan een cmdlet toevoegt, stelt u de waarde van de parameterArgumentList in op een pad in het station van de provider, zoals WSMan:, HKLM:, of Cert:. Wanneer de opdracht een PowerShell-provider-ccmdlet is, voert u in elke opdracht slechts één pad in. De providercmdlets retourneren alleen de dynamische parameters voor het eerste pad de waarde van ArgumentList. Voor informatie over de provider cmdlets, zie about_Providers.

Type: Object
Aliassen: Args
Positie: 1
Default value: None
Accept pipeline input: Valse
Accepteer wildcard tekens: False
-CommandType

Specificeert de typen commando’s die dit cmdlet krijgt. Voer een of meer commando types in. GebruikCommandType of zijn alias, Type. Standaard krijgt Get-Command alle cmdlets, functies, enaliassen.

De aanvaardbare waarden voor deze parameter zijn:

  • Alias. Haalt de aliassen op van alle PowerShell commando’s. Voor meer informatie, zie about_Aliases.
  • All. Haalt alle commandotypen op. Deze parameterwaarde is het equivalent van Get-Command *.
  • Application. Haalt niet-PowerShell-bestanden op in paden die worden vermeld in de omgevingsvariabele Path ($env:path), inclusief .txt-, .exe- en .dll-bestanden. Voor meer informatie over dePath omgevingsvariabele, zie about_Environment_Variables.
  • Cmdlet. Haalt alle cmdlets op.
  • ExternalScript. Haalt alle .ps1-bestanden op in de paden die worden vermeld in de omgevingsvariabele Path($env:path).
  • Filter en functie. Haalt alle PowerShell geavanceerde en eenvoudige functies en filters.
  • Script. Haalt alle scriptblokken op. Gebruik de ExternalScript-waarde om PowerShell-scripts (.ps1-bestanden) op te halen.
Aliassen:

Type: CommandTypes
Type
Accepted values: Alias, Functie, Filter, Cmdlet, ExternScript, Toepassing, Script, Workflow, Configuratie, Alle
Positie: Naam
Aanwezige waarde: None
Accept pipeline input: True
Accept wildcard characters: Valse

-FullyQualifiedModule

Specificeert modules met namen die zijn gespecificeerd in de vorm van ModuleSpecification-objecten, beschreven in de Remarks-sectie vanModuleSpecification 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 in dezelfde opdracht opgeven als een Moduleparameter. De twee parameters sluiten elkaar uit.

Type: ModuleSpecificatie
Positie: Naam
Voorkeurwaarde: Neen
Accepteer pijplijninvoer: True
Accept wildcard characters: False
-ListImported

Indiceert dat dit cmdlet alleen commando’s in de huidige sessie krijgt.

Startend in PowerShell 3.0, krijgt Get-Command standaard alle geïnstalleerde commando’s, inclusief, maar niet beperkt tot, de commando’s in de huidige sessie. In PowerShell 2.0 krijgt het alleen de commando’s in de huidige sessie.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type: SwitchParameter
Positie: Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: True
Accept wildcard characters: False
-Module

Specificeert een array van modules. Dit cmdlet krijgt de commando’s die afkomstig zijn van de gespecificeerde modules.Voer de namen van modules of module-objecten in.

Deze parameter neemt string-waarden aan, maar de waarde van deze parameter kan ook een PSModuleInfoobject zijn, zoals de objecten die de Get-Module en Import-PSSession cmdlets retourneren.

Type: String
Aliassen: PSSnapin
Positie: Naam
Voorkeurwaarde: None
Accept pipeline input: True
Accept wildcard characters: True
-Name

Specificeert een array van namen. Dit cmdlet krijgt alleen commando’s die de opgegeven naam hebben. Geef een naam of naam patroon op. Jokertekens zijn toegestaan.

Om commando’s te krijgen die dezelfde naam hebben, gebruik je de parameter Alles. Als twee opdrachten dezelfde naam hebben, krijgt Get-Command standaard de opdracht die wordt uitgevoerd wanneer u de opdrachtnaam typt.

Positie:

Accept pipeline input:

Type: String
0
Default waarde: None
True
Accepteer wildcard tekens: True
-Noun

Specifieert een array van commando-nouns. Dit cmdlet zoekt commando’s, waaronder cmdlets, functies en aliassen, die namen hebben die het gespecificeerde zelfstandig naamwoord bevatten. Geef een of meer zelfstandige naamwoorden of zelfstandige naamwoorden patronen op. Jokertekens zijn toegestaan.

Positie:

Type: String
Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: True
Accept wildcard characters: True

-ParameterName

Specificeert een array van parameter namen. Dit cmdlet haalt commando’s op in de sessie die de gespecificeerde parameters hebben. Geef parameter namen of parameter aliassen. Jokertekens worden ondersteund.

De parameters ParameterName en ParameterType zoeken alleen naar commando’s in de huidige sessie.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Positie:

Accepteer invoer via pijplijn:

Accepteer jokertekens:

Type: String
Naam
Standaardwaarde: Geen
Valse
True
-ParameterType

Specificeert een array van parameternamen. Dit cmdlet haalt commando’s op in de sessie die parameters hebben van het gespecificeerde type. Geef de volledige naam of gedeeltelijke naam van een parameter type. Jokertekens worden ondersteund.

De parameters ParameterName en ParameterType zoeken alleen naar opdrachten in de huidige sessie.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Positie:

Type: PSTypeName
Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: False
Accept wildcard characters: True
-ShowCommandInfo

Geeft aan dat dit cmdlet command informatie weergeeft.

Deze parameter is geïntroduceerd in Windows PowerShell 5.0.

Type: SwitchParameter
Positie: Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: False
Accept wildcard characters: False
-Syntax

Geeft aan dat dit cmdlet alleen de volgende gespecificeerde gegevens over het commando krijgt:

  • Aliassen. Krijgt de standaardnaam en syntax.
  • Cmdlets. Krijgt de syntaxis.
  • Functies en filters. Geeft de functiedefinitie.
  • Scripts en toepassingen of bestanden. Geeft het pad en de bestandsnaam.
Positie:

Type: SwitchParameter
Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: True
Accepteer wildcard tekens: False
-TotalCount

Specificeert het aantal commando’s dat moet worden opgehaald. U kunt deze parameter gebruiken om de uitvoer van een commando te beperken.

Type: Int32
Positie: Naam
De standaardwaarde: None
Accept pipeline input: True
Accept wildcard characters: False
-UseAbbreviationExpansion

Gebruikt overeenkomende tekens in de opdracht om te zoeken met tekens met hoofdletters in een opdracht. Bijvoorbeeld, i-psdf zou overeenkomen met Import-PowerShellDataFile als elk van de te vinden tekens overeenkomt met een hoofdletter in het resultaat. Wanneer u dit type overeenkomst gebruikt, zullen jokertekens geen overeenkomsten opleveren.

Type: SwitchParameter
Positie: Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: True
Accepteer wildcard tekens: False
-UseFuzzyMatching

Geeft aan dat er een fuzzy matching algoritme wordt gebruikt bij het vinden van commando’s. De volgorde van de uitvoer is van dichtstbijzijnde overeenkomst tot minst waarschijnlijke overeenkomst. Jokertekens moeten niet worden gebruikt bij fuzzy matching, omdat dan wordt geprobeerd om opdrachten te vinden die jokertekens kunnen bevatten.

Type: SwitchParameter
Positie: Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: Valse
Accepteer wildcard tekens: False
-Verb

Specificeert een array van commando werkwoorden. Dit cmdlet haalt commando’s op, waaronder cmdlets, functies en aliassen, die namen hebben waarin het gespecificeerde werkwoord voorkomt. Geef een of meer werkwoorden of werkwoordpatronen op. Jokertekens zijn toegestaan.

Positie:

Type: String
Naam
Voorkeurwaarde: Neen
Accepteer invoer via pijplijn: True
Accept wildcard characters: True

Inputs

String

Je kunt commandonamen naar dit cmdlet pijpen.

Outputs

CommandInfo

Dit cmdlet retourneert objecten die zijn afgeleid van de CommandInfo class. Het type object dat wordt teruggegeven, hangt af van het type opdracht dat Get-Command krijgt.

AliasInfo

Verslaat aliassen.

ApplicationInfo

Verslaat toepassingen en bestanden.

Verslaat cmdletInfo

Verslaat cmdlets.

FunctionInfo

Represents functions and filters.

Notes

  • Wanneer meer dan één commando met dezelfde naam beschikbaar is voor de sessie, Get-Commandreturnt het commando dat wordt uitgevoerd wanneer u de commandonaam intypt. Om commando’s te krijgen die dezelfde naam hebben, opgesomd in run volgorde, gebruik de parameter All. Voor meer informatie, zieabout_Command_Precedence.
  • Wanneer een module automatisch wordt geïmporteerd, is het effect hetzelfde als bij gebruik van het Import-Modulecmdlet. De module kan commando’s toevoegen, bestanden typen en opmaken, en scripts uitvoeren in de sessie.Om het automatisch importeren van modules in of uit te schakelen, of te configureren, gebruikt u de$PSModuleAutoLoadingPreference voorkeursvariabele. Voor meer informatie, zieabout_Preference_Variables.
  • Export-PSSession
  • Get-Help
  • Get-Member
  • Get-PSDrive
  • Import-PSSession
  • about_Command_Precedence

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *