Я искал чистый способ удаления обновления безопасности MSOffice на большом количестве рабочих станций. Я нашел несколько неуклюжих решений, но ничего более чистого или общего, например, использование PowerShell и get-wmiobject
с Win32_QuickFixEngineering
и методом .Uninstall
для получающегося объекта.
[По-видимому, Win32_QuickFixEngineering относится только к исправлениям Windows. См .: http://social.technet.microsoft.com/Forums/en/winserverpowershell/thread/93cc0731-5a99-4698-b1d4-8476b3140aa3]
Вопрос 1: Нет ли способа использовать get-wmiobject
для поиска обновлений MSOffice? Мне так интересно узнать, сколько классов и пространств имен.
Это конкретное обновление Office (KB978382) можно найти в реестре здесь (для Office Ultimate):
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{91120000-002E-0000-0000-0000000FF1CE}_ULTIMATER_{6DE3DABF-0203-426B-B330-7287D1003E86}
, который любезно показывает команду удаления:
msiexec /package {91120000-002E-0000-0000-0000000FF1CE} /uninstall {6DE3DABF-0203-426B-B330-7287D1003E86}
и последний GUID кажется постоянным в разных версиях Office.
Я также нашел обновление, как это:
$wu = new-object -com "Microsoft.Update.Searcher"
$wu.QueryHistory(0,$wu.GetTotalHistoryCount()) | where {$_.Title -match "KB978382"}
Мне нравится этот поиск, потому что он не требует каких-либо возни в реестре, но:
Вопрос 2: Если я обнаружил, что это так, что я могу сделать с найденной информацией, чтобы облегчить удаление?
Спасибо