2017-04-07 1 views
1

My PowerShell 스크립트는 .bat 파일을 실행하여 .msu 파일을 설치합니다. 하지만이 .bat 파일을 관리자 권한으로 실행해야합니다.관리 권한이있는 .bat 파일을 실행하십시오.

.BAT 파일은 다음과 같습니다

WUSA C:\temp\Win8.1AndW2K12R2-KB3191564-x64.msu /quiet /norestart 

내가 도메인 컨트롤러와 클라이언트가 많이 있습니다. PowerShell PS 세션을 통해 모든 클라이언트에 대화식으로 연결합니다. 이 박쥐 파일을 도메인 관리자 자격 증명과 함께 사용해야합니다. 어떻게해야합니까?

$clients = Get-Content C:\ExampleClientList.txt 

은 그 다음의 변수를 사용

+2

당신은 또 다른 계정을 사용

는 시작 였는지를 명령을 사용할 수 있습니다 파워 쉘에서 배치 파일을 시작하려면 로컬 관리 작업. – BenH

답변

3

당신은 변수에 배열을 저장하기 위해 Get-Content 명령을 사용하여 다음 텍스트 파일 목록에서 서버를 절약 할 수 Invoke-Command

사용할 수 있습니다 ComputerName 매개 변수는 Invoke-Command입니다. 그런 다음 scriptblock 매개 변수에서 명령을 실행하는 곳이면 PowerShell에서 실행 파일을 실행할 수 있기 때문에 bat 파일이 필요하지 않습니다. 마지막으로 Credential 매개 변수를 사용하면 로컬 관리자로 실행할 수 있습니다.

Invoke-Command -Computername $clients -ScriptBlock {WUSA C:\temp\Win8.1AndW2K12R2-KB3191564-x64.msu /quiet /norestart} -Credential (Get-Credential) 
-2

귀하의 질문에 대한 이해가 확실하지 않습니다. , 가장 좋은 방법은 도메인 관리자의 계정이 클라이언트에서 실행하는 데 사용되지 않은 측면 참고로

powershell start-process <path to your file> -verb RunAs 
+1

질문을 이해할 수없는 경우 의견에 설명을달라고 요청하는 것이 좋습니다. Luca9698은'Enter-PSSession'을 사용하여 각 컴퓨터에 대화식으로 연결 한 다음 .bat 파일을 실행합니다. 이 명령은 PowerShell에서 직접 실행할 수 있으므로 불필요합니다. 그리고 작업을 병렬로 실행해야하는 경우'Invoke-Command'를 사용하여 작업을 수행 할 수 있습니다. – BenH

관련 문제