PowerShell:版本2是否与版本1脚本无缝配合使用?
跳转到PowerShell2后,我会在现有脚本中遇到什么样的问题(如果有的话)?PowerShell:版本2是否与版本1脚本无缝配合使用?
我需要在Windows XP生产环境中自动执行一些任务,并且PowerShell符合法案。但是,我无法安装版本2,直到它成为正式版,所以我现在唯一的选择是安装版本1并编写PS1脚本。
编辑:寻找现实世界中常见的各种问题,我会遇到的各种问题。
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) ...
但显然也有变通到位:
特别是对于企业环境,现在要了解是否更新的技术是非常重要的意味着不兼容的技术。对于PowerShell v2,您在v1中设计的任何脚本都是完全可互操作的。同样重要的是要注意,如果您在v2中设计了仅使用该版本的cmdlet的脚本,则可以使用特殊语法检查在执行脚本之前使用的PowerShell版本。太好了!
Source: PowerShell 2.0 Coming Soon – What’s New? (compellent.com) ...
*免责声明:我不知道PowerShell的任何东西,但它可能会像perl的换窗户。但我引用的来源似乎是“来源”。所以我想它是相当准确的。
实际上,http://blogs.msdn.com/powershell/archive/2009/05/06/powershell-v2-backward-compatibility.aspx与此冲突(并且它不是MS打破兼容性的方式),但有一些注意事项。但是,我想要一些真实世界的答案。也就是说,在PowerShell团队之外。 – hythlodayr 2009-07-15 20:31:37
你应该补充说你正在寻找真正的问题的例子。 :) – 2009-07-15 20:33:59