Поделиться через


about_Parameters

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

РАЗДЕЛ

about_Parameters

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

В этом разделе описывается работа с параметрами команд в Windows PowerShell.

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

Большинство команд Windows PowerShell, например командлеты, функции и скрипты, применяют параметры, чтобы пользователи могли ввести данные или выбрать параметры. Параметры идут после имени команды и используют следующий формат:

        -<parameter_name> <parameter_value>

Имени параметра предшествует дефис (-), что сообщает Windows PowerShell о том, что после дефиса размещено имя параметра. Некоторые параметры не принимают значение. Для других параметров необходимо значение, но не требуется имя параметра в команде.

Тип параметров и требования к этим параметрам могут быть различными. Чтобы найти сведения о параметрах команды, используйте командлет Get-Help. Например, чтобы найти сведения о параметрах командлета Get-Date, введите:

        Get-Help Get-ChildItem

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

        Get-Help $home\Documents\Scripts\Get-Function.ps1

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

Кроме того, можно использовать параметр Parameter командлета Get-Help для поиска сведений об определенном параметре. Или же можно использовать параметр Parameter с подстановочным знаком (*), чтобы найти сведения обо всех параметрах команды. Например, следующая команда возвращает сведения обо всех параметрах командлета Get-Member:

        Get-Help Get-Member -Parameter *

ЗНАЧЕНИЯ ПАРАМЕТРОВ ПО УМОЛЧАНИЮ

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

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

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

Можно также задать значение по умолчанию для любого параметра командлета или дополнительной функции. Сведения об установке настраиваемых значений по умолчанию см. в разделе about_Parameters_Default_Values.

ТАБЛИЦА АТРИБУТОВ ПАРАМЕТРОВ

При использовании параметров Full, Parameter или Online командлета Get-Help он отображает таблицу атрибутов параметра с подробными сведениями о параметре.

В них включена информация, необходимая для использования параметра. Например, раздел справки для командлета Get-ChildItem содержит следующие сведения о параметре Path:

        -path <string[]>
            Specifies a path of one or more locations. Wildcard characters are
            permitted. The default location is the current directory (.).

        Required?                    false
        Position?                    1
        Default value                Current directory
        Accept pipeline input?       true (ByValue, ByPropertyName)
        Accept wildcard characters?  true

Сведения о параметрах включают в себя синтаксис, описание и атрибуты параметра. Атрибуты параметра описаны в следующих разделах.

ОБЯЗАТЕЛЬНЫЙ ПАРАМЕТР?

Этот параметр указывает, является ли параметр обязательным, т. е должны ли все команды, использующие этот командлет, содержать данный параметр. Если значение равно "True" и параметра нет в команде, Windows PowerShell запрашивает значение параметра.

ПОЗИЦИЯ ПАРАМЕТРА?

Этот параметр указывает, можно ли задать значение параметра, не указав перед ним имя параметра. Если значение равно "0" или "named", имя параметра необходимо. Такой тип параметра называется именованным параметром. Именованный параметр может быть указан в любом месте после имени командлета.

Если параметр "Позиция параметра?" равно целому числу, отличному от 0, имя параметра не требуется. Такой тип параметра называется позиционным, а номер указывает положение, в котором параметр должен быть размещен по отношению к другим позиционным параметрам. Если указать имя для позиционного параметра, он может быть указан в любом месте после имени командлета.

Например, у командлета Get-ChildItem есть параметры Path и Exclude. Параметр "Позиция параметра?" для Path равен 1, т. е. это позиционный параметр. Параметр "Позиция параметра?" для Exclude равен 0, т. е. это именованный параметр.

Это означает, что для параметра Path не требуется имя, но его значение должно быть указано первым или он должен быть единственным неименованным параметром в команде. Но поскольку параметр Exclude именованный, его можно поместить в любом месте в команде.

В результате применения параметров "Позиция параметра?" для этих двух параметров можно использовать любую из следующих команд:

        Get-ChildItem -path c:\techdocs -exclude *.ppt
        Get-ChildItem c:\techdocs -exclude *.ppt
        Get-ChildItem -exclude *.ppt -path c:\techdocs
        Get-ChildItem -exclude *.ppt c:\techdocs

Если вы добавите другой позиционный параметр без имени, его необходимо будет разместить в порядке, указанном параметром "Позиция параметра"?.

ТИП ПАРАМЕТРА

Этот параметр указывает тип Microsoft .NET Framework значения параметра. Например, если тип — Int32, значение параметра должно быть целым. Если тип — строка, значение параметра должно быть символьной строкой. Если строка содержит пробелы, значение должно быть заключено в кавычки или пробелам должен предшествовать escape-символ (`).

ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ

Этот параметр определяет значение, которое параметр будет предполагать, если не указано никакое другое значение. Например, значение по умолчанию параметра Path часто представляет текущий каталог. У обязательных параметров никогда нет значения по умолчанию. Для многих необязательных параметров значение по умолчанию отсутствует, так как параметр не имеет влияния, если он не используется.

ПРИНИМАЕТ НЕСКОЛЬКО ЗНАЧЕНИЙ?

Этот параметр указывает, принимает ли параметр несколько значений. Если параметр принимает несколько значений, вы можете ввести список с разделителем-запятой в качестве значения параметра в команде или сохранить такой список (массив) в переменной и указать переменную в качестве значения параметра.

Например, параметр ServiceName командлета Get-Service принимает несколько значений. Обе следующие команды допустимы:

        get-service -servicename winrm, netlogon


        $s = "winrm", "netlogon"
        get-service -servicename $s

ПРИНИМАЕТ ВХОДНЫЕ ДАННЫЕ КОНВЕЙЕРА?

Этот параметр указывает, можно ли использовать оператор конвейера (|) для отправки значения параметру.

    
    Value                    Description
    -----                    -----------
    False                    Indicates that you cannot pipe a value to the 
                             parameter.


    True (by Value)          Indicates that you can pipe any value to the 
                             parameter, just so the value has the .NET 
                             Framework type specified for the parameter or the
                             value can be converted to the specified .NET 
                             Framework type.


                             When a parameter is "True (by Value)", Windows 
                             PowerShell tries to associate any piped values 
                             with that parameter before it tries other methods
                             to interpret the command.


    True (by Property Name)  Indicates that you can pipe a value to the 
                             parameter, but the .NET Framework type of the 
                             parameter must include a property with the same
                             name as the parameter.
 
                             For example, you can pipe a value to a Name 
                             parameter only when the value has a property 
                             called "Name".

ПРИНИМАЕТ ПОДСТАНОВОЧНЫЕ ЗНАКИ?

Этот параметр указывает, может ли значение параметра содержать подстановочные знаки, чтобы сопоставить его с несколькими элементами в целевом контейнере.

ОБЩИЕ ПАРАМЕТРЫ

Общие параметры можно использовать с любым командлетом. Информацию об общих параметрах см. в разделе about_CommonParameters.

СМ. ТАКЖЕ

about_Command_syntax

about_Comment_Based_Help

about_Functions_Advanced

about_Parameters_Default_Values

about_Pipelines

about_Wildcards