2016-06-09 35 views
0

我使用的調用並行CmdLet可以是found at the link here。當我在我的腳本塊有一些虛擬的代碼,它工作正常,但是當我添加一個啓動過程...命令失敗與一個錯誤說PowerShell:調用並行拋出錯誤,「啓動進程」

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

任何幫助是極大的讚賞。

+1

每個PowerShell運行空間都有其自己的當前位置。 「Invoke-Parallel」是否關心使當前產生的運行空間的位置與主要運行空間的當前位置相匹配?如果對上一個問題的回答是* no *,相對路徑是否將正確解析相對路徑'。\ mmim.exe'? – PetSerAl

+0

@PetSerAl只要有類似穩定的互聯網連接,我就會馬上跳過。 –

+0

@PetSerAl你的回答是解決方案寵物。如果你願意,你可以發佈你的帖子作爲答案,我會接受它。 –

回答

1

每個PowerShell運行空間都有其自己的當前位置。如果Invoke-Parallel不會更改產生的運行空間的當前位置以匹配主運行空間的當前位置,則相對路徑.\mmim.exe可能會解析爲完全不同的可執行文件,或根本不解析併產生給定的錯誤。