将PowerShell脚本编译成EXE无法向下兼容?


PowerShell交流中心分类: Powershell基础将PowerShell脚本编译成EXE无法向下兼容?
0
PowerShellOops asked 6年 ago

在2012上能够编译通过,并正常运行,但是转移到Win7下,就报版本错误了。。。请问如何解决?

×用微信扫描并分享
codecook 管理员 replied 6年 ago

脚本就是脚本,不要把不属于脚本该做的事情让脚本去做。EXE最好用C#开发。就好比你用柴刀去切肉,拿菜刀去砍柴。

chouchouzzj replied 6年 ago

有个项目叫ps2exe,网址是 ps2exe.codeplex.com 不过现在已经转移到msdn上去了,不知道你听说过没?

0 Answers
1
Mooser Lee 管理员 answered 6年 ago

你是用什么工具编译的?PowerShell脚本本身就不能向下兼容,比如你写了一个脚本保护了PS4.0的命令,肯定就不能在PS2.0的机器上运行啊。

chouchouzzj replied 6年 ago

不是这个意思哈,是说,在ps4环境中开发的脚本,调用的都是ps1的指令,拿到ps1上却运行不起来了。。

Mooser Lee 管理员 replied 6年 ago

对不起,之前听说过有个ps1,但是没见过真容。最低的版本见过PS2。所以你可以把编译后的exe在PowerShell 2.0中运行:PS2EXE中有一个参数:-runtime20,你试试。记得你运行PS2的机器上至少得安装.NET 2.0

PowerShellOops replied 6年 ago

恩,win7是2.0,不过我win7没装.net2.0也能运行.ps1脚本。另外,pudn上有ps2exe,貌似不错