about_Command_Syntax

Descrizione breve

Descrive i diagrammi di sintassi usati in PowerShell.

Descrizione lunga

I cmdlet Get-Help e Get-Command visualizzano diagrammi di sintassi che consentono di costruire correttamente i comandi. Questo articolo illustra come interpretare i diagrammi di sintassi.

Ottenere la sintassi per un comando

Esistono due modi per ottenere la sintassi per un comando: Get-Help e Get-Command.

Get-Command

Il Get-Command comando può essere usato per ottenere informazioni su qualsiasi comando nel sistema. Usare il parametro Syntax per ottenere la sintassi per un comando.

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

Il Get-Help comando fornisce informazioni dettagliate sui comandi di PowerShell, tra cui sintassi, descrizione dettagliata del cmdlet e dei parametri ed esempi. Il comando di output Get-Help inizia con una breve descrizione del comando seguito dalla sintassi.

Get-Help Get-Command

L'output seguente è stato abbreviato per concentrarsi sulla descrizione della sintassi.

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

L'output di Get-Help è leggermente diverso dall'output di Get-Command. Si noti la differenza nella sintassi per il parametro CommandType . Get-Command mostra il tipo di parametro come [CommandTypes] enumerazione, mentre Get-Help mostra i valori possibili per l'enumerazione.

Set di parametri

I parametri di un comando di PowerShell sono elencati nei set di parametri. Un comando di PowerShell può avere uno o più set di parametri. Il Get-Command cmdlet ha due set di parametri, come illustrato negli esempi precedenti.

Alcuni parametri del cmdlet sono univoci per un set di parametri e altri vengono visualizzati in più set di parametri. Ogni set di parametri rappresenta il formato per un comando valido. Un set di parametri include solo i parametri che possono essere usati insieme in un comando. Quando i parametri non possono essere usati nello stesso comando, vengono elencati in set di parametri separati.

Ad esempio, il cmdlet Get-Random include i set di parametri seguenti:

$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>]
  • Il primo set di parametri restituisce uno o più numeri casuali e ha i parametri Minimum, Maximum e Count .
  • Il secondo set di parametri restituisce un oggetto selezionato in modo casuale da un set di oggetti e include i parametri InputObject e Count .
  • Il terzo set di parametri ha il parametro Shuffle che restituisce una raccolta di oggetti in un ordine casuale, ad esempio la riproduzione casuale di un mazzo di carte.
  • Tutti i set di parametri hanno il parametro SetSeed e i parametri comuni.

Questi set di parametri mostrano che è possibile usare i parametri InputObject e Count nello stesso comando, ma non è possibile usare insieme i parametri Maximum e Shuffle .

Ogni cmdlet ha anche un set di parametri predefinito. Il set di parametri predefinito viene usato quando non si specificano parametri univoci per un set di parametri. Ad esempio, se si usa Get-Random senza parametri, PowerShell presuppone che si stia usando il set di parametri RandomNumberParameterSet e restituisce un numero casuale.

Simboli nei diagrammi di sintassi

Il diagramma della sintassi elenca il nome del comando, i parametri del comando e i valori dei parametri.

I diagrammi di sintassi usano i simboli seguenti:

  • Un trattino - indica un nome di parametro. In un comando digitare il trattino immediatamente prima del nome del parametro senza spazi intermedi, come illustrato nel diagramma della sintassi.

    Ad esempio, per usare il parametro Name di Get-Command, digitare : Get-Command -Name.

  • Le parentesi angolari < > indicano il testo segnaposto. Non si digitano le parentesi angolari o il testo segnaposto in un comando. Sostituirlo invece con l'elemento descritto.

    Il segnaposto all'interno delle parentesi angolari identifica il tipo .NET del valore che un parametro accetta. Ad esempio, per usare il parametro Name del Get-Command cmdlet , sostituire con <string[]> una o più stringhe separate da virgole (,).

  • Le [] parentesi quadre aggiunte a un tipo .NET indicano che il parametro può accettare uno o più valori di tale tipo. Immettere i valori come elenco delimitato da virgole.

    Ad esempio, i parametri Name e Value del New-Alias cmdlet accettano una sola stringa.

    New-Alias [-Name] <string> [-Value] <string>
    
    New-Alias -Name MyAlias -Value mycommand.exe
    

    Ma il parametro Name di Get-Process può accettare una o più stringhe.

    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • Parametri senza valori

    Alcuni parametri non accettano l'input, quindi non hanno un valore di parametro. I parametri senza valori sono parametri switch. I parametri switch vengono usati come valori booleani. Per impostazione predefinita, viene impostato su $false. Quando si usa un parametro switch, il valore viene impostato su $true.

    Ad esempio, il parametro ListImported di Get-Command è un parametro switch. Quando si usa il parametro ListImported , il cmdlet restituisce solo i comandi importati dai moduli nella sessione corrente.

    Get-Command [-ListImported]
    
  • Le parentesi quadre [ ] intorno ai parametri indicano elementi facoltativi. Un parametro e il relativo valore possono essere facoltativi. Ad esempio, il parametro CommandType di Get-Command e il relativo valore sono racchiusi tra parentesi quadre perché sono entrambi facoltativi.

    Get-Command [-CommandType <CommandTypes>]
    

    Tra parentesi quadre intorno al nome del parametro, ma non al valore del parametro, indicare che il nome del parametro è facoltativo. Questi parametri sono noti come parametri posizionali. I valori dei parametri devono essere presentati nell'ordine corretto per associare i valori al parametro corretto.

    Ad esempio, per il New-Alias cmdlet, i valori dei parametri Name e Value sono obbligatori, ma i nomi -Name dei parametri e -Value, sono facoltativi.

    New-Alias [-Name] <string> [-Value] <string>
    
    New-Alias MyAlias mycommand.exe
    

    In ogni set di parametri i parametri vengono visualizzati nell'ordine di posizione. L'ordine dei parametri in un comando è importante solo quando si omettono i nomi dei parametri facoltativi. Quando i nomi dei parametri vengono omessi, PowerShell assegna valori ai parametri per posizione e tipo. Per altre informazioni sulla posizione dei parametri, vedere about_Parameters.

  • Le parentesi graffe {} indicano un'"enumerazione", ovvero un set di valori validi per un parametro.

    I valori nelle parentesi graffe sono separati da barre |verticali. Queste barre indicano una scelta OR esclusiva, ovvero è possibile scegliere un solo valore dal set di valori elencati all'interno delle parentesi graffe.

    Ad esempio, la sintassi per il New-Alias cmdlet include l'enumerazione del valore seguente per il parametro Option :

    New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
    

    Le parentesi graffe e le barre verticali indicano che è possibile scegliere uno dei valori elencati per il parametro Option , ad esempio ReadOnly o AllScope.

    New-Alias -Option ReadOnly
    

Vedi anche