2016-10-11 9 views
0

하나의 VM (00000281)에서 사용자 로그인시 실행되는 powershell 스크립트가 있습니다 : Get-Content C : /sample.txt -TotalCount 1) | 설정 콘텐츠 C : \ sample.txt멀티 VM에서 powerhsell 스크립트를 실행하십시오

스크립트를 자동으로 실행하려면 .cmd 파일을 만들고 다음 폴더에 넣으십시오. C : \ Users \ vs_domadmin \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup

위의 VM (00000281)은 다른 4 개의 VM (인프라 서버)이 포함 된 인프라의 VM 클러스터에 있습니다. 나는 총 4 대의 서버를 가지고 있는데, 나는이 스크립트를 실행하고 싶다. 00000281, 00000282, 00000283, 00000284 내 스크립트는 여기에 00000281.에 잠시 runniing됩니다

트릭이다 : 나는 인프라 서버 00000282, 00000283의 나머지도 실행 00,000,281에서 해당 스크립트를 필요 , 00000284, 스크립트가 내 첫 번째 인프라 서버 000002821에만 저장된다는 것을 알고 있습니다. 스크립트 조건을 지정하고 VM (00000281)의 다른 3vms의 경로를 요약하면 작업이 정확해야합니다. powershell에 아주 새로운 누군가 누군가를 도울 수 있습니까?

답변

1

VM 00000282, 00000283, 00000284은 원격 시스템 WRT로 간주됩니다 VM의 현재 사용자 00000281.

당신은을 구성하여 동일한 시스템의 PowerShell을 원격 프로세스를 사용하여 기기 자체에서 스크립트를 실행해야 4 대의 기계가 원격 powershell 스크립트를 실행합니다.

이는 PowerShell을 원격 서비스 단계의 세부 사항에 의해 단계를 들면 WinRM을

를 실행하는 모든 컴퓨터를 가능하게함으로써 수행은 :

How to Run PowerShell Commands on Remote Computers

VM 00,000,281의 스크립트를 수정,이 같은 마지막 줄을 추가 :

Invoke-Command -ComputerName 00000282, 00000283, 00000284 -FilePath path_to_script_file.ps1 

이렇게하면 동일한 스크립트를 동시에 실행합니다. 모든 기계에서.

로그인 사용자는이 컴퓨터에서 허가를 받아야합니다. 은 Get-내용 $ 파일 -TotalCount 1 | :

$ 파일 = \ "의 Sample.txt C :"

+0

이 대답은 모든 서버에 WinRM이 설치된 경우 잘 작동합니다. WinRm을 설치할 필요없이 이전 버전의 솔루션도 작동합니다. 그러나 명확하고 짧은 코드와 효과가있는 Invoke 명령 솔루션을 선호합니다. 고맙습니다 – Manu2287

0

솔루션 확인 세트 내용 $ 파일 "00000282", "00000283", "00000284"| %$ FileUnc = "\ $ ($ _) \ $ ($ File.Replace (':', '$'))" Get-Content $ FileUnc -TotalCount 1 | 설정 내용 $ FileUnc }