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 diGet-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
oAllScope
.New-Alias -Option ReadOnly