有没有办法在Windows中检查说安全公告MS**-***或CVE-****-*****已被修补? 比如类似于RedHat的rpm -q --changelog service
Windows 2008 R2 SP1
对您的服务器( systeminfo /s $SERVER )运行SystemInfo也应该列出已安装的修补程序。
Hotfix(s): 333 Hotfix(s) Installed. [161]: IDNMitigationAPIs - Update [162]: NLSDownlevelMapping - Update [163]: KB929399 [164]: KB952069_WM9 [165]: KB968816_WM9 [166]: KB973540_WM9L [167]: KB936782_WMP11
我对服务器运行PSinfo -h以显示已安装的修补程序。
另一种select,如果你不能使用pstools,发现自己与本地Winder工具卡住:
reg query hklm\software\microsoft\windows\currentversion\uninstall /s | findstr "KB[0-9].*" > %TEMP%\Installed.txt & notepad %TEMP%\Installed.txt
WMIC可以列出已安装的修补程序:
C:\>wmic qfe get hotfixid, installedon HotFixID InstalledOn KB2605658 11/30/2011 KB2608610 9/1/2011 KB2608612 9/26/2011 KB2614194 9/26/2011 ...(more)...
它也可以search特定的修补程序。 在这里,我展示了两个search – 一个成功,一个不成功:
C:\>wmic qfe where (hotfixid = 'KB2608610') get hotfixid, installedon HotFixID InstalledOn KB2608610 9/1/2011 C:\>wmic qfe where (hotfixid = 'nosuch') get hotfixid, installedon No Instance(s) Available.
另外,为了检查系统上可能不知道的子系统上的漏洞, Microsoft Baseline Security Analayzer是一个相当有用的工具。 这并不总是你知道的那样,有时候会有一些古怪的东西安装在WSUS或Microsoft Update的扫描或服务中,而这些东西在系统的整个生命周期中都可能保持不被修补或不能释放。