user32222 Asked: 2009-08-20 09:26:49 +0800 CST2009-08-20 09:26:49 +0800 CST 2009-08-20 09:26:49 +0800 CST 如何生成 Windows 补丁列表以及它们在 Windows 2000 服务器上的安装日期? 772 如何生成 Windows 补丁列表以及它们在 Windows 2000 服务器上的安装日期?这是针对审计员的合规性报告。 windows-server-2000 4 个回答 Voted Best Answer Chris J 2009-08-22T12:15:54+08:002009-08-22T12:15:54+08:00 选项 1从http://technet.microsoft.com/en-us/sysinternals/bb897550.aspx 获取 psinfo 运行psinfo -h以获取修补程序列表 选项 2 另一种不需要使用 3rd 方软件的方法wmic;只需输入: wmic qfe从命令行。默认输出给出了很长的行,所以你最好重定向到一个文件并在你最喜欢的文本编辑器中查看它。 主题的变化包括: wmic qfe list full wmic qfe get HotfixID,ServicePackInEffect,InstallDate,InstalledBy,InstalledOn wmic qfe where "HotfixID = 'KB973687'" wmic qfe where "HotfixID = 'KB973687'" get HotfixID, InstallDate, InstalledBy, InstalledOn wmic qfe where "HotfixID = 'KB973687'" list full wmic /node:myserver qfe list full 选项 3 使用 Powershell 做同样的事情。这很简单: 当地的:get-wmiobject -class win32_quickfixengineering 偏僻的:get-wmiobject -class win32_quickfixengineering -computername mysever 同样,这可以使用过滤器,例如: get-wmiobject -class win32_quickfixengineering -filter "HotfixID = 'KB979683'" ...或者因为它是 Powershell,所以只需通过where-object. 选项 4 看起来最近版本的 Windows 没有以同样的方式使用 QFE。如果您的列表看起来不完整,那么您可以试试这个: $Session = New-Object -ComObject Microsoft.Update.Session $Searcher = $Session.CreateUpdateSearcher() $Searcher.Search("IsInstalled=1").Updates | ft -a Date,Title (这个简短脚本的来源:超级用户的答案为什么 Powershell 中的“get-hotfix”和“wmic qfe list”缺少已安装的更新?)。 Stuart Woodward 2009-10-04T06:25:47+08:002009-10-04T06:25:47+08:00 查看“Microsoft Baseline Security Analyzer”。我相信这是您正在寻找的工具。请参阅http://www.microsoft.com/mbsa和相关的 Wikipedia 文章。 “Microsoft Baseline Security Analyzer (MBSA) 是一款易于使用的工具,专为 IT 专业人员设计,可帮助中小型企业根据 Microsoft 安全建议确定其安全状态,并提供具体的补救指导。改善您的安全管理通过使用 MBSA 来检测计算机系统上常见的安全配置错误和缺少安全更新的过程。” Multiverse IT 2009-10-04T08:45:37+08:002009-10-04T08:45:37+08:00 快速而简单的方法:浏览 C:\Windows 中的隐藏文件夹 - $NTUninstallKBxxxxxx 参考讨论补丁的知识库文章。文件夹上的日期是它的安装日期。 aviraldg 2009-08-20T09:40:01+08:002009-08-20T09:40:01+08:00 这 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3 键包含注册表中的子键,这些子键具有您需要的详细信息。 在我的盒子上,示例转储如下所示: 键名:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB915865 类名:上次写入时间:8/17/2009 - 9:01 PM 值 0 名称:描述 类型: REG_SZ 数据:Windows XP 的修补程序 (KB915865) 值 1 名称:InstalledDate 类型:REG_SZ 数据:8/17/2009 值 2 名称:InstalledBy 类型:REG_SZ 数据:Aviral 值 3 名称:UninstallCommand 类型:REG_SZ 数据:C:\WINDOWS\$NtUninstallKB915865$\spuninst\spuninst.exe 值 4 名称:类型 类型:REG_SZ 数据:更新 或“WTF-y”(www.thedailywtf.com)解决方案: 使用命令行程序“systeminfo”。它输出“修补程序”部分...当您将“\FO CSV”选项传递给它时,它将数据输出为 CSV 文件...然后它应该很容易解析...
选项 1从http://technet.microsoft.com/en-us/sysinternals/bb897550.aspx
获取 psinfo
运行
psinfo -h
以获取修补程序列表选项 2
另一种不需要使用 3rd 方软件的方法
wmic
;只需输入:wmic qfe
从命令行。默认输出给出了很长的行,所以你最好重定向到一个文件并在你最喜欢的文本编辑器中查看它。主题的变化包括:
wmic qfe list full
wmic qfe get HotfixID,ServicePackInEffect,InstallDate,InstalledBy,InstalledOn
wmic qfe where "HotfixID = 'KB973687'"
wmic qfe where "HotfixID = 'KB973687'" get HotfixID, InstallDate, InstalledBy, InstalledOn
wmic qfe where "HotfixID = 'KB973687'" list full
wmic /node:myserver qfe list full
选项 3
使用 Powershell 做同样的事情。这很简单:
get-wmiobject -class win32_quickfixengineering
get-wmiobject -class win32_quickfixengineering -computername mysever
同样,这可以使用过滤器,例如:
get-wmiobject -class win32_quickfixengineering -filter "HotfixID = 'KB979683'"
...或者因为它是 Powershell,所以只需通过
where-object
.选项 4
看起来最近版本的 Windows 没有以同样的方式使用 QFE。如果您的列表看起来不完整,那么您可以试试这个:
(这个简短脚本的来源:超级用户的答案为什么 Powershell 中的“get-hotfix”和“wmic qfe list”缺少已安装的更新?)。
查看“Microsoft Baseline Security Analyzer”。我相信这是您正在寻找的工具。请参阅http://www.microsoft.com/mbsa和相关的 Wikipedia 文章。
“Microsoft Baseline Security Analyzer (MBSA) 是一款易于使用的工具,专为 IT 专业人员设计,可帮助中小型企业根据 Microsoft 安全建议确定其安全状态,并提供具体的补救指导。改善您的安全管理通过使用 MBSA 来检测计算机系统上常见的安全配置错误和缺少安全更新的过程。”
快速而简单的方法:浏览 C:\Windows 中的隐藏文件夹 - $NTUninstallKBxxxxxx 参考讨论补丁的知识库文章。文件夹上的日期是它的安装日期。
这
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3
键包含注册表中的子键,这些子键具有您需要的详细信息。
在我的盒子上,示例转储如下所示: 键名:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB915865 类名:上次写入时间:8/17/2009 - 9:01 PM 值 0 名称:描述 类型: REG_SZ 数据:Windows XP 的修补程序 (KB915865)
值 1 名称:InstalledDate 类型:REG_SZ 数据:8/17/2009
值 2 名称:InstalledBy 类型:REG_SZ 数据:Aviral
值 3 名称:UninstallCommand 类型:REG_SZ 数据:C:\WINDOWS\$NtUninstallKB915865$\spuninst\spuninst.exe
值 4 名称:类型 类型:REG_SZ 数据:更新
或“WTF-y”(www.thedailywtf.com)解决方案:
使用命令行程序“systeminfo”。它输出“修补程序”部分...当您将“\FO CSV”选项传递给它时,它将数据输出为 CSV 文件...然后它应该很容易解析...