A common pain point in an IT administrator’s career is user profiles. User profiles are a ubiquitous part of a Windows IT pro’s life; especially those that manage virtual desktop environments like Remote Desktop Services (RDS) or Citrix. In this post, I’m going to demonstrate a way you take out your aggression by using PowerShell to delete user profiles (and discover them).
Les administrateurs système Windows doivent faire face à :
- des ruches de registre utilisateur corrompues
- des fichiers à partager entre tous les profils utilisateur
- la résolution de la manière de recréer des profils corrompus
- … et plus encore
Ce qui était autrefois une expérience frustrante est devenu un peu moins frustrant avec PowerShell. Voici quelques façons dont PowerShell peut faciliter la gestion des profils utilisateur Windows.
Gérez et générez des rapports sur Active Directory, Exchange et Microsoft 365 avec ManageEngine ADManager Plus. Téléchargez l’essai gratuit !
Énumération des profils utilisateur
Il est facile de jeter un coup d’œil aux profils utilisateur sur le système de fichiers sur un seul ordinateur Windows. Il suffit de regarder dans le dossier C:\Users. Mais non seulement vous n’obtenez pas une image complète lorsque vous faites cela, mais c’est aussi problématique en raison de problèmes potentiels d’accès au système de fichiers. Il y a une meilleure façon de faire et c’est à travers WMI ou CIM. En CIM, une classe existe appelée Win32_UserProfile. Cette classe contient tous les profils qui existent sur une machine et beaucoup d’autres informations utiles qu’un simple dossier du système de fichiers ne vous dira pas.
En utilisant PowerShell, vous pouvez accéder à cette classe CIM avec la commande Get-CimInstance
.
Ci-dessous, je trouve le premier profil utilisateur sur l’ordinateur local. Vous remarquerez de nombreuses informations utiles telles que LastUseTime
, SID
, et ainsi de suite.
La commande Get-CimInstance
fonctionne non seulement localement mais aussi à distance. En utilisant le paramètre ComputerName
, vous pouvez spécifier 1, 10 ou 100 ordinateurs distants différents, et il interrogera chacun d’entre eux avec plaisir.
Suppression des profils utilisateur
Une fois que vous comprenez comment énumérer les profils utilisateur sur les ordinateurs, vous pouvez aller plus loin et supprimer ces profils utilisateur également.
I can’t count how many times I’ve had to delete user profiles because something got corrupted and I just needed the user to log in again and recreate it. At one time, I would simply have the user log off and remove the C:\Users<UserName> folder from the file system. Usually it works, sometimes it didn’t. What I didn’t realize was that I was actually leaving some remnants behind.
La bonne façon de le faire est d’initier une suppression via CIM.
En utilisant la même classe CIM que celle que vous venez de passer en revue, il est possible non seulement de voir les profils, mais aussi de les supprimer complètement. Cela équivaut à accéder à la boîte Profils utilisateur dans les paramètres système et de cliquer sur le bouton Supprimer.

Pour ce faire, énumérez à nouveau les profils utilisateur et cette fois, appliquez un filtre pour choisir un seul profil utilisateur à supprimer. Dans ce cas, supprimez le profil utilisateur appelé UserA. Vous pouvez le faire en utilisant la commande Where-Object
de PowerShell et une manipulation de chaîne pour extraire le nom du dossier utilisateur de la propriété LocalPath
, comme indiqué ci-dessous.
Une fois que vous avez pu restreindre ce profil unique, vous pouvez passer cette instance CIM à la cmdlet Remove-CimInstance
pour chaque objet retourné par Get-CimInstance
. Ce processus supprimera le profil utilisateur du système de fichiers et du registre.
Encore une fois, si vous souhaitez étendre cela à plusieurs ordinateurs, il vous suffit d’utiliser le paramètre ComputerName
sur Get-CimInstance
.
Gérez et Rapportez sur Active Directory, Exchange et Microsoft 365 avec ManageEngine ADManager Plus. Téléchargez l’essai gratuit !
Résumé
Vous avez maintenant vu une façon facile d’énumérer et de supprimer les profils d’utilisateurs Windows. Si vous n’étiez pas au courant de la classe CIM Win32_UserProfile, vous avez peut-être assimilé le dossier C:\Users\
Vous pouvez voir qu’il y a beaucoup plus dans le profil utilisateur qu’un simple dossier système de fichiers. Utilisez CIM la prochaine fois que vous avez besoin d’interroger ou de supprimer des profils d’utilisateurs des ordinateurs Windows dans votre environnement.
Source:
https://adamtheautomator.com/powershell-delete-user-profile/