Сведения о синтаксисе команд

КРАТКОЕ ОПИСАНИЕ

Описание синтаксических схем, используемых в PowerShell.

ПОДРОБНОЕ ОПИСАНИЕ

Командлеты Get-Help и Get-Command отображают синтаксические схемы, помогающие правильно создавать команды. В этом разделе объясняется, как интерпретировать синтаксические схемы.

СИНТАКСИЧЕСКИЕ СХЕМЫ

Каждый абзац на схеме синтаксиса команд представляет допустимую форму команды.

Чтобы создать команду, следуйте схеме синтаксиса слева направо. Выберите один из необязательных параметров и укажите значения для заполнителей.

PowerShell использует следующую нотацию для синтаксических схем.

<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>

Ниже приведен синтаксис командлета New-Alias .

New-Alias [-Name] <string> [-Value] <string> [-Description <string>]
[-Force] [-Option {None | ReadOnly | Constant | Private | AllScope}]
[-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

Синтаксис используется с прописной буквы для удобства чтения, но в PowerShell регистр не учитывается.

Синтаксическая схема содержит следующие элементы.

Имя команды

Команды всегда начинаются с имени команды, например New-Alias. Введите имя команды или ее псевдоним, например "gcm" для Get-Command.

Параметры

Параметры команды — это параметры, определяющие, что делает команда. Некоторые параметры принимают значение , которое является введенным пользователем в команду.

Например, Get-Help команда имеет параметр Name , который позволяет указать имя раздела, для которого отображается справка. Имя раздела — это значение параметра Name .

В команде PowerShell имена параметров всегда начинаются с дефиса. Дефис сообщает PowerShell, что элемент в команде является именем параметра.

Например, чтобы использовать параметр Name для New-Alias, введите следующее:

-Name

Параметры могут быть обязательными или необязательными. На синтаксической схеме необязательные элементы заключаются в квадратные скобки [ ].

Дополнительные сведения о параметрах см. в разделе about_Parameters.

Значения параметров

Значение параметра — это входные данные, которые принимает параметр. Так как Windows PowerShell основана на платформа .NET Framework Майкрософт, значения параметров представлены на схеме синтаксиса по типу .NET.

Например, параметр Get-Help Name объекта принимает значение String, которое представляет собой текстовую строку, например одно слово или несколько слов, заключенных в кавычки.

[-Name] <string>

Тип .NET значения параметра заключен в угловые скобки < > , чтобы указать, что это заполнитель для значения, а не литерал, введенный в команде.

Чтобы использовать параметр , замените заполнитель типа .NET объектом с указанным типом .NET.

Например, чтобы использовать параметр Name , введите "-Name", а затем строку, например следующую:

-Name MyAlias

Параметры без значений

Некоторые параметры не принимают входные данные, поэтому они не имеют значения параметра. Параметры без значений называются параметрами переключателя, так как они работают так же, как переключатели включения и выключения. Вы включаете их (вкл.) или пропускаете их (выключаете) в команде.

Чтобы использовать параметр switch, просто введите имя параметра, перед которым следует дефис.

Например, чтобы использовать параметр WhatIf командлета, введите New-Alias следующее:

-WhatIf

Наборы параметров

Параметры команды перечислены в наборах параметров. Наборы параметров выглядят как абзацы синтаксической схемы.

Командлет New-Alias имеет один набор параметров, но многие командлеты имеют несколько наборов параметров. Некоторые параметры командлета являются уникальными для набора параметров, а другие — в нескольких наборах параметров. Каждый набор параметров представляет формат допустимой команды. Набор параметров включает только параметры, которые можно использовать вместе в команде. Если параметры нельзя использовать в одной команде, они отображаются в отдельных наборах параметров.

Например, командлет Get-Random имеет следующие наборы параметров:

Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>]
[<CommonParameters>]

Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>]
[<CommonParameters>]

Первый набор параметров, возвращающий случайное число, имеет параметры Minimum и Maximum . Второй набор параметров, который возвращает случайно выбранный объект из набора объектов, включает параметры InputObject и Count . Оба набора параметров имеют параметр SetSeed и общие параметры.

Эти наборы параметров указывают, что можно использовать параметры InputObject и Count в одной команде, но нельзя использовать параметры Maximum и Count в одной команде.

Вы указываете, какой набор параметров вы хотите использовать, используя параметры в этом наборе параметров.

