Quantcast
Channel: Tutoriels Windows 11 et Windows 10 | IT-Connect
Viewing all articles
Browse latest Browse all 123

Comment supprimer un profil utilisateur Windows avec PowerShell ?

$
0
0

I. Présentation

Dans ce tutoriel, nous allons apprendre à supprimer un profil utilisateur Windows à l'aide de PowerShell, de façon propre ! Cet article fait suite à celui déjà en ligne et qui donne la marche à suivre à l'aide de l'interface graphique.

Dans cet exemple, j'utilise une machine sous Windows 11, mais la procédure est identique sous Windows 10.

Pour rappel, à partir de l'interface graphique c'est dans les "Paramètres système avancé" que l'on peut lister et supprimer les profils utilisateurs. Ici, on peut voir la présence de l'utilisateur "IT-Connect\chris.tal" que je vais tenter de supprimer en PowerShell !

Second rappel, on ne supprime pas directement le dossier de l'utilisateur dans "C:\Users" sinon on se retrouve avec des problèmes de profils temporaires si l'utilisateur vient à se reconnecter sur cette même machine.

Lister des profils utilisateurs Windows 11

II. PowerShell pour supprimer un profil utilisateur

On aurait pu utiliser les commandes Get-WmiObject et Remove-WmiObject, mais elles sont devenues obsolètes (voir ici). Alors, il faut préférer l'utilisation de Get-CimInstance et Remove-CimInstance, comme nous allons le faire dans cet exemple.

Pour lister les profils utilisateurs de la machine locale, on va utiliser la commande suivante :

Get-CimInstance -ClassName Win32_UserProfile

Note : pour agir sur une machine distante, il convient d'ajouter le paramètre -ComputerName à la commande Get-CimInstance, de façon à préciser l'ordinateur cible.

Toutefois, elle retourne un ensemble de propriétés... Sélectionnons uniquement la propriété LocalPath pour que ce soit plus lisible :

Get-CimInstance -ClassName Win32_UserProfile | ft LocalPath

L'utilisateur "IT-Connect\chris.tal" est bien retourné dans cette liste, comme les autres utilisateurs qui ont ouvert une session sur cette machine.

Get-CimInstance - Lister les profils utilisateurs Windows

Désormais, il va falloir cibler précisément le profil de notre utilisateur pour le supprimer. On peut s'appuyer sur diverses propriétés comme le SID, ou encore le LocalPath que l'on a déjà utilisé. Ce qui va donner :

Get-CimInstance -ClassName Win32_UserProfile | Where{ $_.LocalPath -eq "C:\Users\chris.tal" }

La commande ci-dessus doit retourner uniquement les informations du compte ciblé. Avant de procéder à la suppression (irréversible !), utilisez la commande Remove-CimInstance avec le paramètre -WhatIf pour faire une simulation.

Ce qui donne :

Get-CimInstance -ClassName Win32_UserProfile | Where{ $_.LocalPath -eq "C:\Users\chris.tal" } | Remove-CimInstance -WhatIf

Dans mon cas, cela retourne :

What if: Performing the operation "Remove-CimInstance" on target "Win32_UserProfile (SID = "S-1-5-21-602238038-4219226198-393252187...)".

Puis, il suffit de retirer -WhatIf pour supprimer réellement le profil de cet utilisateur. Ce qui donne :

Get-CimInstance -ClassName Win32_UserProfile | Where{ $_.LocalPath -eq "C:\Users\chris.tal" } | Remove-CimInstance

Suite à l'exécution de cette commande PowerShell, le profil de l'utilisateur a été supprimé ! Il n'apparaît plus dans la liste des profils visible avec l'interface graphique et dans "C:\Users", son répertoire n'est plus là !

Supprimer profil utilisateur avec PowerShell

Pour finir, voici une autre requête PowerShell que vous pouvez exécuter pour lister les comptes qui ne se sont pas connectés sur cette machine depuis au moins 31 jours (valeur adaptable dans la commande) :

Get-CimInstance -ClassName Win32_UserProfile | Where {($_.Special -eq $false) -and (($_.LastUseTime) -lt (Get-Date).AddDays(-31))} | ft LocalPath

Dans cette commande, on exclut les comptes spéciaux et on se base sur la propriété LastUseTime que l'on compare avec la date du jour. Cela pourrait être utilisé conjointement avec Remove-CimInstance pour supprimer les comptes inutilisés depuis X jours.

III. Conclusion

Suite à la lecture de ce tutoriel, vous êtes en mesure de supprimer un ou plusieurs profils utilisateurs Windows avec PowerShell, que ce soit en local ou à distance !

The post Comment supprimer un profil utilisateur Windows avec PowerShell ? first appeared on IT-Connect.


Viewing all articles
Browse latest Browse all 123


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>