トップ回答者
更新プログラムの適用日時

質問
回答
-
たじま さん こんにちは。
マイクロソフト エバンジェリストの安納と申します。
#偶然にも、同様のご質問が続きましたので、同様の手法を用いることにいたします。
#決して手抜きではございません...
さて、ご質問の件です。
確かに Essentials の「グループ更新の展開状態」では 「承認された日時」は出てくるものの、いつクライアントに適用されたのかが明確ではありません。
Essentials ではレポートを編集する機能が提供されていないため、直接データベースから値を抜き出すといった方法で回避する必要がありそうです。
そこで、WSUSからデータを抜き出すクエリを作成してみましたので試してみてください。
#WSUSのデータベース構造が明確でないため、若干「勘頼り」の部分はありますがご容赦ください
手順を以下に示します。
1)Essentials のデータベースがインストールされているサーバーにログオン
2)スタートメニューから「SQL Server Management Studio Express」を起動
3)Database の SUSDB の Views を右クリックして「New View」を選択
4)Add Table ダイアログは Close
5)画面の中央に「SELECT FROM」と書かれた欄があるので、以下のクエリーをペースト
Code SnippetSELECT
TOP (100) PERCENT
dbo.tbComputerTarget.FullDomainName,
dbo.tbComputerTarget.IPAddress,
usc.SummarizationState AS State,
usc.LastChangeTime,
PUBLIC_VIEWS.vUpdate.KnowledgebaseArticle,
PUBLIC_VIEWS.vUpdate.MsrcSeverity,
PUBLIC_VIEWS.vUpdate.UpdateSource,PUBLIC_VIEWS.vUpdateText.Title,
PUBLIC_VIEWS.vUpdateText.Description
FROM
dbo.tbUpdateStatusPerComputer AS usc
INNER JOIN dbo.tbUpdate AS u ON u.LocalUpdateID = usc.LocalUpdateID
INNER JOIN dbo.tbComputerTarget AS ct ON ct.TargetID = usc.TargetID
INNER JOIN PUBLIC_VIEWS.vUpdate ON u.UpdateID = PUBLIC_VIEWS.vUpdate.UpdateId
INNER JOIN dbo.tbComputerTarget ON usc.TargetID = dbo.tbComputerTarget.TargetID
AND usc.TargetID = dbo.tbComputerTarget.TargetID
INNER JOIN PUBLIC_VIEWS.vUpdateText ON u.UpdateID = PUBLIC_VIEWS.vUpdateText.UpdateId
WHERE
(usc.SummarizationState <> 1) AND (u.IsHidden = 0) AND (PUBLIC_VIEWS.vUpdateText.LocaleId = 1041)
ORDER BY dbo.tbComputerTarget.FullDomainName, usc.LastChangeTime7) 画面の下に実行結果が出てきます
いろいろと確認してみたのですが、LastChangeTime というのが更新した日時に相当すると思われます。
2008年5月14日 9:26
すべての返信
-
たじま さん こんにちは。
マイクロソフト エバンジェリストの安納と申します。
#偶然にも、同様のご質問が続きましたので、同様の手法を用いることにいたします。
#決して手抜きではございません...
さて、ご質問の件です。
確かに Essentials の「グループ更新の展開状態」では 「承認された日時」は出てくるものの、いつクライアントに適用されたのかが明確ではありません。
Essentials ではレポートを編集する機能が提供されていないため、直接データベースから値を抜き出すといった方法で回避する必要がありそうです。
そこで、WSUSからデータを抜き出すクエリを作成してみましたので試してみてください。
#WSUSのデータベース構造が明確でないため、若干「勘頼り」の部分はありますがご容赦ください
手順を以下に示します。
1)Essentials のデータベースがインストールされているサーバーにログオン
2)スタートメニューから「SQL Server Management Studio Express」を起動
3)Database の SUSDB の Views を右クリックして「New View」を選択
4)Add Table ダイアログは Close
5)画面の中央に「SELECT FROM」と書かれた欄があるので、以下のクエリーをペースト
Code SnippetSELECT
TOP (100) PERCENT
dbo.tbComputerTarget.FullDomainName,
dbo.tbComputerTarget.IPAddress,
usc.SummarizationState AS State,
usc.LastChangeTime,
PUBLIC_VIEWS.vUpdate.KnowledgebaseArticle,
PUBLIC_VIEWS.vUpdate.MsrcSeverity,
PUBLIC_VIEWS.vUpdate.UpdateSource,PUBLIC_VIEWS.vUpdateText.Title,
PUBLIC_VIEWS.vUpdateText.Description
FROM
dbo.tbUpdateStatusPerComputer AS usc
INNER JOIN dbo.tbUpdate AS u ON u.LocalUpdateID = usc.LocalUpdateID
INNER JOIN dbo.tbComputerTarget AS ct ON ct.TargetID = usc.TargetID
INNER JOIN PUBLIC_VIEWS.vUpdate ON u.UpdateID = PUBLIC_VIEWS.vUpdate.UpdateId
INNER JOIN dbo.tbComputerTarget ON usc.TargetID = dbo.tbComputerTarget.TargetID
AND usc.TargetID = dbo.tbComputerTarget.TargetID
INNER JOIN PUBLIC_VIEWS.vUpdateText ON u.UpdateID = PUBLIC_VIEWS.vUpdateText.UpdateId
WHERE
(usc.SummarizationState <> 1) AND (u.IsHidden = 0) AND (PUBLIC_VIEWS.vUpdateText.LocaleId = 1041)
ORDER BY dbo.tbComputerTarget.FullDomainName, usc.LastChangeTime7) 画面の下に実行結果が出てきます
いろいろと確認してみたのですが、LastChangeTime というのが更新した日時に相当すると思われます。
2008年5月14日 9:26