Однако у каждого командлета также есть набор параметров по умолчанию. Набор параметров по умолчанию используется, если вы не указываете параметры, которые являются уникальными для набора параметров. Например, при использовании Get-Random без параметров Windows PowerShell предполагается, что используется набор параметров Number и возвращается случайное число.

В каждом наборе параметров параметры отображаются в порядке расположения. Порядок параметров в команде имеет значение только при пропуске необязательных имен параметров. Если имена параметров опущены, PowerShell присваивает значения параметрам по позиции и типу. Дополнительные сведения о положении параметра см. в разделе about_Parameters.

Символы в синтаксических схемах

На схеме синтаксиса перечислены имя команды, параметры команды и значения параметров. Он также использует символы, чтобы показать, как создать допустимую команду.

На синтаксических схемах используются следующие символы:

  • Дефис - указывает имя параметра. В команде введите дефис непосредственно перед именем параметра без промежуточных пробелов, как показано на схеме синтаксиса.

    Например, чтобы использовать параметр Name для , введите New-Alias:

    -Name
    
  • Угловые скобки <> обозначают текст заполнителя. Вы не вводите угловые скобки или текст заполнителя в команде. Вместо этого замените его элементом, который он описывает.

    Угловые скобки используются для определения типа .NET значения, которое принимает параметр. Например, чтобы использовать параметр Name командлета New-Alias , замените <string> на строку, которая представляет собой отдельное слово или группу слов, заключенных в кавычки.

  • Квадратные скобки [ ] обозначают необязательные элементы. Параметр и его значение могут быть необязательными, или имя обязательного параметра может быть необязательным.

    Например, параметр New-AliasDescription и его значение заключены в квадратные скобки, так как оба они являются необязательными.

    [-Description <string>]
    

    Квадратные скобки также указывают, что значение <string> параметра Name является обязательным, но имя параметра "Name" является необязательным.

    [-Name] <string>
    
  • Правая и левая скобки [] , добавленные к типу .NET, указывают, что параметр может принимать одно или несколько значений этого типа. Введите значения в список с разделителями-запятыми.

    Например, параметр Name командлета New-Alias принимает только одну строку, а параметр Nameget-Process может принимать одну или несколько строк.

    New-Alias [-Name] <string>
    
    New-Alias -Name MyAlias
    
    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • Фигурные скобки {} указывают на перечисление , которое представляет собой набор допустимых значений для параметра.

    Значения в фигурных скобках разделяются вертикальными полосами |. Эти гистограммы указывают на выбор "монопольного ИЛИ", то есть можно выбрать только одно значение из набора значений, перечисленных в фигурных скобках.

    Например, синтаксис командлета New-Alias включает следующее перечисление значений для параметра Option :

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

    Фигурные скобки и вертикальные полосы указывают, что можно выбрать любое из перечисленных значений для параметра Option , например ReadOnly или AllScope.

    -Option ReadOnly
    

Необязательные элементы

Квадратные скобки [] заключают необязательные элементы. Например, в описании синтаксиса New-Alias командлета параметр Scope является необязательным. Это указывается в синтаксисе в квадратных скобках вокруг имени и типа параметра:

[-Scope <string>]

В обоих следующих примерах командлета New-Alias используется правильно:

New-Alias -Name utd -Value Update-TypeData
New-Alias -Name utd -Value Update-TypeData -Scope Global

Имя параметра может быть необязательным, даже если для этого параметра требуется значение. Это указывается в синтаксисе в квадратных скобках вокруг имени параметра, но не типом параметра, как в этом примере командлета New-Alias :

[-Name] <string> [-Value] <string>

Следующие команды правильно используют New-Alias командлет . Команды дают тот же результат.

New-Alias -Name utd -Value Update-TypeData
New-Alias -Name utd Update-TypeData
New-Alias utd -Value Update-TypeData
New-Alias utd Update-TypeData

Если имя параметра не включено в инструкцию как типизированное, Windows PowerShell пытается использовать позицию аргументов для назначения значений параметрам.

Следующий пример не завершен:

New-Alias utd

Для этого командлета требуются значения для параметров Name и Value .

В примерах синтаксиса квадратные скобки также используются для именования и приведения к платформа .NET Framework типам. В этом контексте квадратные скобки не указывают, что элемент является необязательным.

СМ. ТАКЖЕ