使用 .NET Framework 4 编写的 WinRM 和 powershell 模块

发布于 2025-01-03 06:55:00 字数 259 浏览 1 评论 0原文

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

在本地工作时遇到了相同的问题,但通过调整 powershell.exe 的 app.config 可以轻松解决。尝试在远程主机上执行相同的操作,但它不起作用。我猜 WinRM 有它自己的运行空间,与 powershell.exe 无关。

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

I have successfully connected to a remote powershell session through WinRM. It works like a charm. Problem begins when I try to import a module which uses an assembly built for .NET framework 4.

When working locally had the same problem but was easily solved by adjusting the app.config of powershell.exe. Tried doing the same on remote host but it doesn't work. I guess WinRM has it's own runspace that isn't related to powershell.exe.

Is there a way to configure WinRM so that it runs under .NET 4?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

带上头具痛哭 2025-01-10 06:55:00

尝试在 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>

Try creating a c:\windows\System32\wsmprovhost.exe.config file and a c:\windows\SysWOW64\wsmprovhost.exe.config file in 64bit OS like this:

<?xml version="1.0"?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
         <supportedRuntime version="v4.0.30319"/>        
         <supportedRuntime version="v2.0.50727"/>        
    </startup>
</configuration>
浊酒尽余欢 2025-01-10 06:55:00

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

In a remote session what do you see with $PSversionTable? I think in PowerSHell 2.0 the remote runspace is configured automatically to use .NET Framework 2.0. When you enable remoting in PowerShell, it setups a listener and hooks it up to PowerShell.exe. I haven't found a way to to configure to use .NET 4.0. However, it looks like PowerSHell 3.0 uses .NET 4 by default.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文