windows-update – 阻止特定的Windows更新修补程序
发布时间:2020-12-14 00:39:19 所属栏目:Windows 来源:网络整理
导读:我想启用 Windows自动更新但阻止安装的特定补丁导致我们出现问题. 这可能吗?谁知道怎么做? 在较大的网络中,您将需要使用WSUS,如DanBig所指出的那样.但是,如果您希望阻止单个Hot Fix,则可以使用此脚本使用Hotfix ID执行此操作: If Wscript.Arguments.Count
我想启用
Windows自动更新但阻止安装的特定补丁导致我们出现问题.
这可能吗?谁知道怎么做?
在较大的网络中,您将需要使用WSUS,如DanBig所指出的那样.但是,如果您希望阻止单个Hot Fix,则可以使用此脚本使用Hotfix ID执行此操作:
If Wscript.Arguments.Count = 0 Then WScript.Echo "Syntax: HideWindowsUpdate.vbs [Hotfix Article ID]" & vbCRLF & _ "Examples:" & vbCRLF & _ " - Hide KB940157: HideWindowsUpdate.vbs 940157" WScript.Quit 1 End If Dim hotfixId hotfixId = WScript.Arguments(0) Dim updateSession,updateSearcher Set updateSession = CreateObject("Microsoft.Update.Session") Set updateSearcher = updateSession.CreateUpdateSearcher() Wscript.Stdout.Write "Searching for pending updates..." Dim searchResult Set searchResult = updateSearcher.Search("IsInstalled=0") Dim update,kbArticleId,index,index2 WScript.Echo CStr(searchResult.Updates.Count) & " found." For index = 0 To searchResult.Updates.Count - 1 Set update = searchResult.Updates.Item(index) For index2 = 0 To update.KBArticleIDs.Count - 1 kbArticleId = update.KBArticleIDs(index2) If kbArticleId = hotfixId Then WScript.Echo "Hiding update: " & update.Title update.IsHidden = True End If Next Next 如果更新未链接到知识库文章,则需要使用此脚本查找更新ID: Dim updateSession,index2 WScript.Echo CStr(searchResult.Updates.Count) & " found." For index = 0 To searchResult.Updates.Count - 1 Set update = searchResult.Updates.Item(index) WScript.Echo update.Identity.UpdateID & ": " & update.Title Next 并使用此脚本阻止它: If Wscript.Arguments.Count = 0 Then WScript.Echo "Syntax: HideWindowsUpdateById.vbs [Update ID]" & vbCRLF & _ "Examples:" & vbCRLF & _ " - Hide KB940157: HideWindowsUpdateById.vbs 2ba85467-deaf-44a1-a035-697742efab0f" WScript.Quit 1 End If Dim updateId updateId = WScript.Arguments(0) Dim updateSession,updateSearcher Set updateSession = CreateObject("Microsoft.Update.Session") Set updateSearcher = updateSession.CreateUpdateSearcher() Wscript.Stdout.Write "Searching for pending updates..." Dim searchResult Set searchResult = updateSearcher.Search("UpdateID = '" & updateId & "'") Dim update,index WScript.Echo CStr(searchResult.Updates.Count) & " found." For index = 0 To searchResult.Updates.Count - 1 Set update = searchResult.Updates.Item(index) WScript.Echo "Hiding update: " & update.Title update.IsHidden = True Next 您也可以在Windows PowerShell中执行上述所有操作.我最初在VBScript中创建了脚本,因为我想在安装PoSH之前与Windows Update代理进行交互. Windows Update API是documented on MSDN. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [转帖]Ansible管理windows集群
- Windows Server 2016 – 无法与一个特定用户进行RDP
- windows-installer – Visual Studio MSI安装程序
- 想说再见不容易,win7最新市占率依然超36%
- uint16_t和unsigned short int之间有什么区别?
- windows-phone-7 – 使用Visual Studio 2012(RTM,Premium)为
- .net – 为Windows窗体应用程序选择字体
- windows-server-2008 – Win Server 2008 Standard上的Hype
- Windows 32位和64位之间的代码差异
- 在Windows 7中使用C#运行Selenium测试时出现“IEDriverServ