web-dev-qa-db-ja.com

WSUSで更新プログラムの説明を変更できますか?

マイクロソフトのパッチを適用する日ごとに、クライアントに承認したいかなりの量の新しい更新プログラムがあります。ただし、「すべての更新を承認して続行する」の代わりに、ナレッジベースの記事で各更新に関する情報を収集して、これが重要な更新であるかどうかを判断します。

クライアントのブラウザに対応するKB番号を入力し、Webページが読み込まれるのを待つ必要があるため、これはかなり面倒な作業です。マイクロソフトがWSUSコントロールパネルの更新プログラムの説明ボックスを使用して、本当に役立つ詳細情報を表示しないのはなぜだろうと思っていました。代わりに、私の更新はすべて次のようになっています。

この更新プログラムをインストールして、Windowsの問題を解決します。この更新プログラムに含まれる問題の完全なリストについては、関連するマイクロソフトサポート技術情報の記事を参照してください。このアイテムをインストールした後、コンピュータを再起動する必要がある場合があります。

必要な情報を追加する小さなPowershellスクリプトについて考え始めました。しかし、最初のステップで失敗しました。これは、更新の説明を手動で変更することです。

PS C:\ Users\Administrator> $ wsus = Get-WsusServer

PS C:\ Users\Administrator> $ update = $ wsus.SearchUpdates( 'KB3013791')

PS C:\ Users\Administrator> $ update [0] .Description
この更新プログラムをインストールして、Windowsの問題を解決します。この更新プログラムに含まれる問題の完全なリストについては、関連するマイクロソフトサポート技術情報の記事を参照してください。このアイテムをインストールした後、コンピュータを再起動する必要がある場合があります。

PS C:\ Users\Administrator> $ update [0] .Description = '"0x00000133" Windows8.1またはWindowsServer 2012 R2のハードウェアに障害がある場合にエラーを停止します'

PS C:\ Users\Administrator> $ update [0] .Description
"0x00000133" Windows8.1またはWindowsServer 2012R2のハードウェアに障害がある場合の停止エラー

PS C:\ Users\Administrator> $ update = $ wsus.SearchUpdates( 'KB3013791')

PS C:\ Users\Administrator> $ update [0] .Description
この更新プログラムをインストールして、Windowsの問題を解決します。この更新プログラムに含まれる問題の完全なリストについては、関連するマイクロソフトサポート技術情報の記事を参照してください。このアイテムをインストールした後、コンピュータを再起動する必要がある場合があります。

私の変更はデータベースにコミットされていないようです。ある種の$wsus.SubmitChanges()がないか、$wsus.SearchUpdates()コマンドが 'update.Clone()'を返すため、変更がどこにも保存されません。

WSUS更新プログラムの説明を変更するという目標をどのように達成できますか?

11
Physikbuddha

更新

以下の回答を使用して、WSUSサーバーに説明を自動的に追加する小さなツールを作成しました。ツールをGithubで公開することにしたので、気軽に試してみてください。

https://github.com/Physikbuddha/wsus-online-descriptions/releases/latest

Sample screenshot

元の回答

コメントセクションのmortenyaで提案されているように、Get-Memberで問題を解決しようとしましたが、うまくいきませんでした。
最後に、WSUSデータベースを直接編集して説明を変更することになりました。

注意してください!私のソリューションは、自分が何をしているかを完全に確信している場合にのみ使用してください。サーバーが依存しているデータベースを編集することは、親友に開心術を行うようなものです。

私のWSUSインストールでは、 Windows Internal Database を使用して更新情報を格納しています。このバージョンではリモートクエリが許可されていないため、SQL Server ManagementStudioのローカルインストールを使用する必要がありました。
上記のリンク先の記事で提供されているサーバー名を使用してデータベースに接続します。

このクエリを実行することで、更新の説明を変更できました。

UPDATE tbPreComputedLocalizedProperty
SET Description = '"0x00000133" Stop error when there''s faulty hardware in Windows 8.1 or Windows Server 2012 R2'
FROM tbPreComputedLocalizedProperty p
JOIN tbUpdate u ON p.UpdateID = u.UpdateID
JOIN tbRevision r ON u.LocalUpdateID = r.LocalUpdateID
JOIN tbKBArticleForRevision kb ON r.RevisionID = kb.RevisionID
WHERE kb.KBArticleID LIKE '3013791' AND p.ShortLanguage = 'en'
GO

これは手動で説明を設定する方法にすぎないため、KB Webサイトから直接説明を取得し、すべての新しい更新に自動的に適用する方法について、さらに実験を行います。この投稿に情報を追加します。

7
Physikbuddha