about_Command_Syntax
Краткое описание
Описание синтаксических схем, используемых в PowerShell.
Подробное описание
Командлеты Get-Help и Get-Command отображают схемы синтаксиса, помогающие правильно создавать команды. В этой статье объясняется, как интерпретировать синтаксические схемы.
Получение синтаксиса для команды
Синтаксис команды можно получить двумя способами: Get-Help
и Get-Command
.
Get-Command;
Команду Get-Command
можно использовать для получения сведений о любой команде в системе. Используйте параметр Syntax , чтобы получить синтаксис команды.
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>]
- Первый набор параметров возвращает одно или несколько случайных чисел и имеет параметры Minimum, Maximum и Count .
- Второй набор параметров возвращает случайно выбранный объект из набора объектов и включает параметры InputObject и Count .
- Третий набор параметров имеет параметр Shuffle , который возвращает коллекцию объектов в случайном порядке, например перемешивание колоды карт.
- Все наборы параметров имеют параметр SetSeed и общие параметры.
Эти наборы параметров показывают, что параметры InputObject и Count можно использовать в одной команде, но нельзя использовать параметры Maximum и Shuffle вместе.
Каждый командлет также имеет набор параметров по умолчанию. Набор параметров по умолчанию используется, если вы не указываете параметры, которые являются уникальными для набора параметров. Например, если вы используете Get-Random
без параметров, PowerShell предполагает, что вы используете набор параметров RandomNumberParameterSet и возвращает случайное число.
Символы в синтаксических схемах
На схеме синтаксиса перечислены имя команды, параметры команды и значения параметров.
На схемах синтаксиса используются следующие символы:
Дефис
-
указывает имя параметра. В команде введите дефис непосредственно перед именем параметра без промежуточных пробелов, как показано на схеме синтаксиса.Например, чтобы использовать параметр Name для , введите
Get-Command
:Get-Command -Name
.
Угловые скобки
< >
обозначают замещающий текст. Вы не вводите угловые скобки или замещающий текст в команде. Вместо этого замените его элементом, который он описывает.Заполнитель в угловых скобках определяет тип .NET значения, которое принимает параметр. Например, чтобы использовать параметр Name командлета
Get-Command
, замените<string[]>
на одну или несколько строк, разделенных запятыми (,
).
Квадратные скобки, добавленные
[]
к типу .NET, указывают на то, что параметр может принимать одно или несколько значений этого типа. Введите значения в виде списка, разделенного запятыми.Например, параметры Name и Value командлета
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
Параметры без значений
Некоторые параметры не принимают входные данные, поэтому они не имеют значения параметра. Параметры без значений являются параметрами переключателя. Параметры switch используются в качестве логических значений. По умолчанию используется значение
$false
. При использовании параметра switch устанавливается значение$true
.Например, параметр ListImported является
Get-Command
параметром 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