我正在使用可以found at the link here的Invoke-Parallel CmdLet。当我的脚本块中有一些虚拟代码时,它可以正常工作,但是当我添加一个start-process ...命令时,它会失败并显示错误
Get-RunspaceData : This command cannot be run due to the error: The system
cannot find the file specified.
At c:\crm\Interfaces\Batches\Invoke-Parallel.ps1:592 char:13
我的脚本块看起来像这样。简而言之,我正在将文件名输入一个块,我告诉第三方应用程序将该文件用作进程的输入。当删除启动过程行时,它会起作用,失败。
$childFiles| Invoke-Parallel -ImportVariables {
$importformat = '-f ' + '"CU Imp P19 FI"'
$importfile = '-d ' + $_ + " " + $user + " " + $pass
Write-Host $importformat + " " + $_
start-process .\mmim.exe -ArgumentList $user, $pass, '-l:1',
$importformat, $importfile -Wait -NoNewWindow
return "blah"
}
有没有人知道可能会发生什么?我的PowerShell版本如下
主要:5
次要:0
构建:10586
修订版:117
非常感谢任何帮助。
答案 0 :(得分:1)
每个PowerShell运行空间都有自己的当前位置。如果Invoke-Parallel
未更改生成的运行空间的当前位置以匹配主运行空间的当前位置,则相对路径.\mmim.exe
可以解析为整个不同的可执行文件或根本不解析并产生给定的错误。