在 Powershell 中处理字符串参数的布尔值

Handling boolean values for String parameters in Powershell

使用 Powershell 我想按如下方式调用我的脚本:

myscript.ps1 -device1 enable -device2 disable -device3 enable

每个 device 参数定义为 String 后跟一个 bool 值。

param(
  [string] $device1,
  [string] $device2,
  [string] $device3
)

PowerShell 是否通过一些预定义的函数或参数来支持它,或者您会以完全不同的方式实现它?我想避免解析 enabledisable.

我会使用 switch:

来实现
param(
  [switch] $device1,
  [switch] $device2,
  [switch] $device3
)

因此您可以使用以下方式调用您的脚本:

myscript.ps1 -device1 -device3