about_Command_Syntax
Kort beskrivning
Beskriver de syntaxdiagram som används i PowerShell.
Lång beskrivning
Cmdletarna Get-Help och Get-Command visar syntaxdiagram som hjälper dig att konstruera kommandon korrekt. Den här artikeln beskriver hur du tolkar syntaxdiagrammen.
Hämta syntaxen för ett kommando
Det finns två sätt att hämta syntaxen för ett kommando: Get-Help
och Get-Command
.
Get-Command
Kommandot Get-Command
kan användas för att hämta information om alla kommandon i systemet. Använd syntaxparametern för att hämta syntaxen för ett kommando.
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
Kommandot Get-Help
innehåller detaljerad information om PowerShell-kommandon, inklusive syntax, detaljerad beskrivning av cmdlet och parametrar samt exempel. Utdatakommandot Get-Help
börjar med en kort beskrivning av kommandot följt av syntaxen.
Get-Help Get-Command
Följande utdata har förkortats för att fokusera på syntaxbeskrivningen.
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>]
...
Utdata från Get-Help
skiljer sig något från utdata Get-Command
från . Observera skillnaden i syntaxen för parametern CommandType . Get-Command
visar parametertypen som uppräkning, samtidigt Get-Help
som [CommandTypes]
möjliga värden för uppräkningen visas.
Parameteruppsättningar
Parametrarna för ett PowerShell-kommando visas i parameteruppsättningar. Ett PowerShell-kommando kan ha en eller flera parameteruppsättningar. Cmdleten Get-Command
har två parameteruppsättningar, som du ser i föregående exempel.
Vissa cmdlet-parametrar är unika för en parameteruppsättning och andra visas i flera parameteruppsättningar. Varje parameteruppsättning representerar formatet för ett giltigt kommando. En parameteruppsättning innehåller endast parametrar som kan användas tillsammans i ett kommando. När parametrar inte kan användas i samma kommando visas de i separata parameteruppsättningar.
Cmdleten Get-Random har till exempel följande parameteruppsättningar:
$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>]
- Den första parameteruppsättningen returnerar ett eller flera slumpmässiga tal och har parametrarna Minimum, Maximum och Count .
- Den andra parameteruppsättningen returnerar ett slumpmässigt markerat objekt från en uppsättning objekt och innehåller parametrarna InputObject och Count .
- Den tredje parameteruppsättningen har parametern Shuffle som returnerar en samling objekt i slumpmässig ordning, som att blanda en kortlek.
- Alla parameteruppsättningar har parametern SetSeed och de gemensamma parametrarna.
Dessa parameteruppsättningar visar att du kan använda parametrarna InputObject och Count i samma kommando, men du kan inte använda parametrarna Maximum och Shuffle tillsammans.
Varje cmdlet har också en standardparameteruppsättning. Standardparameteruppsättningen används när du inte anger parametrar som är unika för en parameteruppsättning. Om du till exempel använder Get-Random
utan parametrar förutsätter PowerShell att du använder parameteruppsättningen RandomNumberParameterSet och returnerar ett slumpmässigt tal.
Symboler i syntaxdiagram
Syntaxdiagrammet visar kommandonamnet, kommandoparametrarna och parametervärdena.
Syntaxdiagrammen använder följande symboler:
Ett bindestreck
-
anger ett parameternamn. I ett kommando skriver du bindestrecket omedelbart före parameternamnet utan mellanliggande blanksteg, som du ser i syntaxdiagrammet.Om du till exempel vill använda parametern Namn för
Get-Command
skriver du:Get-Command -Name
.
Vinkelparenteser anger platshållartext
< >
. Du skriver inte vinkelparenteserna eller platshållartexten i ett kommando. I stället ersätter du det med det objekt som beskrivs.Platshållaren inom vinkelparenteserna identifierar .NET-typen för värdet som en parameter tar. Om du till exempel vill använda parametern Namn för cmdleten
Get-Command
<string[]>
ersätter du med en eller flera strängar avgränsade med kommatecken (,
).
Hakparenteser
[]
som läggs till i en .NET-typ anger att parametern kan acceptera ett eller flera värden av den typen. Ange värdena som en kommaavgränsad lista.Parametrarna Namn och Värde för cmdleten
New-Alias
tar till exempel bara en sträng var.New-Alias [-Name] <string> [-Value] <string>
New-Alias -Name MyAlias -Value mycommand.exe
Men parametern Namn för Get-Process kan ta en eller flera strängar.
Get-Process [-Name] <string[]>
Get-Process -Name Explorer, Winlogon, Services
Parametrar utan värden
Vissa parametrar accepterar inte indata, så de har inget parametervärde. Parametrar utan värden är växelparametrar. Växelparametrar används som booleska värden. De är som standard
$false
. När du använder en växelparameter anges värdet till$true
.Till exempel är parametern
Get-Command
ListImported för en växelparameter. När du använder parametern ListImported returnerar cmdleten endast kommandon som har importerats från moduler i den aktuella sessionen.Get-Command [-ListImported]
Hakparenteser
[ ]
runt parametrar anger valfria objekt. En parameter och dess värde kan vara valfria. Parametern CommandType för och dess värde omges till exempel avGet-Command
hakparenteser eftersom båda är valfria.Get-Command [-CommandType <CommandTypes>]
Hakparenteser runt parameternamnet, men inte parametervärdet, anger att parameternamnet är valfritt. Dessa parametrar kallas för positionsparametrar. Parametervärdena måste visas i rätt ordning för att värdena ska vara bundna till rätt parameter.
För cmdleten
New-Alias
krävs till exempel parametervärdena Namn och Värde , men parameternamnen-Name
och-Value
, är valfria.New-Alias [-Name] <string> [-Value] <string>
New-Alias MyAlias mycommand.exe
I varje parameteruppsättning visas parametrarna i position. Ordningen på parametrar i ett kommando spelar bara roll när du utelämnar de valfria parameternamnen. När parameternamn utelämnas tilldelar PowerShell värden till parametrar efter position och typ. Mer information om parameterposition finns i about_Parameters.
Klammerparenteser
{}
anger en "uppräkning", som är en uppsättning giltiga värden för en parameter.Värdena i klammerparenteserna avgränsas med lodräta staplar
|
. Dessa staplar anger ett exklusivt eller val, vilket innebär att du bara kan välja ett värde från den uppsättning värden som visas i klammerparenteserna.Syntaxen för cmdleten
New-Alias
innehåller till exempel följande värdeuppräkning för parametern Alternativ :New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
Klammerparenteser och lodräta staplar anger att du kan välja något av de angivna värdena för parametern Alternativ , till exempel
ReadOnly
ellerAllScope
.New-Alias -Option ReadOnly