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 te maken. 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 op te halen over elke opdracht op uw systeem. 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 biedt 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 zich te richten 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
verschilt enigszins van de uitvoer van Get-Command
. Let op het verschil in de syntaxis voor de parameter CommandType . Get-Command
toont het parametertype als de [CommandTypes]
opsomming, 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 bevatten. De Get-Command
cmdlet heeft twee parametersets, zoals weergegeven in de vorige voorbeelden.
Sommige cmdlet-parameters zijn uniek voor een parameterset en andere worden weergegeven in meerdere parametersets. Elke parameterset vertegenwoordigt de indeling voor een geldige opdracht. Een parameterset bevat alleen parameters die samen in een opdracht kunnen worden gebruikt. Wanneer parameters niet in dezelfde opdracht kunnen worden gebruikt, worden ze vermeld in afzonderlijke parametersets.
De cmdlet Get-Random heeft 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 heeft 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 schuiven 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 wordt een willekeurig getal 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 vóór de parameternaam zonder tussenliggende spaties, zoals wordt weergegeven in het syntaxisdiagram.Als u bijvoorbeeld de parameter Name van
Get-Command
wilt gebruiken, typt u:Get-Command -Name
.
Punthaken
< >
geven tekst van tijdelijke aanduiding aan. U typt de punthaken of de tekst van de tijdelijke aanduiding niet in een opdracht. In plaats daarvan vervangt u deze door het item dat wordt beschreven.De tijdelijke aanduiding tussen de punthaken geeft het .NET-type aan van de waarde die door een parameter wordt 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 uit.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 bevatten.
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 switchparameters. Schakelparameters worden gebruikt als booleaanse waarden. Ze zijn standaard ingesteld op
$false
. Wanneer u een switchparameter gebruikt, wordt de waarde ingesteld op$true
.De parameter ListImported van
Get-Command
is bijvoorbeeld een switchparameter. 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>]
Vierkante haken rond de parameternaam, maar niet de parameterwaarde, geven aan dat de parameternaam optioneel is. Deze parameters worden positionele parameters genoemd. De parameterwaarden moeten in de juiste volgorde worden weergegeven om de waarden te kunnen 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 positievolgorde. De volgorde van parameters in een opdracht is alleen van belang wanneer u de optionele parameternamen weglaat. Wanneer u parameternamen weglaat, wijst PowerShell waarden toe aan parameters op basis van 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 tussen de accolades worden weergegeven.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 voor de parameter Option kunt kiezen, zoals
ReadOnly
ofAllScope
.New-Alias -Option ReadOnly