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-Commandfrån . Observera skillnaden i syntaxen för parametern CommandType . Get-Commandvisar 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-Commandskriver 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 av Get-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 eller AllScope.

    New-Alias -Option ReadOnly
    

Se även