- Author and member of the year 2019 – Why DevOps still doesn't rule the IT world - Wed, Jan 1 2020
- Results of the 4sysops member and author competition in 2018 - Tue, Jan 8 2019
- Why Microsoft is using Windows customers as guinea pigs - Reply to Tim Warner - Tue, Dec 18 2018
A while back, I reviewed the comparable tool WuInstall. WuInstall has a few more switches than ABC-Update has, and it supports caching. However, contrary to WuInstall, ABC-Update is free. Thus, if you plan to update Windows at the command prompt every now and then, ABC-Update is worth a look.
I think patch management tools will gain importance once Windows 10 is released to the public. You’ve probably heard that Microsoft is planning no major releases after Windows 10. This means that, in the future, all changes to Windows will come through Windows Update.
Enterprises will have the ability to opt out from feature updates and to automatically install security updates only. However, even the most conservative IT departments will be tempted to install one enhancement or another. And, since updates often depend on other updates, things will get complicated. If you work in a complex network, scripting gives you the maximum flexibility. This is where command-line tools such as ABC-Update come in.
ABC-Update requires .NET Framework 3.5. If you launch the tool the first time on a Windows 8.1 machine where you didn’t install this version of the framework, Windows will automatically download and install .NET 3.5.
ABC-Update itself is a standalone tool and doesn’t have to be installed. You can copy it to the folder of your choice. If you just run ABC-Update, you will get a list of all missing patches from Windows Update.
List of missing updates
If you have a WSUS server installed in your network, you can also bypass Windows Update and search for updates on WSUS instead by using the following command:
ABC-Update allows you to install all missing updates, only updates of a certain category (security, application, etc.) or type (software or driver), or only a specific update (KB number). The date filter, which enables you to select updates within a time period, is useful. For example, suppose you don’t want to always install updates right after they are released because you want to wait until other admins have found all the bugs. The following command lists all updates that are more than 30 days old:
ABC-Update.exe /:D *,-30
Listing missing updates more than 30 days old
I ran the command on October 29. As you can see in the screenshot above, ABC-Update only lists updates that were released before September 29.
If you are ready to install the listed updates, you would run the following command:
ABC-Update /D:*,-30 /A:Install
ABC-Update also supports filtering by string and enables you to control reboots after installations and uninstalls. Below is a list of all available parameters, which you can display with ABC-Update /?.
List and Install updates from MSUpdate or from managed Server (WSUS)
Copyright (C) ABC-Deploy - Http://abc-deploy.com
Run without parameters to list assigned but missing updates from MSUpdate
List | Install | Uninstall
WSUS | MSUpdate
[/R:] Reboot If Needed (Y/N)
/R:count to allow "count" reboots. Example /R:3
[/Q:] Query String
Software | Driver
Comma separated list of Category Names to include
Default include all categories
[/K:] KB Article Number(s)
Default include all KB's
Comma separated list of KB Article numbers to include
[/N:] Name / Title
Default "*" Meaning all
% One character
# One digit
[/D:] Date Interval of update
Default *,* Meaning all
*,dd.mm.yyyy from anytime to dd.mm.yyyy
dd.mm.yyyy,Now from dd.mm.yyyy to Now
dd.mm.yyyy,-30 from dd.mm.yyyy to 30 days ago
Run without parameters to list all assigned but missing updates from MS Update
List all assigned updates from WSUS server
List and install all assigned but missing updates from WSUS Server
Install missing updates. No reboot
ABC-Update.exe /S:WSUS /A:Install /R:N
List and install all assigned but missing Security Updates from WSUS server
Install missing updates. Reboot if needed
ABC-Update.exe /S:WSUS /A:Install /R:Y /C:SecurityUpdates /Q: IsInstalled=0 AND isAssigned=1 AND IsHidden=0
Uninstall two updates from WSUS Server
Uninstall named updates. No reboot
ABC-Update.exe /S:WSUS /A:UnInstall /R:N /K:KB2585542,KB2631813