[POWERSHELL] Désinstaller un logiciel .MSI
Hello à tous !
Nous pouvons être amener à désinstaller des logiciels.
Prenons un cas concret, Microsoft PowerBI, qui a une mise à jour tous les mois.
Partons sur une commande WMI :
Get-WmiObject -class win32_product
Cette commande nous donne tous les logiciels installés sur le poste :

Content !……Non, il est vrai que cela nous donne beaucoup d’information.
Essayons de filtrer ca. Ajoutons un”|” après notre dernière commande (ce qui nous permettra de travailler avec le résultat situé devant le “|”. Trouvons notre fameux Power BI :
Get-WmiObject -class win32_product | Where-Object { $_.Name -like "*Power BI*"}
Là, nous cherchons dans notre fameuse liste les logiciels qui contiennent “Power BI”. Les “*” signalent juste qu’il peut y avoir du texte avant et après le texte recherché. Regardons ce que ca donne :

Nous nous approchons mais ce n’est pas encore cela.
Il nous reste à le désinstaller.
Ajoutons encore un “|” suivi de la dernière commande :
Get-WmiObject -class win32_product | Where-Object { _.Name -like "*Power BI*"} | ForEach-Object {_.Uninstall()}
Que nous dit ce dernier morceau ?
Il nous dit que pour chaque objet ayant dans son nom “Power BI”, nous le désinstallons.
Et ca, c’est formidable !
Bien sûr avec l’IdentifyingNumber, nous pouvons faire un msiexec /X {IdentifyingNumber} pour désinstaller notre .MSI.