about_Command_Syntax
Краткое описание
Описание схем синтаксиса, используемых в PowerShell.
Подробное описание
Командлеты Get-Help и Get-Command отображают схемы синтаксиса, которые помогают правильно создавать команды. В этой статье объясняется, как интерпретировать схемы синтаксиса.
Получение синтаксиса для команды
Существует два способа получения синтаксиса для команды: Get-Help
и Get-Command
.
Get-Command;
Эта Get-Command
команда может использоваться для получения сведений о любой команде в системе. Используйте параметр Синтаксиса, чтобы получить синтаксис для команды.
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
Эта Get-Help
команда содержит подробные сведения о командах PowerShell, включая синтаксис, подробное описание командлета и параметров и примеры. Команда выходных данных Get-Help
начинается с краткого описания команды, за которой следует синтаксис.
Get-Help Get-Command
Следующие выходные данные сокращены, чтобы сосредоточиться на описании синтаксиса.
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>]
...
Выходные данные Get-Help
немного отличаются от выходных Get-Command
данных. Обратите внимание на разницу в синтаксисе параметра CommandType . Get-Command
отображает тип параметра в качестве [CommandTypes]
перечисления, пока Get-Help
отображаются возможные значения перечисления.
Наборы параметров
Параметры команды PowerShell перечислены в наборах параметров. Команда PowerShell может иметь один или несколько наборов параметров. Командлет Get-Command
имеет два набора параметров, как показано в предыдущих примерах.
Некоторые параметры командлета уникальны для набора параметров, а другие — в нескольких наборах параметров. Каждый набор параметров представляет формат допустимой команды. Набор параметров содержит только параметры, которые можно использовать вместе в команде. Если параметры нельзя использовать в той же команде, они перечислены в отдельных наборах параметров.
Например, командлет Get-Random имеет следующие наборы параметров:
$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>]
- Первый набор параметров возвращает одно или несколько случайных чисел и имеет параметры "Минимальное", "Максимальное" и "Число ".
- Второй набор параметров возвращает случайный выбранный объект из набора объектов и включает параметры InputObject и Count .
- Третий набор параметров имеет параметр Shuffle, который возвращает коллекцию объектов в случайном порядке, например перемешивание палубы карта.
- Все наборы параметров имеют параметр SetSeed и общие параметры.
Эти наборы параметров показывают, что можно использовать параметры InputObject и Count в той же команде, но нельзя использовать параметры Maximum и Shuffle вместе.
Каждый командлет также имеет набор параметров по умолчанию. Набор параметров по умолчанию используется, если не указывать параметры, уникальные для набора параметров. Например, если вы используете Get-Random
без параметров, PowerShell предполагает, что используется набор параметров RandomNumberParameterSet и возвращает случайное число.
Символы в синтаксической схеме
На схеме синтаксиса перечислены имя команды, параметры команды и значения параметров.
На схемах синтаксиса используются следующие символы:
Дефис
-
указывает имя параметра. В команде введите дефис непосредственно перед именем параметра без промежуточных пробелов, как показано на схеме синтаксиса.Например, чтобы использовать параметр Name для
Get-Command
типаGet-Command -Name
: .
Угловые скобки
< >
указывают текст заполнителя. Вы не вводите угловые скобки или текст заполнителя в команде. Вместо этого замените его элементом, который он описывает.Заполнитель в угловых скобках определяет тип .NET значения, которое принимает параметр. Например, чтобы использовать параметр Name командлета
Get-Command
, замените<string[]>
одну или несколько строк, разделенных запятыми (,
).
Квадратные скобки, добавленные
[]
к типу .NET, указывают на то, что параметр может принимать одно или несколько значений этого типа. Введите значения в виде разделенного запятыми списка.Например, параметры имени и значения командлета
New-Alias
принимают только одну строку.New-Alias [-Name] <string> [-Value] <string>
New-Alias -Name MyAlias -Value mycommand.exe
Но параметр Name get-Process может принимать одну или несколько строк.
Get-Process [-Name] <string[]>
Get-Process -Name Explorer, Winlogon, Services
Параметры без значений
Некоторые параметры не принимают входные данные, поэтому они не имеют значения параметра. Параметры без значений являются параметрами коммутатора. Параметры коммутатора используются как логические значения. Они по умолчанию
$false
. При использовании параметра коммутатора для параметра задано$true
значение .Например, параметр
Get-Command
ListImported является параметром switch. При использовании параметра ListImported командлет возвращает только команды, импортированные из модулей в текущем сеансе.Get-Command [-ListImported]
Квадратные скобки
[ ]
вокруг параметров указывают на необязательные элементы. Параметр и его значение могут быть необязательными. Например, параметрGet-Command
CommandType и его значение заключены в скобки, так как они являются необязательными.Get-Command [-CommandType <CommandTypes>]
Квадратные скобки вокруг имени параметра, но не значение параметра, указывают, что имя параметра является необязательным. Эти параметры называются позициальными параметрами. Значения параметров должны быть представлены в правильном порядке, чтобы значения были привязаны к правильному параметру.
Например, для командлета
New-Alias
требуются значения параметров Name и Value , но имена-Name
параметров и-Value
необязательные.New-Alias [-Name] <string> [-Value] <string>
New-Alias MyAlias mycommand.exe
В каждом наборе параметров параметры отображаются в порядке позиции. Порядок параметров в команде имеет значение только при пропуске необязательных имен параметров. Если имена параметров опущены, PowerShell назначает значения параметрам по позиции и типу. Дополнительные сведения о положении параметров см. в about_Parameters.
Фигурные скобки
{}
указывают на перечисление, которое является набором допустимых значений для параметра.Значения в фигурных скобках разделены вертикальными полосами
|
. Эти полосы указывают на выбор монопольного ИЛИ , что означает, что можно выбрать только одно значение из набора значений, перечисленных в фигурных скобках.Например, синтаксис для командлета
New-Alias
содержит следующее перечисление значений для параметра Option :New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
Фигурные скобки и вертикальные полосы указывают, что можно выбрать любое из перечисленных значений для параметра Option , например
ReadOnly
илиAllScope
.New-Alias -Option ReadOnly
См. также
PowerShell