PowerShell: How to find and uninstall a MS Office Update
        Posted  
        
            by Hank
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Hank
        
        
        
        Published on 2010-05-04T03:33:25Z
        Indexed on 
            2010/05/04
            3:38 UTC
        
        
        Read the original article
        Hit count: 527
        
I've been hunting for a clean way to uninstall an MSOffice security update on a large number of workstations.  I've found some awkward solutions, but nothing as clean or general like using PowerShell and get-wmiobject with Win32_QuickFixEngineering and the .Uninstall method on the resulting object.  
[Apparently, Win32_QuickFixEngineering only refers to Windows patches. See: http://social.technet.microsoft.com/Forums/en/winserverpowershell/thread/93cc0731-5a99-4698-b1d4-8476b3140aa3 ]
Question 1: Is there no way to use get-wmiobject to find MSOffice updates?  There are so many classes and namespaces, I have to wonder.  
This particualar Office update (KB978382) can be found in the registry here (for Office Ultimate):
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{91120000-002E-0000-0000-0000000FF1CE}_ULTIMATER_{6DE3DABF-0203-426B-B330-7287D1003E86}
which kindly shows the uninstall command of:
msiexec /package {91120000-002E-0000-0000-0000000FF1CE} /uninstall {6DE3DABF-0203-426B-B330-7287D1003E86} 
and the last GUID seems constant between different versions of Office.
I've also found the update like this:
    $wu = new-object -com "Microsoft.Update.Searcher"
    $wu.QueryHistory(0,$wu.GetTotalHistoryCount()) | where {$_.Title -match "KB978382"}
I like this search because it doesn't require any poking around in the registry, but:
Question 2: If I've found it like this, what can I do with the found information to facilitate the Uninstall?
Thanks
© Stack Overflow or respective owner