Вы захотите взглянуть на Расширенные параметры PowerShell .
Вам не придется обрабатывать случай неизвестных параметров, потому что использование одного приведет к ошибке.
Для ограничения значений параметров или проверки входных данных вы можете обратиться к разделу атрибутов параметров . Это касается таких понятий, как наборы параметров (взаимоисключающие параметры), можете ли вы принять значение параметра из конвейера, как сделать параметр обязательным и т. Д. c. Вы можете продвинуться вперед или сделать его простым, но это значительно уменьшает код разбора параметров по сравнению с другими средами выполнения.
Для простоты, вот как вы могли бы определить выше код с использованием расширенных параметров, как написано выше:
Param(
[string]$System
)
Это создаст параметр System
с типом String
и будет вызываться так:
Function-OrScript -System server01
Если вы чтобы получить несколько параметров, просто разделите каждый параметр запятой ,
:
Param(
[string]$Server,
[string]$Build
)
Вы можете расширить это, чтобы использовать несколько систем в одном параметре, указав при желании тип строкового массива:
Param(
[string[]]$System
)
Который будет вызываться как таковой (вы также можете просто включить одно значение, и оно все равно будет работать):
Function-OrScript -System server01, server02, server0X