2011-01-08 6 views
7

원격 Powershell 2.0 세션에서 [Reflection.Assembly] :: LoadFrom을 사용하여 .Net 4.0 어셈블리를로드하려고합니다. 그것은 powershell.exe.config 파일에 대한 변경으로 인해 로컬로 작동하지만 원격 세션에서 "이 어셈블리는 런타임에보다 최신으로 작성되었습니다 ..."예외로 실패합니다.Powershell 2.0 원격로드 중 .Net 4.0 dll

관련된 두 컴퓨터에는 .Net 2.0 및 4.0이 있으며 x86 및 x64 비트 powershell 실행 파일의 경우 powershell.exe.config가 변경됩니다. runtimeVersion의

내가해야 \ SOFTWARE \ Wow6432Node 마이크로 소프트 \ 파워 쉘 \ \ 1 \ PowerShellEngine \ HKLM : \ SOFTWARE \ 마이크로 소프트 \ 파워 쉘 \ 1 \ PowerShellEngine \ runtimeVersion의 HKLM 또한 서버 PowerShell을 레지스트리 키를 변경하려고했습니다 뭔가 빠져 있지만, 나는 그것이 무엇인지 모른다.

편집 : 다음은 실행중인 코드의 예입니다.

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

사용중인 명령을 표시하십시오. –

답변

7

이 솔루션은 교류를 만드는 것입니다 : SYSTEM32 \의 wsmprovhost.exe.config 파일과 교류 \ : \ WINDOWS \ WINDOWS \ SysWOW64와 \ 비슷한 서버에 파일 wsmprovhost.exe.config

<?xml version="1.0" ?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" /> 
    <supportedRuntime version="v2.0" /> 
    </startup> 
</configuration> 

http://poshcode.com/2045 난 그냥 PowerShell.exe의 파일과 같이 구성 할 필요가 wsmprovhost.exe 암시의 다음 문서를 발견 :에 나는 발견했다. http://tfl09.blogspot.com/2010/08/using-later-versions-of-net-framework.html

관련 문제