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).
Windows systeembeheerders moeten omgaan met:
- corrupte gebruikersregisterkluizen
- bestanden die gedeeld moeten worden over alle gebruikersprofielen
- het uitzoeken hoe corrupte profielen opnieuw moeten worden aangemaakt
- …en meer
Wat ooit een frustrerende ervaring was, is iets minder frustrerend geworden met PowerShell. Hier zijn een paar manieren waarop PowerShell het beheer van Windows-gebruikersprofielen gemakkelijker kan maken.
Beheer en rapporteer over Active Directory, Exchange en Microsoft 365 met ManageEngine ADManager Plus. Download gratis proefversie!
Gebruikersprofielen opsommen
Het is eenvoudig om een kijkje te nemen bij gebruikersprofielen op het bestandssysteem van een enkele Windows-computer. Kijk eenvoudig in de C:\Gebruikers map. Maar niet alleen krijg je niet het volledige beeld wanneer je dit doet, het is ook problematisch vanwege mogelijke problemen met de toegang tot het bestandssysteem. Er is een betere manier en dat is via WMI of CIM. In CIM bestaat er een klasse genaamd Win32_UserProfile. Deze klasse bevat alle profielen die op een machine bestaan en veel andere nuttige informatie die een eenvoudige map in het bestandssysteem je niet zal vertellen.
Met PowerShell kun je toegang krijgen tot deze CIM-klasse met het Get-CimInstance
commando.
Hieronder zoek ik het eerste gebruikersprofiel op de lokale computer. Je zult veel nuttige informatie vinden, zoals LastUseTime
, SID
enzovoort.
De Get-CimInstance
cmdlet werkt niet alleen lokaal, maar ook op afstand. Door de ComputerName
-parameter te gebruiken, kun je 1, 10 of 100 verschillende externe computers specificeren en deze zal vrolijk elk ervan bevragen.
Gebruikersprofielen verwijderen
Zodra je weet hoe je gebruikersprofielen op computers moet opnoemen, kun je nog een stap verder gaan en die gebruikersprofielen ook verwijderen.
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.
De juiste manier om dit te doen is door een verwijdering via CIM te initiëren.
Met dezelfde CIM-klasse die je net hebt bekeken, is het mogelijk om niet alleen profielen te bekijken, maar je kunt ze ook volledig verwijderen. Dit is hetzelfde als naar het Gebruikersprofielen-vak onder Systeeminstellingen gaan en op de Verwijderen-knop drukken.

Om dit te doen, noem je de gebruikersprofielen opnieuw op en pas je deze keer een filter toe om een enkel gebruikersprofiel te kiezen om te verwijderen. In dit geval verwijder je het gebruikersprofiel genaamd UserA. Dit kun je doen door de Where-Object
cmdlet van PowerShell te gebruiken en wat stringmanipulatie om de gebruikersmapnaam uit het LocalPath
-eigenschap te halen, zoals hieronder getoond.
Eens je dat enkele profiel hebt kunnen beperken, kan je die CIM-instantie doorgeven aan de Remove-CimInstance
-cmdlet voor elk object dat Get-CimInstance
retourneert. Dit proces zal het gebruikersprofiel verwijderen uit het bestandssysteem en het register.
Opnieuw, als je dit wilt uitbreiden naar meerdere computers, gebruik je gewoon de ComputerName
-parameter op Get-CimInstance
.
Beheer en Rapporteer Active Directory, Exchange en Microsoft 365 met ManageEngine ADManager Plus. Download Gratis Proefversie!
Samenvatting
Je hebt nu een eenvoudige manier gezien om Windows-gebruikersprofielen op te sommen en te verwijderen. Als je niet op de hoogte was van de CIM-klasse Win32_UserProfile, zou je mogelijk de C:\Users<Gebruikersnaam>-map als het profiel hebben beschouwd, maar nu zou je moeten weten om de Win32_UserProfile-CIM-instantie te verwijderen.
Je ziet dat er veel meer is aan het gebruikersprofiel dan een eenvoudige map in het bestandssysteem. Gebruik CIM de volgende keer dat je gebruikersprofielen van Windows-computers in je omgeving moet opvragen of verwijderen.
Source:
https://adamtheautomator.com/powershell-delete-user-profile/