Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Краткое описание
Описание схем синтаксиса, используемых в 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
Квадратные скобки, добавленные
[]к типу .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значение .Например, является параметром switch. При использовании параметра ListImported командлет возвращает только команды, импортированные из модулей в текущем сеансе.
Get-Command [-ListImported]
Квадратные скобки
[ ]вокруг параметров указывают на необязательные элементы. Параметр и его значение могут быть необязательными. Например, параметр CommandTypeGet-Commandтак как они являются необязательными.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