Om kommandosyntax

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 skapa kommandon korrekt. Det här avsnittet beskriver hur du tolkar syntaxdiagrammen.

SYNTAXDIAGRAM

Varje stycke i ett kommandosyntaxdiagram representerar en giltig form av kommandot.

Om du vill skapa ett kommando följer du syntaxdiagrammet från vänster till höger. Välj bland de valfria parametrarna och ange värden för platshållarna.

PowerShell använder följande notation för syntaxdiagram.

<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>

Följande är syntaxen för cmdleten New-Alias .

New-Alias [-Name] <string> [-Value] <string> [-Description <string>]
[-Force] [-Option {None | ReadOnly | Constant | Private | AllScope}]
[-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

Syntaxen är versaliserad för läsbarhet, men PowerShell är skiftlägesokänsligt.

Syntaxdiagrammet har följande element.

Kommandonamn

Kommandon börjar alltid med ett kommandonamn, till exempel New-Alias. Ange kommandonamnet eller dess alias, till exempel "gcm" för Get-Command.

Parametrar

Parametrarna för ett kommando är alternativ som avgör vad kommandot gör. Vissa parametrar tar ett "värde" som är användarindata till kommandot.

Kommandot har till exempel Get-Help en namnparameter som gör att du kan ange namnet på det ämne som hjälpen visas för. Ämnesnamnet är värdet för parametern Namn .

I ett PowerShell-kommando börjar parameternamn alltid med ett bindestreck. Bindestrecket talar om för PowerShell att objektet i kommandot är ett parameternamn.

Om du till exempel vill använda parametern Namn för New-Aliasskriver du följande:

-Name

Parametrar kan vara obligatoriska eller valfria. I ett syntaxdiagram omges valfria objekt inom hakparenteser [ ].

Mer information om parametrar finns i about_Parameters.

Parametervärden

Ett parametervärde är de indata som parametern tar. Eftersom Windows PowerShell baseras på Microsoft .NET Framework representeras parametervärdena i syntaxdiagrammet efter deras .NET-typ.

Till exempel tar parametern Get-Help Namn för värdet "String", som är en textsträng, till exempel ett enda ord eller flera ord inom citattecken.

[-Name] <string>

.NET-typen för ett parametervärde omges av vinkelparenteser < > för att indikera att det är platshållare för ett värde och inte en literal som du skriver i ett kommando.

Om du vill använda parametern ersätter du platshållaren för .NET-typen med ett objekt som har den angivna .NET-typen.

Om du till exempel vill använda parametern Namn skriver du "-Name" följt av en sträng, till exempel följande:

-Name MyAlias

Parametrar utan värden

Vissa parametrar accepterar inte indata, så de har inget parametervärde. Parametrar utan värden kallas "switchparametrar" eftersom de fungerar som på/av-växlar. Du inkluderar dem (på) eller utelämnar dem (av) från ett kommando.

Om du vill använda en växelparameter skriver du bara parameternamnet, föregås av ett bindestreck.

Om du till exempel vill använda parametern WhatIf för cmdleten New-Alias skriver du följande:

-WhatIf

Parameteruppsättningar

Parametrarna för ett kommando visas i parameteruppsättningar. Parameteruppsättningar ser ut som styckena i ett syntaxdiagram.

Cmdleten New-Alias har en parameteruppsättning, men många cmdletar har flera parameteruppsättningar. 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. Om parametrar inte kan användas i samma kommando visas de i separata parameteruppsättningar.

Cmdleten Get-Random har till exempel följande parameteruppsättningar:

Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>]
[<CommonParameters>]

Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>]
[<CommonParameters>]

Den första parameteruppsättningen, som returnerar ett slumpmässigt tal, har parametrarna Minimum och Maximum . Den andra parameteruppsättningen, som returnerar ett slumpmässigt markerat objekt från en uppsättning objekt, innehåller parametrarna InputObject och Count . Båda parameteruppsättningarna har parametern SetSeed och de gemensamma parametrarna.

Dessa parameteruppsättningar anger att du kan använda parametrarna InputObject och Count i samma kommando, men du kan inte använda parametrarna Maximum och Count i samma kommando.

Du anger vilken parameteruppsättning du vill använda med hjälp av parametrarna i parameteruppsättningen.

Men 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 Windows PowerShell att du använder parameteruppsättningen Tal och returnerar ett slumpmässigt tal.

I varje parameteruppsättning visas parametrarna i positionsordning. 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.

Symboler i syntaxdiagram

Syntaxdiagrammet visar kommandonamnet, kommandoparametrarna och parametervärdena. Den använder också symboler för att visa hur du skapar ett giltigt kommando.

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 New-Aliasskriver du:

    -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.

    Vinkelparenteser används för att identifiera .NET-typen för det värde som en parameter tar. Om du till exempel vill använda parametern Namn för cmdleten New-Alias ersätter <string> du med en sträng, som är ett enda ord eller en grupp ord som omges av citattecken.

  • Hakparenteser [ ] anger valfria objekt. En parameter och dess värde kan vara valfria, eller så kan namnet på en obligatorisk parameter vara valfritt.

    Parametern Description för och dess värde omges till exempel av New-Alias hakparenteser eftersom båda är valfria.

    [-Description <string>]
    

    Hakparenteserna anger också att parametervärdet <string> Namn krävs, men parameternamnet , "Namn", är valfritt.

    [-Name] <string>
    
  • En höger och vänster hakparentes [] som läggs till i en .NET-typ anger att parametern kan acceptera ett eller flera värden av den typen. Ange värdena i en kommaavgränsad lista.

    Parametern Namn för cmdleten New-Alias tar till exempel bara en sträng, men parametern Namn i Get-Process kan ta en eller flera strängar.

    New-Alias [-Name] <string>
    
    New-Alias -Name MyAlias
    
    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • Klammerparenteser {} anger en "uppräkning", vilket ä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 OR"-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 :

    -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" eller "AllScope".

    -Option ReadOnly
    

Valfria objekt

Hakparenteser [] omger valfria objekt. I cmdlet-syntaxbeskrivningen New-Alias är till exempel parametern Scope valfri. Detta anges i syntaxen av hakparenteserna runt parameternamnet och typen:

[-Scope <string>]

Båda följande exempel är korrekta användningar av cmdleten New-Alias :

New-Alias -Name utd -Value Update-TypeData
New-Alias -Name utd -Value Update-TypeData -Scope Global

Ett parameternamn kan vara valfritt även om värdet för parametern krävs. Detta anges i syntaxen av hakparenteserna runt parameternamnet men inte parametertypen, som i det här exemplet från cmdleten New-Alias :

[-Name] <string> [-Value] <string>

Följande kommandon använder cmdleten New-Alias korrekt. Kommandona ger samma resultat.

New-Alias -Name utd -Value Update-TypeData
New-Alias -Name utd Update-TypeData
New-Alias utd -Value Update-TypeData
New-Alias utd Update-TypeData

Om parameternamnet inte ingår i -instruktionen som skrivet försöker Windows PowerShell använda argumentens position för att tilldela värdena till parametrarna.

Följande exempel är inte klart:

New-Alias utd

Den här cmdleten kräver värden för både namn- och värdeparametrarna.

I syntaxexempel används hakparenteser även vid namngivning och omvandling till .NET Framework typer. I det här sammanhanget indikerar hakparenteser inte att ett element är valfritt.

SE ÄVEN