2017-08-15 28 views
1

パッチを適用する必要があるコンピュータの量のために、特定のWindowsアップデートをpowershell経由でインストールしようとしています。Powershell経由でWindowsアップデートをプッシュ

私は次の構文を使用します。

enter-pssession PCname-PC 

セッションが接続されると、次のようになります。

wusa.exe c:\temp\update.msu /quiet /norestart /log:C:\wusa.log 

手元の問題は何も起こらず、私は毎回アクセス拒否を取得し続けていることです。 Powershellは管理者として実行され、コンピュータのローカルユーザーは管理者です。セッションを同じ結果を持つドメイン管理者として接続できるスクリプトを実行しようとしました。

この件に関するお手伝いをいただければ幸いです。おかげで

+0

それとも、この試すことができます:$ PC = "PCを" " $ comm = "cmd/c wusa.exe c:\ temp \ update.msu/quiet/norestart /log:C:\wusa.log" ([wmiclass] "\\ $ pc \ root \ cimv2 :Win32_Process ")。create($ comm)' – Vitaly

+0

または、承認されたparamを使用することもできます: 'Enter-PSSession -ComputerName PC1 - contoso contro \ administrator' – Vitaly

+0

S Windowsのバージョンでは、C:\ドライブのルートに書き込みをブロックします。別のディレクトリに変更/ログを試みてください。 –

答えて

1

remote use of the Windows Update Agent API is restricted。プロセスをローカルで起動することを回避するいくつかの回避策があります。コメントのVitalyノートとしてWMIのプロセスを起動するか、スケジュールされたタスクを作成するかのどちらかです。

0

このソリューションでは、各PCへの更新をコピーすることになります:

$PCs = @() 
$Cred = Get-Credential 

ForEach ($PC in $PCs) 
{ 
    $Session = New-PSSession -ComputerName $PC -Credential $Cred 
    Copy-Item -Path 'C:\Temp\Update.msu' -Destination 'C:\Temp\Update.msu' -ToSession $Session -Force 
    Enter-PSSession $Session 
    & wusa C:\Temp\Update.msu /quiet /norestart /log:C:\Temp\wusa.evtx 
    Exit-PSSession 
    Remove-PSSession $Session 
} 

最後の一つのノート:イベントビューア形式でWUSAログ(.evtx

+0

問題は、リモートセッションでwusa.exeを実行できないことです。拒否されたアクセスはファイルではなく、Windows Update APIになります。 – BenH

関連する問題