サーバーごとに必要な更新プログラムのためにWSUSデータベースをクエリします

StackOverflow https://stackoverflow.com//questions/22059653

  •  23-12-2019
  •  | 
  •  

質問

インターネットを遠くに検索し、WSUSデータベースを照会して、サーバーにインストールする必要があるアップデートの数を表示する方法を探しました。次のブログで部分的な答えが見つかりましたが、この回答は更新が保留中の承認がある場合は、サーバーによって依然として必要な承認が必要な場合は想定されます(WSUSはUIも同様にこれを想定しています)。

http:// theboywonder.co.uk / 2010/11 / 04 / SQL-Query-for-WSUS-3-必要な更新/

役に立ちましたか?

解決

私はこの解決策が他の解決策に役立つことを願っています。

SELECT left(tbComputerTarget.FullDomainName,30) as [Machine Name]
           ,count(tbComputerTarget.FullDomainName) as [# of Missing patches]
           ,tbComputerTarget.LastSyncTime as [Last Sync Time]
FROM tbUpdateStatusPerComputer INNER JOIN tbComputerTarget ON tbUpdateStatusPerComputer.TargetID =          
            tbComputerTarget.TargetID
WHERE (NOT (tbUpdateStatusPerComputer.SummarizationState IN (’1′, ’4′))) AND
            tbUpdateStatusPerComputer.LocalUpdateID IN (SELECT LocalUpdateID FROM dbo.tbUpdate WHERE UpdateID IN        
            (SELECT UpdateID FROM PUBLIC_VIEWS.vUpdateApproval WHERE Action=’Install’))
GROUP BY tbComputerTarget.FullDomainName, tbComputerTarget.LastSyncTime
ORDER BY COUNT(*) DESC
.

他のヒント

更新名

をフィルタリングできます
SELECT C.FULLDOMAINNAME AS COMPUTADOR,VU.DEFAULTTITLE AS ATUALIZAÇÃO, 
       'STATUS' = CASE 
       WHEN UP.SummarizationState = 1 THEN 'NÃO INSTALADO' 
       WHEN UP.SummarizationState = 2 THEN 'NÃO INSTALADO'  
       WHEN UP.SummarizationState = 3 THEN 'INSTALANDO'
       WHEN UP.SummarizationState = 4 THEN 'INSTALADO'
       WHEN UP.SummarizationState = 5 THEN 'FALHOU'
       END

FROM TBCOMPUTERTARGET C
INNER JOIN tbUpdateStatusPerComputer UP ON C.TargetID = UP.TargetID
INNER JOIN tbUpdate U ON UP.LocalUpdateID = U.LocalUpdateID
INNER JOIN [PUBLIC_VIEWS].[vUpdate] VU ON U.UpdateID = VU.UpdateId
WHERE VU.DefaultTitle LIKE 'WINDOWS Internet Explorer 9 for Windows 7' 
        OR VU.DefaultTitle LIKE'Update for Microsoft Office 2010%'
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top