PowerShell get-process行为在脚本中不同

时间:2016-09-03 23:03:00

标签: powershell

如果我输入此命令,结果是正确的:

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传递给命令吗?

1 个答案:

答案 0 :(得分:3)

1112, 2436参数中的

-Id是数组声明,而不是字符串。删除引号:

$Ids = 1112, 2436 # spaces don't matter
Get-Process -ComputerName localhost -Id $Ids