如何远程运行命令时更改PowerShell的CLR版本?(How to change Powersh

2019-09-21 12:24发布

我得想一个远程服务器上运行我们的一些脚本的问题。

我们需要的所有PowerShell会话中加载CLR的V4,正如我们在我们自己定制的二进制文件正在加载与我们的脚本。

我们已经这样做了一段时间(我们可能会使用类似于此修改powershell.exe.config: ?我如何运行PowerShell将使用.NET 4运行时 ),一切都很好,当你进入RDP“服务器1”并打开PowerShell会话。 变量$ PSVersionTable告诉我们,CLR v4的加载。

现在,我们正在尝试通过远程运行这些命令再碰上我们的问题简化的事情:当你输入一个远程PowerShell会话到同一台服务器,$ PSVersionTable只显示V2 ...

所以问题是,如果你在Server1上打开本地PowerShell会话它加载V4,但如果你从远程服务器2到Server1只加载V2。

任何人都知道如何告诉PowerShell来使用CLR v4的远程会话? 任何帮助将非常感激!

Answer 1:

尝试创建一个c:\windows\System32\wsmprovhost.exe.config文件和c:\windows\SysWOW64\wsmprovhost.exe.config在这样的64位操作系统文件:

<?xml version="1.0"?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
         <supportedRuntime version="v4.0.30319"/>        
         <supportedRuntime version="v2.0.50727"/>        
    </startup>
</configuration>


文章来源: How to change Powershell CLR version when running commands remotely?