2012-06-20 3 views
2

근본적으로 내 문제는 여기까지이며 ServerManager 모듈을 사용하여 원격 서버에서 코드를 실행해야하지만 출력을 로컬 쉘로 반환해야합니다.pssession에서 호스트로 데이터를 전송 하시겠습니까?

Enter-PsSession SVR01 
Import-Module ServerManager 
$Roles = @(Get-WindowsFeature | Where {$_.installed -eq $true}) 

지금 내가 WKS01에 $ 역할의 데이터를 사용할 필요가 : 여기

는 WKS01의 코드를 실행합니다. 이것을 할 수있는 방법이 있습니까? 이 잘못 될 건가요?

답변

3

-ArgumentList가 대상입니다.

이 매개 변수를 사용하여 원격 세션에 인수를 전달할 수 있습니다.

재미있는
$procName = "powershell" 
Invoke-Command -ComputerName (get-content c:\scripts\servers.txt) ` 
    -ScriptBlock {param ($Name) Get-Process -Name $Name} ` 
    –ArgumentList $procName 
+0

, 나는 그것을 시도 할 것이다 : 다음은 예입니다. – JoeG

+1

그래, 라비의 길은 네가 원하는거야. 문제는 Enter-PSSession을 사용하여 원격 컴퓨터에서 대화 형으로 작업하고 있다는 것입니다. 원격 시스템에서 로컬 시스템으로 결과를 되돌리려면 로컬 시스템에서 대화식으로 작업해야합니다. – x0n

+0

감사합니다. 실제로 WMI (Win32_ServerFeature, 그림 참조)로이 작업을 수행하기로 결정했습니다.이 질문을 던진 메서드는 이상한 해킹이었습니다. – JoeG

2
$rs = New-PSSession -ComputerName SVR01 
$Roles = Invoke-Command -Session $rs -ScriptBlock { 
     Get-WindowsFeature | Where { $_.Installed } 
} 
Remove-PSSession $rs 
+0

그가 enter-pssession을 사용하는 경우, 원격 처리가 이미 사용 가능합니다. – x0n

+0

@ x0n 오른쪽 관측, 감사합니다. 수정 된 답변 –

+1

스크롤 막대가 나타나지 않도록 코드 샘플의 서식을 지정해야합니다. 그것은 매우 불쾌합니다. 내가 당신을 위해 그것을 고쳐 줄게;) – x0n

관련 문제