PSリモートセッションからサーバーコアでWindows Updateを開始する方法


8

Windows Server 2012 R2 Coreマシンのリモートデスクトップ経由でログインしている場合、sconfig.cmdを実行してWindowsの更新をトリガーできます。ただし、PSリモートセッション内で呼び出されると、これは失敗します。

Enter-PSSession -ComputerName server2

これはsconfigが不満を言うものです。基本的に、特定のレジストリ値を見つけることができないと述べています。面白いことに、MicrosoftはPowerShellよりもVBScriptを選択してこのCLIインターフェースをプログラムしています...

[server2]: PS C:\> sconfig

C:\>echo off
sconfig : FEHLER: Der angegebene Registrierungsschl?ssel bzw. Wert wurde nicht gefunden.
    + CategoryInfo          : NotSpecified: (FEHLER: Der ang...nicht gefunden.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Microsoft (R) Windows Script Host, Version 5.8
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

System wird ?berpr?ft...

[...]

14) Server herunterfahren
15) Zur Befehlszeile wechseln

C:\Windows\System32\de-DE\sconfig.vbs(326, 1) Laufzeitfehler in Microsoft VBScript: Eingabe hinter Dateiende.

PSリモートセッション経由でログインしているときに、Windows Updateをどのように/開始できますか?


2
ドイツ語は読めませんが、許可/アクセス拒否のメッセージですか?問題の事実は、SCCMやWSUSのようなものなしにWindows Updateをリモートでインストールするのは大変なことです。私が見た、実際に機能するすべての方法は、PSexec(または同様の)に依存してコマンドをローカルに実行しますが、リモートコンピューターから実行します。SCCMなしでこの種のことを行う必要がある場合は、結局WuInstallまたはBatchPatchを使用すると思います。Technetには、この種の役に立つかもしれないPowerShellモジュールもいくつかあります。それらの私の経験から、非常に不評でした。主にミス。
HopelessN00b 2014年

3
ああ、ほとんど忘れました。SCCM / WSUSなどを使用せずにWindows Updateをリモートでインストールするために私が見た中で、無料で試用版ではない最高のアプリです。はPoshPAIGで、Scripting Guyには、チェックしたいブログ記事があります。それはまさにあなたが探しているものではありませんが、あなた自身のものを転がさなくてもあなたが得るのと同じくらい近いです。
HopelessN00b 2014年


@Zoredacheしかし、そこの答えは最低です。あなたのほうがはるかに優れており、私はそれだけでこれを完全に閉じるために投票しないでしょう。
HopelessN00b 2014年

回答:


7

実際には、winrm / winrsを介して直接トリガーすることはできません。

PowershellからWindows更新を実行するためのやや人気のあるpowershellモジュールが存在し、リモートシステムで更新を実行するために、実際にモジュールをリモートシステムにコピーし、リモートシステムで新しい1回限りのタスクをスケジュールします。

invoke-WUInstall.ps1ファイルには、リモートで更新をトリガーすることに関するこのコメントがあります。

Invoke-WUInstallを使用して、Windows Updateインストールをリモートで呼び出します。CreateUpdateDownloader()メソッドとCreateUpdateInstaller()メソッドはリモートコンピューターから呼び出せないため、TaskSchedulerに基づいています-E_ACCESSDENIED。


1

最後のコメントの投稿者を歓迎します。できます。

pswidowsupdateウェブからファイルを取得して解凍します。次に、モジュールをインポートしてこのコードを実行します(invoke-wsuinstall.ps1ファイルにはサンプルコードが含まれていますが、コードを少し削除しても機能します)。

$Script = {Get-WUInstall -AcceptAll -AutoReboot | Out-File C:\PSWindowsUpdate.log}
Invoke-WUInstall -ComputerName computername -Script $Script
Get-Content \ \ computername\c$\PSWindowsUpdate.log
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.