2012-10-24 2 views
3

powershell을 사용하여 웹 서버에 웹 사이트를 원격 설치하려고합니다. 내가 구성하려고하는 웹 서버는 기본적으로 PowerShell v2가 설치된 Windows Server 2008 R2 SP1입니다.Invoke-Command를 통해 원격 컴퓨터에서 Powershell 버전 2를 호출하는 방법

더 쉽게하기 위해 나는 Snapin "WebAdministration"을 사용하고 있습니다.

나는 다음 명령을 호출하려고 시도 할 때마다 :

PS C:\p4\eacp4wireframe\ReleaseEngineering\DL_Powershell\Infrastructure\PowerShell\IIS>  Invoke-Command -ComputerName web4 -Credential $admin -ScriptBlock {add-pssnapin  WebAdministration; Get-Website} 
No snap-ins have been registered for Windows PowerShell version 2. 
+ CategoryInfo   : InvalidArgument: (WebAdministration:String) [Add-PSSnapin], PSArgumentException 
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand 

내가 지칠대로 지친 오류 "아니 스냅인은 Windows PowerShell을 버전 2에 대한 등록 된"얻을 수 있습니다.

논리적으로,이 명령을 실행하여 파워 쉘의 버전을 확인 : 내가 원격으로 웹 서버에 로그인하여 PowerShell을 잘 명령을 실행할 수 있습니다

PS C:\ Invoke-Command -ComputerName web4 -Credential $admin -ScriptBlock {(Get-Host).version} 
Major Minor Build Revision PSComputerName                                         
----- ----- ----- -------- --------------                                         
1  0  0  0  web4  

.

아이디어가 있으십니까?

답변

2

버전 번호 예컨대 리모팅에 의해 사용되는 호스트 구현의 버전 번호 :

C:\PS> Invoke-Command . {Get-Host | Get-Member} 


    TypeName: System.Management.Automation.Internal.Host.InternalHost 

당신은 PowerShell을 원격 도입 된 때이기 때문에 적어도 PowerShell을 2.0 엔진을 사용 할 필요가있다. 64 비트 PowerShell 원격 끝점을 호출하고 64 비트 PowerShell에 등록되지 않았거나 64 비트 PowerShell에서 실행되지 않는 (또는 그 반대로) 스냅인이있을 가능성이 큽니다. 당신이 호출해야하는 경우

32 비트 원격 엔드 포인트는이 시도 :

C:\PS> Invoke-Command . {[intptr]::size} -ConfigurationName Microsoft.PowerShell32 
4 
관련 문제