我可以更改 WSUS 中的更新描述吗?

我可以更改 WSUS 中的更新描述吗?

在每个 Microsoft 补丁日,我都有大量新更新需要批准给我的客户。但我不会选择“批准所有更新并继续”,而是在知识库文章中收集每个更新的信息,以决定这对我们来说是否是重要的更新。

这是一项相当繁琐的任务,因为我必须在客户端的浏览器中输入相应的 KB 编号并等待网页加载。我想知道为什么 Microsoft 不使用 WSUS 控制面板上的更新描述框来显示真正有用的详细信息。相反,我的所有更新都显示:

安装此更新以解决 Windows 中的问题。有关此更新中包含的问题的完整列表,请参阅相关的 Microsoft 知识库文章以获取更多信息。安装此更新后,您可能需要重新启动计算机。

我开始考虑编写一个小的 Powershell 脚本,为我添加必要的信息。但我在第一步(手动更改更新描述)上失败了:

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

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

PS C:\Users\Administrator> $update[0].说明
安装此更新以解决 Windows 中的问题。有关此更新中包含的问题的完整列表,请参阅相关的 Microsoft 知识库文章以获取更多信息。安装此更新后,您可能需要重新启动计算机。

PS C:\Users\Administrator> $update[0].Description = 'Windows 8.1 或 Windows Server 2012 R2 中出现硬件故障时出现“0x00000133”停止错误'

PS C:\Users\Administrator> $update[0].说明
Windows 8.1 或 Windows Server 2012 R2 中出现硬件故障时出现“0x00000133”停止错误

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

PS C:\Users\Administrator> $update[0].说明
安装此更新以解决 Windows 中的问题。有关此更新中包含的问题的完整列表,请参阅相关的 Microsoft 知识库文章以获取更多信息。安装此更新后,您可能需要重新启动计算机。

似乎我的更改没有提交到数据库。要么是我遗漏了某种信息$wsus.SubmitChanges(),要么$wsus.SearchUpdates()命令返回了“update.Clone()”,所以我的更改没有保存到任何地方。

我如何才能实现更改 WSUS 更新描述的目标?

答案1

更新

通过使用下面的答案,我创建了一个小工具,可以自动将描述添加到我的 WSUS 服务器。我决定在 Github 上发布我的工具,所以请随意尝试并测试它。

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

示例截图

原始答案

我尝试按照以下建议使用 Get-Member 解决问题莫尔泰尼亚在评论部分,但没有成功。
最后,我直接编辑 WSUS 数据库来更改描述。

小心!只有当您绝对确定自己在做什么时才使用我的解决方案。编辑服务器所依赖的数据库就像对您最好的朋友进行心脏手术一样。

我的 WSUS 安装正在使用Windows 内部数据库存储更新信息。由于此版本不允许远程查询,因此我不得不使用 SQL Server Management Studio 的本地安装。
使用上面链接的文章提供的服务器名称连接到数据库。

我可以通过运行此查询来更改更新描述:

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 网站获取描述并将它们自动应用于所有新更新。我会将信息添加到此帖子中。

相关内容