Powershell 2.0远程处理加载.Net 4.0 dll

Powershell 2.0远程处理加载.Net 4.0 dll,powershell,.net-4.0,powershell-remoting,Powershell,.net 4.0,Powershell Remoting,我正在尝试在远程Powershell 2.0会话中使用[Reflection.assembly]:LoadFrom加载.Net 4.0程序集。由于我对powershell.exe.config文件所做的更改,它在本地工作,但在远程会话中出现“此程序集是由运行时更新版本生成的…”异常时失败 涉及的两台计算机都有.Net 2.0和4.0版本,并且对x86和x64位powershell可执行文件进行了powershell.exe.config更改。我还尝试更改服务器powershell注册表项: HK

我正在尝试在远程Powershell 2.0会话中使用[Reflection.assembly]:LoadFrom加载.Net 4.0程序集。由于我对powershell.exe.config文件所做的更改,它在本地工作,但在远程会话中出现“此程序集是由运行时更新版本生成的…”异常时失败

涉及的两台计算机都有.Net 2.0和4.0版本,并且对x86和x64位powershell可执行文件进行了powershell.exe.config更改。我还尝试更改服务器powershell注册表项: HKLM:\Software\Microsoft\Powershell\1\PowerShellEngine\RuntimeVersion HKLM:\Software\Wow6432Node\Microsoft\Powershell\1\PowerShellEngine\RuntimeVersion

我一定错过了什么,但我不知道是什么

编辑: 下面是我正在执行的代码示例

PS C:\>Enter-PSSession -ComputerName server1
[server1]: PS C:\stuff> dir *.dll | foreach { [Reflection.Assembly]::LoadFrom( $_.FullName ) }

解决方案是在服务器上创建一个c:\windows\System32\wsmprovhost.exe.config文件和一个c:\windows\SysWOW64\wsmprovhost.exe.config文件,,类似于我在以下位置找到的文件:


我发现了以下文章,其中暗示wsmprovhost.exe需要像powershell.exe文件一样进行配置。

请显示您正在使用的命令。。
<?xml version="1.0" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
    <supportedRuntime version="v2.0" />
  </startup>
</configuration>