3

我已通过 WinRM 成功连接到远程 powershell 会话。它就像一个魅力。当我尝试导入一个使用为 .NET 框架 4 构建的程序集的模块时,问题就开始了。

在本地工作的时候也有同样的问题,但是通过调整powershell.exe的app.config很容易解决。尝试在远程主机上做同样的事情,但它不起作用。我猜 WinRM 有它自己的运行空间,与 powershell.exe 无关。

有没有办法配置 WinRM 使其在 .NET 4 下运行?

4

2 回答 2

3

尝试在 64 位操作系统中创建 ac:\windows\System32\wsmprovhost.exe.config 文件和 ac:\windows\SysWOW64\wsmprovhost.exe.config 文件,如下所示:

<?xml version="1.0"?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
         <supportedRuntime version="v4.0.30319"/>        
         <supportedRuntime version="v2.0.50727"/>        
    </startup>
</configuration>
于 2012-02-07T16:56:32.390 回答
0

在远程会话中,您使用 $PSversionTable 看到了什么?我认为在 PowerSHell 2.0 中,远程运行空间被自动配置为使用 .NET Framework 2.0。当您在 PowerShell 中启用远程处理时,它会设置一个侦听器并将其连接到 PowerShell.exe。我还没有找到配置使用 .NET 4.0 的方法。但是,PowerSHell 3.0 似乎默认使用 .NET 4。

于 2012-02-07T16:50:57.920 回答