2010-10-15 54 views
3

我想在PowerShell 2.0中運行一個簡單的作業進程,它似乎並沒有運行。PowerShell的啓動作業將不會運行

 
    $job = Start-Job { Return "Some string." } 

當我打電話給$ job時,狀態表示它正在運行。但問題是它永遠不會完成。

在我的Windows 7機器上嘗試了同樣的事情,它立即完成。

我在windows xp上運行powershell 2.0。

有誰知道是什麼原因導致這個問題?我該如何解決這個問題?

這是我$PSVersionTable

 
    Name       Value 
    ----       ----- 
    PSVersion      2.0 
    PSCompatibleVersions   {1.0, 2.0} 
    BuildVersion     6.0.6002.18111 
    PSRemotingProtocolVersion  2.1 
    WSManStackVersion    2.0 
    CLRVersion      4.0.30319.1 
    SerializationVersion   1.1.0.1 
+0

一個簡單的repro將是'Start-Job {1}' – 2010-10-15 03:54:04

回答

5

我想說的PowerShell你的XP配置是 「有點」 修改。 :-)應該在CLR 2.0版如來運行:

Name       Value 
----       ----- 
CLRVersion      2.0.50727.3615 
BuildVersion     6.0.6002.18111 
PSVersion      2.0 
WSManStackVersion    2.0 
PSCompatibleVersions   {1.0, 2.0} 
SerializationVersion   1.1.0.1 
PSRemotingProtocolVersion  2.1 

嘗試重置REG黑客(或Powershell.exe.config MOD),這樣的PowerShell 2.0是在.NET 2.0上運行,看看問題仍然存在。

+0

Keith,謝謝!你絕對正確。顯然,當你使用powershell.exe.config方法加載.net 4下的powershell時,後臺作業不起作用。但是,它看起來像在Windows XP下才是真實的,因爲我的Windows 7安裝 - 也在.net 4下加載 - 運行後臺工作就好了。 – foureight84 2010-10-15 06:37:17