Как изменить версию Powershell CLR при удаленном выполнении команд?
У меня возникла проблема с запуском некоторых наших скриптов на удаленном сервере.
Нам нужны все сеансы Powershell для загрузки v4 среды CLR, так как мы загружаем собственные пользовательские двоичные файлы с нашими сценариями.
Мы делаем это уже некоторое время (мы делаем это с помощью модифицированного powershell.exe.конфигурация аналогична здесь: Как я могу запустить PowerShell с .NET 4 runtime?), и все хорошо, когда вы RDP в 'Server1' и открыть сеанс Powershell. Переменная $PSVersionTable говорит нам: что CLR v4 загружен.
Теперь, когда мы пытаемся упростить процесс, выполняя эти команды удаленно, мы сталкиваемся с нашей проблемой: когда вы вводите удаленный сеанс Powershell на тот же сервер, $PSVersionTable показывает только v2...
Таким образом, проблема заключается в том, что если вы открываете локальный сеанс Powershell на сервере Server1, он загружает v4, но если вы удаляетесь от сервера Server2 к серверу Server1, он загружает только v2.
Кто-нибудь знает, как заставить Powershell использовать CLR v4 для удаленных сеансов? Любая помощь была бы очень ценю!
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>