2017-04-07 62 views
1

我的PowerShell腳本運行.bat文件來安裝.msu文件。但我需要用管理員權限運行這個.bat文件。運行帶有管理權限的.bat文件

.bat文件是:

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

我有域控制器和很多客戶。通過PowerShell PS會話,我可以交互式連接到每個客戶端。我需要使用域管理員憑證使用此bat文件,我該怎麼做?

+2

作爲一個側面說明,最好的做法是在域管理員帳戶不被用來在客戶端上運行,並使用另一個帳戶本地管理員任務。 – BenH

回答

3

你可以使用Invoke-Command

你可以在列表中的服務器保存在一個文本文件,然後使用Get-Content命令保存在一個變量數組:

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

然後使用變量爲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的啓動批處理文件,您可以使用啓動proccess命令:

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

如果你不明白一個問題,那麼最好的做法是在評論中要求澄清。 Luca9698使用'Enter-PSSession'交互地連接到每臺計算機,然後運行.bat文件。這是不必要的,因爲該命令可以直接在PowerShell中運行。如果任務需要並行運行,可以通過'Invoke-Command'完成 – BenH

相關問題