PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

GPO : comment désinstaller LAPS sur Windows avec un script PowerShell ?

vendredi 26 mai 2023 à 07:00

I. Présentation

Dans ce tutoriel, nous allons voir comment désinstaller le client LAPS sur Windows en ligne de commande. Il s'agit d'une étape à effectuer lorsque l'on passe sur Windows LAPS alors que l'on avait déjà LAPS (legacy) en place sur ses machines, que ce soit des postes de travail Windows ou des serveurs Windows Server.

Lorsque le client LAPS legacy est installé sur une machine, il est visible dans la liste des programmes installés avec le nom "Local Administrator Password Solution".

Désinstaller LAPS de Windows

Le fait d'effectuer la désinstallation en ligne de commande va permettre d'automatiser la désinstaller de LAPS, avec une GPO, par exemple.

II. Désinstaller LAPS avec un script

Tout d'abord, nous devons identifier la ligne de commande qui va nous permettre de désinstaller cette application. On a le choix entre PowerShell et l'outil natif MsiExec.

La commande Get-CimInstance permet de récupérer des informations sur le système, y compris sur les applications installées. On peut récupérer le nom et le numéro d'identification de l'application LAPS. Pour cela, on effectue un filtre sur le nom :

Get-CimInstance -Class Win32_Product -Filter "Name='Local Administrator Password Solution'" | fl Name,IdentifyingNumber

Ce qui retourne :

Name : Local Administrator Password Solution
IdentifyingNumber : {97E2CA7B-B657-4FF7-A6DB-30ECC73E1E28}

Désinstaller LAPS - Get-CimInstance

Le problème, c'est que cette commande n'intègre pas de méthode permettant de désinstaller le programme en s'appuyant sur le résultat retourné. Pour cela, on va devoir s'orienter vers une commande plus ancienne, mais toujours disponible : Get-WmiObject.

On va l'utiliser sur le même principe, ce qui va donner :

Get-WmiObject -Class Win32_Product -Filter "Name='Local Administrator Password Solution'"

Si on liste les propriétés et méthodes disponibles avec cette commande, on peut visualiser la méthode "Uninstall()". Intéressant !

Désinstaller LAPS - Get-WmiObject Uninstall

Ce qui signifie que l'on peut utiliser Get-WmiObject pour sélectionner l'application LAPS et invoquer la méthode Uninstall() pour désinstaller l'application. Ce qui donne :

(Get-WmiObject -Class Win32_Product -Filter "Name='Local Administrator Password Solution'").Uninstall()

En exécutant cette commande, LAPS est désinstallé de la machine !

Désinstaller LAPS - Get-WmiObject

Puisque j'ai évoqué MsiExec en introduction, sachez que l'on peut aussi utiliser cet outil pour désinstaller LAPS. Toutefois, il faut préciser l'ID de l'application dans la commande (il ne me semble pas que l'on puisse utiliser le nom). Cet ID est récupérable avec Get-CimInstance et Get-WmiObject.

Au final, avec MsiExec, la commande de désinstallation de LAPS serait :

MsiExec.exe /x {97E2CA7B-B657-4FF7-A6DB-30ECC73E1E28} /qn

III. Désinstaller LAPS par GPO

En résumé, on peut dire qu'une seule ligne de code PowerShell permet de désinstaller LAPS. Il suffit d'indiquer cette commande dans un script ".ps1" pour l'exécuter via une stratégie de groupe (GPO) avec un script de démarrage. Comme ceci :

Désinstaller LAPS par GPO

Sinon, si vous avez déployé le client LAPS via une GPO de type "Installation de logiciel" sachez que vous pouvez initier la désinstallation par ce biais. Il suffit d'éditer la GPO et de supprimer le paquet avec un clic droit. À ce moment-là, la fenêtre "Suppression de logiciel" va s'afficher et il faudra bien choisir l'option "Désinstaller immédiatement le logiciel des utilisateurs et des ordinateurs".

Désinstaller LAPS par GPO (Software Installation)

Cette méthode ne vaut que si LAPS a été déployé par cette méthode. Sinon, il vaut mieux exécuter un script pour désinstaller l'application : ce sera fait sans différence d'une machine à l'autre.

IV. Conclusion

Grâce à ce tutoriel, vous devez être en mesure de désinstaller LAPS legacy de vos postes de travail Windows et vos serveurs Windows Server. La méthode basée sur l'exécution d'un script PowerShell me semble la plus efficace (et très rapide à mettre en place) si vous n'avez pas un autre outil pour gérer les applications sur vos machines.

The post GPO : comment désinstaller LAPS sur Windows avec un script PowerShell ? first appeared on IT-Connect.