Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Назначение: 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