PowerShell: Comment trouver et de désinstaller une mise à Jour de MS Office
J'ai été à la chasse pour un moyen propre à désinstaller un MSOffice mise à jour de sécurité sur un grand nombre de postes de travail. J'ai trouvé certains maladroits solutions, mais rien que de nettoyer ou de général, comme l'utilisation de PowerShell et get-wmiobject
avec Win32_QuickFixEngineering
et la .Uninstall
méthode sur l'objet résultant.
[Apparemment, Win32_QuickFixEngineering se réfère uniquement à des taches de Windows. Voir: http://social.technet.microsoft.com/Forums/en/winserverpowershell/thread/93cc0731-5a99-4698-b1d4-8476b3140aa3 ]
Question 1: Est-il aucun moyen d'utiliser get-wmiobject
pour trouver MSOffice mises à jour? Il ya tellement de nombreuses classes et espaces de noms, j'en viens à me demander.
Ce particualar Bureau de mise à jour (KB978382) peut être trouvé dans la base de registre ici (pour le Bureau Ultime):
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{91120000-002E-0000-0000-0000000FF1CE}_ULTIMATER_{6DE3DABF-0203-426B-B330-7287D1003E86}
qui a gentiment montre la commande de désinstallation de:
msiexec /package {91120000-002E-0000-0000-0000000FF1CE} /uninstall {6DE3DABF-0203-426B-B330-7287D1003E86}
et le dernier GUID semble constant entre les différentes versions d'Office.
J'ai aussi trouvé la mise à jour comme ceci:
$wu = new-object -com "Microsoft.Update.Searcher"
$wu.QueryHistory(0,$wu.GetTotalHistoryCount()) | where {$_.Title -match "KB978382"}
J'aime bien cette recherche, car il ne nécessite pas de fouiller dans le registre, mais:
Question 2: Si je l'ai trouvé comme ça, que puis-je faire avec les informations trouvées pour faciliter le Désinstaller?
Grâce
OriginalL'auteur Hank | 2010-05-04
Vous devez vous connecter pour publier un commentaire.
L'extension de votre deuxième approche (à l'aide de Microsoft.La mise à jour.Chercheur), cette solution devrait vous permettre de rechercher une mise à jour par Titre, puis de le désinstaller:
CreateUpdateInstaller()
doit être appelée à partir d'un processus élevés. Par conséquent, il ne peut pas être utilisé par les goûts deinvoke-command
.OriginalL'auteur Jason Stangroome