Модули WinRM и powershell, написанные с использованием .NET Framework 4 - PullRequest
3 голосов
/ 07 февраля 2012

Я успешно подключился к удаленному сеансу PowerShell через WinRM. Отлично работает. Проблема начинается, когда я пытаюсь импортировать модуль, который использует сборку, созданную для .NET Framework 4.

При локальной работе возникла та же проблема, но она была легко решена путем настройки файла app.config powershell.exe. Попытка сделать то же самое на удаленном хосте, но это не работает. Я думаю, что WinRM имеет свое собственное пространство выполнения, которое не связано с powershell.exe.

Есть ли способ настроить WinRM так, чтобы он работал под .NET 4?

Ответы [ 2 ]

3 голосов
/ 07 февраля 2012

Попробуйте создать файл ac: \ windows \ System32 \ wsmprovhost.exe.config и файл ac: \ 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>
0 голосов
/ 07 февраля 2012

В удаленном сеансе, что вы видите с $ PSversionTable?Я думаю, что в PowerSHell 2.0 удаленное пространство выполнения автоматически настроено на использование .NET Framework 2.0.Когда вы включаете удаленное взаимодействие в PowerShell, он настраивает прослушиватель и подключает его к PowerShell.exe.Я не нашел способ настроить для использования .NET 4.0.Тем не менее, похоже, что PowerSHell 3.0 использует .NET 4 по умолчанию.

...