about_Command_Syntax

Description courte

Décrit les diagrammes de syntaxe utilisés dans PowerShell.

Description longue

Les applets de commande Get-Help et Get-Command affichent des diagrammes de syntaxe pour vous aider à construire correctement des commandes. Cet article explique comment interpréter les diagrammes de syntaxe.

Obtenir la syntaxe d’une commande

Il existe deux façons d’obtenir la syntaxe d’une commande : Get-Help et Get-Command.

Get-Command

La Get-Command commande peut être utilisée pour obtenir des informations sur n’importe quelle commande sur votre système. Utilisez le paramètre Syntax pour obtenir la syntaxe d’une commande.

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

La Get-Help commande fournit des informations détaillées sur les commandes PowerShell, notamment la syntaxe, la description détaillée de l’applet de commande et des paramètres et des exemples. La commande de sortie Get-Help commence par une brève description de la commande suivie de la syntaxe.

Get-Help Get-Command

La sortie suivante a été raccourcie pour se concentrer sur la description de la syntaxe.

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

La sortie de Get-Help est légèrement différente de la sortie de Get-Command. Notez la différence dans la syntaxe du paramètre CommandType . Get-Command affiche le type de paramètre comme [CommandTypes] énumération, tandis qu’il Get-Help affiche les valeurs possibles pour l’énumération.

Ensembles de paramètres

Les paramètres d’une commande PowerShell sont répertoriés dans les jeux de paramètres. Une commande PowerShell peut avoir un ou plusieurs jeux de paramètres. L’applet Get-Command de commande a deux jeux de paramètres, comme indiqué dans les exemples précédents.

Certains paramètres de l’applet de commande sont uniques à un jeu de paramètres, et d’autres apparaissent dans plusieurs jeux de paramètres. Chaque jeu de paramètres représente le format d’une commande valide. Un jeu de paramètres inclut uniquement les paramètres qui peuvent être utilisés ensemble dans une commande. Lorsque les paramètres ne peuvent pas être utilisés dans la même commande, ils sont répertoriés dans des jeux de paramètres distincts.

Par exemple, l’applet de commande Get-Random a les jeux de paramètres suivants :

$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>]
  • Le premier jeu de paramètres retourne un ou plusieurs nombres aléatoires et a les paramètres Minimum, Maximum et Count .
  • Le deuxième jeu de paramètres retourne un objet sélectionné de manière aléatoire à partir d’un ensemble d’objets et inclut les paramètres InputObject et Count .
  • Le troisième jeu de paramètres a le paramètre Shuffle qui retourne une collection d’objets dans un ordre aléatoire, comme l’écriture aléatoire d’un jeu de carte s.
  • Tous les jeux de paramètres ont le paramètre SetSeed et les paramètres communs.

Ces jeux de paramètres montrent que vous pouvez utiliser les paramètres InputObject et Count dans la même commande, mais vous ne pouvez pas utiliser les paramètres Maximum et Shuffle ensemble.

Chaque applet de commande a également un jeu de paramètres par défaut. Le jeu de paramètres par défaut est utilisé lorsque vous ne spécifiez pas de paramètres uniques à un jeu de paramètres. Par exemple, si vous utilisez Get-Random sans paramètres, PowerShell suppose que vous utilisez le jeu de paramètres RandomNumberParameterSet et qu’il retourne un nombre aléatoire.

Symboles dans les diagrammes de syntaxe

Le diagramme de syntaxe répertorie le nom de la commande, les paramètres de commande et les valeurs des paramètres.

Les diagrammes de syntaxe utilisent les symboles suivants :

  • Un trait - d’union indique un nom de paramètre. Dans une commande, tapez le trait d’union immédiatement avant le nom du paramètre sans espaces intermédiaires, comme indiqué dans le diagramme de syntaxe.

    Par exemple, pour utiliser le paramètre Name de Get-Command, type : Get-Command -Name.

  • Les crochets < > d’angle indiquent le texte de l’espace réservé. Vous ne tapez pas les crochets d’angle ou le texte de l’espace réservé dans une commande. Au lieu de cela, vous le remplacez par l’élément qu’il décrit.

    L’espace réservé à l’intérieur des crochets angle identifie le type .NET de la valeur qu’un paramètre prend. Par exemple, pour utiliser le paramètre Name de l’applet Get-Command de commande, vous remplacez le <string[]> par une ou plusieurs chaînes séparées par des virgules (,).

  • Les crochets ajoutés [] à un type .NET indiquent que le paramètre peut accepter une ou plusieurs valeurs de ce type. Entrez les valeurs sous la forme d’une liste séparée par des virgules.

    Par exemple, les paramètres Nom et Valeur de l’applet New-Alias de commande ne prennent qu’une seule chaîne.

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

    Toutefois, le paramètre Name de Get-Process peut prendre une ou plusieurs chaînes.

    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • Paramètres sans valeurs

    Certains paramètres n’acceptent pas d’entrée, de sorte qu’ils n’ont pas de valeur de paramètre. Les paramètres sans valeurs sont des paramètres de commutateur. Les paramètres de commutateur sont utilisés comme des valeurs booléennes. Ils ont la valeur par défaut $false. Lorsque vous utilisez un paramètre switch, la valeur est définie sur $true.

    Par exemple, le paramètre ListImported d’est Get-Command un paramètre switch. Lorsque vous utilisez le paramètre ListImported , l’applet de commande retourne uniquement les commandes qui ont été importées à partir de modules dans la session active.

    Get-Command [-ListImported]
    
  • Les crochets autour des paramètres indiquent des éléments facultatifs [ ] . Un paramètre et sa valeur peuvent être facultatifs. Par exemple, le paramètre CommandType de Get-Command et sa valeur sont placés entre crochets, car ils sont tous deux facultatifs.

    Get-Command [-CommandType <CommandTypes>]
    

    Les crochets autour du nom du paramètre, mais pas la valeur du paramètre, indiquent que le nom du paramètre est facultatif. Ces paramètres sont appelés paramètres positionnels. Les valeurs de paramètre doivent être présentées dans l’ordre correct pour que les valeurs soient liées au paramètre correct.

    Par exemple, pour l’applet New-Alias de commande, les valeurs de paramètre Name et Value sont requises, mais les noms -Name de paramètres et -Value, sont facultatifs.

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

    Dans chaque jeu de paramètres, les paramètres apparaissent dans l’ordre de position. L’ordre des paramètres dans une commande est important uniquement lorsque vous omettez les noms de paramètres facultatifs. Lorsque les noms de paramètres sont omis, PowerShell affecte des valeurs aux paramètres par position et par type. Pour plus d’informations sur la position des paramètres, consultez about_Parameters.

  • Les accolades {} indiquent une « énumération », qui est un ensemble de valeurs valides pour un paramètre.

    Les valeurs des accolades sont séparées par des barres verticales |. Ces barres indiquent un choix exclusif OU , ce qui signifie que vous ne pouvez choisir qu’une seule valeur dans l’ensemble de valeurs répertoriées à l’intérieur des accolades.

    Par exemple, la syntaxe de l’applet New-Alias de commande inclut l’énumération de valeur suivante pour le paramètre Option :

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

    Les accolades et barres verticales indiquent que vous pouvez choisir l’une des valeurs répertoriées pour le paramètre Option , comme ReadOnly ou AllScope.

    New-Alias -Option ReadOnly
    

Voir aussi