.net 4.0 如何使用PowerShell 3.0在Windows 2008R2上运行扩展存档?

.net 4.0 如何使用PowerShell 3.0在Windows 2008R2上运行扩展存档?,.net-4.0,unzip,powershell-3.0,compression,.net 4.0,Unzip,Powershell 3.0,Compression,我正在研究将我们的PowerShell框架升级到3.0版;目前,我们在Windows 2008R2服务器上有许多为2.0编写的脚本。我发现了一些可以轻松解决的问题,但我发现在PowerShell 3.0和dotnet 4.0框架下运行Expand Archive cmdlet有一点乐趣 看看这里,我看到了下面的评论 经进一步调查,“扩展存档”命令与不兼容 在64位powershell会话中运行时使用dotnetframework 4.0。运行这个 dotnet framework 4.0中的命令

我正在研究将我们的PowerShell框架升级到3.0版;目前,我们在Windows 2008R2服务器上有许多为2.0编写的脚本。我发现了一些可以轻松解决的问题,但我发现在PowerShell 3.0和dotnet 4.0框架下运行Expand Archive cmdlet有一点乐趣

看看这里,我看到了下面的评论

经进一步调查,“扩展存档”命令与不兼容 在64位powershell会话中运行时使用dotnetframework 4.0。运行这个 dotnet framework 4.0中的命令确保将模块导入到:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\Pscx 

Then the 32 bit powershell.exe can be invoked and the Expand-Archive command 
will run properly. This fix applies to windows 2008 R2 64 bit
我已经能够使扩展存档在本地Zip文件上工作,但是当从另一个PowerShell 3.0环境进行远程处理时,我遇到以下错误:

展开iHiaChive:Microsoft.PowerShell.Commands.WriteErrorException: Expand IHIArchive::Expand Archive中出现错误,参数为: 平均路径=假;文字路径= \部署\Packages\POWERSHELL3\CodeReleasePackage.zip;输出路径 =\Deploys\Packages\POWERSHELL3;PassThru=True::


有没有办法让它发挥作用?或者至少从远程找出问题所在?

我通过在模块加载时将所有PSCX目录本地放置到我自己的PowerShell副本中,将模块添加到我的环境中,基本上我根据PowerShell版本加载了我需要的PSCX模块。这使我能够控制正确的版本,并确保模块正确加载,而无需担心集中安装的模块。这样,通过将所有内容打包到我喜欢的结构中,我可以更轻松地设置环境

这让我克服了扩展归档的问题