获取所有进程PID并将它们作为参数传递给program.exe

时间:2018-05-15 08:40:51

标签: powershell

我想枚举内存中的每个进程,获取其PID,并将它们作为参数传递给program.exe

我正在进入球场:

Get-Process | ForEach-Object {Start-Process "powershell" ./myprogram.exe -command $_.ID}

但是,由于收到错误,这是不正确的:

  

找不到与参数名称'command'匹配的参数

1 个答案:

答案 0 :(得分:1)

您对Start-Process的来电没有意义。您似乎正在尝试同时启动PowerShell和另一个.exe,或者其他一些奇怪的操作。

如果您尝试启动.\myprogram.exe并将ID作为参数传递给它,那么您需要像这样调用它:

Start-Process -FilePath ".\myprogram.exe" -ArgumentList $_.ID

不需要对PowerShell和-Command的引用。

正如@Tomek指出的那样,您可能需要为目标.exe本身包含一些其他参数,如下所示:

Start-Process -FilePath ".\myprogram.exe" -ArgumentList "-PID $($_.ID)"