about_Command_Syntax
Korte beschrijving
Beschrijft de syntaxisdiagrammen die worden gebruikt in PowerShell.
Lange beschrijving
De cmdlets Get-Help en Get-Command geven syntaxisdiagrammen weer om u te helpen opdrachten correct samen te stellen. In dit artikel wordt uitgelegd hoe u de syntaxisdiagrammen interpreteert.
De syntaxis voor een opdracht ophalen
Er zijn twee manieren om de syntaxis voor een opdracht op te halen: Get-Help
en Get-Command
.
Get-Command
De Get-Command
opdracht kan worden gebruikt om informatie over elke opdracht op uw systeem op te halen. Gebruik de parameter Syntaxis om de syntaxis voor een opdracht op te halen.
Get-Command Get-Command -Syntax
Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>] [-Noun <string[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <int>] [-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax] [-ShowCommandInfo]
[-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [-UseFuzzyMatching]
[-FuzzyMinimumDistance <uint>] [-UseAbbreviationExpansion]
[<CommonParameters>]
Get-Help
De Get-Help
opdracht bevat gedetailleerde informatie over PowerShell-opdrachten, waaronder syntaxis, gedetailleerde beschrijving van de cmdlet en parameters en voorbeelden. De uitvoeropdracht Get-Help
begint met een korte beschrijving van de opdracht gevolgd door de syntaxis.
Get-Help Get-Command
De volgende uitvoer is ingekort om te focussen op de syntaxisbeschrijving.
NAME
Get-Command
SYNOPSIS
Gets all commands.
SYNTAX
Get-Command [[-Name] <System.String[]>] [[-ArgumentList] <System.Object[]>]
[-All] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript |
Application | Script | Workflow | Configuration | All}]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-UseAbbreviationExpansion] [-UseFuzzyMatching] [<CommonParameters>]
Get-Command [[-ArgumentList] <System.Object[]>] [-All]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-Noun <System.String[]>]
[-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-Verb <System.String[]>] [<CommonParameters>]
...
De uitvoer van Get-Help
is iets anders dan de uitvoer van Get-Command
. Let op het verschil in de syntaxis voor de parameter CommandType . Get-Command
geeft het parametertype weer als opsomming [CommandTypes]
, terwijl Get-Help
de mogelijke waarden voor de opsomming worden weergegeven.
Parametersets
De parameters van een PowerShell-opdracht worden vermeld in parametersets. Een PowerShell-opdracht kan een of meer parametersets hebben. De Get-Command
cmdlet heeft twee parametersets, zoals wordt weergegeven in de vorige voorbeelden.
Sommige cmdlet-parameters zijn uniek voor een parameterset en andere worden weergegeven in meerdere parametersets. Elke parameterset vertegenwoordigt de notatie voor een geldige opdracht. Een parameterset bevat alleen parameters die samen in een opdracht kunnen worden gebruikt. Wanneer parameters niet kunnen worden gebruikt in dezelfde opdracht, worden ze weergegeven in afzonderlijke parametersets.
De cmdlet Get-Random bevat bijvoorbeeld de volgende parametersets:
$cmd = Get-Command Get-Random
$cmd.ParameterSets |
Select-Object Name, IsDefault, @{n='Parameters';e={$_.ToString()}} |
Format-Table -Wrap
Name IsDefault Parameters
---- --------- ----------
RandomNumberParameterSet True [[-Maximum] <Object>] [-SetSeed <int>]
[-Minimum <Object>] [-Count <int>]
[<CommonParameters>]
RandomListItemParameterSet False [-InputObject] <Object[]> [-SetSeed <int>]
[-Count <int>] [<CommonParameters>]
ShuffleParameterSet False [-InputObject] <Object[]> -Shuffle
[-SetSeed <int>] [<CommonParameters>]
- De eerste parameterset retourneert een of meer willekeurige getallen en bevat de parameters Minimum, Maximum en Aantal .
- De tweede parameterset retourneert een willekeurig geselecteerd object uit een set objecten en bevat de parameters InputObject en Count .
- De derde parameterset bevat de parameter Shuffle die een verzameling objecten in een willekeurige volgorde retourneert, zoals het versnipperen van een stapel kaarten.
- Alle parametersets hebben de parameter SetSeed en de algemene parameters.
Deze parametersets laten zien dat u de parameters InputObject en Count in dezelfde opdracht kunt gebruiken, maar u kunt de parameters Maximum en Shuffle niet samen gebruiken.
Elke cmdlet heeft ook een standaardparameterset. De standaardparameterset wordt gebruikt wanneer u geen parameters opgeeft die uniek zijn voor een parameterset. Als u bijvoorbeeld zonder parameters gebruikt Get-Random
, wordt in PowerShell ervan uitgegaan dat u de parameterset RandomNumberParameterSet gebruikt en dat er een willekeurig getal wordt geretourneerd.
Symbolen in syntaxisdiagrammen
Het syntaxisdiagram bevat de opdrachtnaam, de opdrachtparameters en de parameterwaarden.
De syntaxisdiagrammen gebruiken de volgende symbolen:
Een afbreekstreepje
-
geeft een parameternaam aan. Typ in een opdracht het afbreekstreepje direct voor de parameternaam zonder tussenliggende spaties, zoals wordt weergegeven in het syntaxisdiagram.Als u bijvoorbeeld de naamparameter van
Get-Command
, typt u:Get-Command -Name
.
Punthaken
< >
geven de tekst van de tijdelijke aanduiding aan. U typt niet de punthaken of de tekst van de tijdelijke aanduiding in een opdracht. In plaats daarvan vervangt u het door het item dat wordt beschreven.De tijdelijke aanduiding tussen de punthaken identificeert het .NET-type van de waarde die een parameter gebruikt. Als u bijvoorbeeld de parameter Name van de
Get-Command
cmdlet wilt gebruiken, vervangt u de<string[]>
door een of meer tekenreeksen gescheiden door komma's (,
).
[]
Vierkante haken die zijn toegevoegd aan een .NET-type geven aan dat de parameter een of meer waarden van dat type kan accepteren. Voer de waarden in als een door komma's gescheiden lijst.De parameters Naam en Waarde van de
New-Alias
cmdlet nemen bijvoorbeeld slechts één tekenreeks per tekenreeks.New-Alias [-Name] <string> [-Value] <string>
New-Alias -Name MyAlias -Value mycommand.exe
Maar de parameter Name van Get-Process kan een of meer tekenreeksen gebruiken.
Get-Process [-Name] <string[]>
Get-Process -Name Explorer, Winlogon, Services
Parameters zonder waarden
Sommige parameters accepteren geen invoer, dus ze hebben geen parameterwaarde. Parameters zonder waarden zijn schakelparameters. Schakelparameters worden gebruikt als booleaanse waarden. Ze zijn standaard ingesteld op
$false
. Wanneer u een schakelparameter gebruikt, wordt de waarde ingesteld op$true
.De parameter
Get-Command
ListImported is bijvoorbeeld een schakelparameter. Wanneer u de parameter ListImported gebruikt, retourneert de cmdlet alleen opdrachten die zijn geïmporteerd uit modules in de huidige sessie.Get-Command [-ListImported]
[ ]
Vierkante haken rond parameters geven optionele items aan. Een parameter en de bijbehorende waarde kunnen optioneel zijn. De parameter CommandType vanGet-Command
en de bijbehorende waarde staan bijvoorbeeld tussen vierkante haken omdat ze beide optioneel zijn.Get-Command [-CommandType <CommandTypes>]
Haakjes rond de parameternaam, maar niet de parameterwaarde, geven aan dat de parameternaam optioneel is. Deze parameters worden positionele parameters genoemd. De parameterwaarden moeten worden weergegeven in de juiste volgorde om de waarden te koppelen aan de juiste parameter.
Voor de
New-Alias
cmdlet zijn bijvoorbeeld de parameterwaarden Naam en Waarde vereist, maar de parameternamen-Name
en-Value
, zijn optioneel.New-Alias [-Name] <string> [-Value] <string>
New-Alias MyAlias mycommand.exe
In elke parameterset worden de parameters weergegeven in de positievolgorde. De volgorde van parameters in een opdracht is alleen van belang wanneer u de optionele parameternamen weglaat. Wanneer parameternamen worden weggelaten, wijst PowerShell waarden toe aan parameters op positie en type. Zie about_Parameters voor meer informatie over parameterpositie.
Accolades
{}
geven een opsomming aan. Dit is een set geldige waarden voor een parameter.De waarden in de accolades worden gescheiden door verticale balken
|
. Deze balken geven een exclusieve OF-keuze aan, wat betekent dat u slechts één waarde kunt kiezen uit de set waarden die in de accolades worden vermeld.De syntaxis voor de
New-Alias
cmdlet bevat bijvoorbeeld de volgende opsomming van de waarde voor de parameter Option :New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
De accolades en verticale balken geven aan dat u een van de vermelde waarden kunt kiezen voor de parameter Optie , zoals
ReadOnly
ofAllScope
.New-Alias -Option ReadOnly