2017-04-07 33 views
1

My PowerShellスクリプトは.msuファイルをインストールするための.batファイルを実行します。しかし、私はこの.batファイルを管理者権限で実行する必要があります。管理者権限を持つ.batファイルを実行する

の.batファイルは次のとおりです。

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

私はドメインコントローラとクライアントの多くを持っています。 PowerShell PSセッションでは、すべてのクライアントに対話的に接続します。ドメイン管理者の資格情報でこのバットファイルを使用する必要がありますが、どうすればいいですか?

+2

を、ベストプラクティスは、Domain Adminsのアカウントは、クライアント上で実行するために使用されていないで、あなたがのために別のアカウントを使用しますローカル管理タスク。 – BenH

答えて

3

あなたがテキストファイルにリスト内のサーバーを保存し、変数に配列を保存するためにGet-Contentコマンドを使用することができInvoke-Command

を使用することができます。

$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

ご質問がわかりません。

始める-proccessコマンドを使用することができますPowerShellのからバッチファイルを開始するには、次の注意点として

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

質問を理解できない場合は、コメントの明確化を求めるのがベストプラクティスです。 Luca9698は 'Enter-PSSession'を使って各コンピュータに対話的に接続し、.batファイルを実行しています。このコマンドはPowerShellで直接実行できるため、これは不要です。また、タスクを並列に実行する必要がある場合は、 'Invoke-Command'を使用してタスクを実行することができます – BenH

関連する問題