如果我输入此命令,结果是正确的:
Get-Process -ComputerName localhost -Id 1112,2436
Get-Process -ComputerName localhost -Id 1112, 2436
注意第二个命令中列表中的空格。
但如果我尝试在脚本中执行此操作,则会失败:
$str = '1112, 2436'
Get-Process -ComputerName localhost -Id $str
Get-Process:无法绑定参数'Id'。无法将值“1112,2436”转换为“System.Int32”类型。错误:“输入字符串的格式不正确。”
这也失败了:
$str = '1112,2436'
Get-Process -ComputerName localhost -Id $str
Get-Process:找不到包含进程标识符11122436的进程。
我知道如何在Powershell脚本中将两个ID传递给命令吗?
答案 0 :(得分:3)
1112, 2436
参数中的 -Id
是数组声明,而不是字符串。删除引号:
$Ids = 1112, 2436 # spaces don't matter
Get-Process -ComputerName localhost -Id $Ids