2009-07-15 72 views
1

跳轉到PowerShell2後,我會在現有腳本中遇到什麼樣的問題(如果有的話)?PowerShell:版本2是否與版本1腳本無縫配合使用?

我需要在Windows XP生產環境中自動執行一些任務,並且PowerShell符合法案。但是,我無法安裝版本2,直到它成爲正式版,所以我現在唯一的選擇是安裝版本1並編寫PS1腳本。

編輯:尋找現實世界中常見的各種問題,我會遇到的各種問題。

+0

你應該補充說你正在尋找真正的問題的例子。 :) – 2009-07-15 20:33:59

回答

4

YES *

除非出於某種罕見的原因,您的v1腳本的一個恰好使用具有附帶V2相同的名稱作爲一個命令行開關:

的Windows PowerShell 2.0與Windows向後兼容PowerShell 1.0。 爲V1編寫的所有腳本都應在V2中運行。

在Windows PowerShell 1.0中,當兩個Windows PowerShell管理單元導出具有相同名稱的cmdlet時,會生成運行時錯誤。

在Windows PowerShell 2.0中,當您鍵入命令名稱時,將添加到會話的最後一個cmdlet運行。

Source: PowerShell V2 - backward compatibility (Windows PowerShell Blog) ...

(via google)

但顯然也有變通到位:

特別是對於企業環境,現在要了解是否更新的技術是非常重要的意味着不兼容的技術。對於PowerShell v2,您在v1中設計的任何腳本都是完全可互操作的。同樣重要的是要注意,如果您在v2中設計了僅使用該版本的cmdlet的腳本,則可以使用特殊語法檢查在執行腳本之前使用的PowerShell版本。太好了!

Source: PowerShell 2.0 Coming Soon – What’s New? (compellent.com) ...

(via google)

*免責聲明:我不知道PowerShell的任何東西,但它可能會像perl的換窗戶。但我引用的來源似乎是「來源」。所以我想它是相當準確的。

+0

實際上,http://blogs.msdn.com/powershell/archive/2009/05/06/powershell-v2-backward-compatibility.aspx與此衝突(並且它不是MS打破兼容性的方式),但有一些注意事項。但是,我想要一些真實世界的答案。也就是說,在PowerShell團隊之外。 – hythlodayr 2009-07-15 20:31:37