/
/

Zo scriptt u het automatisch opschonen van tijdelijke bestanden en oude gebruikersprofielen op externe machines

door Team Ninja
How to Script Automatic Clean-Up of Temporary Files and Old User Profiles on Remote Machines blog banner image

Directe samenvatting

Deze blogpost van NinjaOne biedt een uitgebreide basislijst met CMD-commands en een deep dive duik in Windows-commands met meer dan 70 essentiële cmd-commands voor zowel beginners als gevorderden. Het legt praktische opdrachtpromptcommando’s uit voor file management, directory navigation, network troubleshooting, disk operations en automatisering met echte voorbeelden om de productiviteit te verbeteren. Of u nu fundamentele cmd-commands leert of geavanceerde Windows CLI-tools onder de knie krijgt, deze gids helpt u de Command Prompt effectiever te gebruiken.

Tijdelijke bestanden en verouderde gebruikersprofielen zijn niet-essentiële data die zich ongemerkt ophopen op een device. Ze lijken misschien onschuldig, maar deze restbestanden en profielen kunnen veel waardevolle schijfruimte innemen.

Blijven ze lange tijd onbeheerd, dan kunnen ze beveiligingsrisico’s veroorzaken in omgevingen met meerdere gebruikers of gedeelde werkplekken.

Door het opschonen te automatiseren, houdt u al uw endpoints slank en optimaal presterend.

Vandaag laten we u zien hoe u automatiseringsscripts maakt om tijdelijke bestanden op te schonen en oude gebruikersprofielen te verwijderen op externe machines.

Liever een visuele uitleg? Bekijk onze video “Zo scriptt u het automatisch opschonen van tijdelijke bestanden en oude gebruikersprofielen op externe machines”.

Tijdelijke bestanden en gebruikersprofielen opschonen automatiseren met PowerShell

Het opschonen van tijdelijke bestanden en het verwijderen van oude gebruikersprofielen geldt als een routinetaak voor MSP’s. Het houdt systemen soepel draaiend, maakt waardevolle schijfruimte vrij en verkleint beveiligingsrisico’s.

Dit handmatig doen op honderden endpoints kost echter veel tijd. Daarom gebruiken de meeste systeembeheerders PowerShell-scripts om het hele proces te automatiseren.

Controleer voordat u verdergaat of aan de volgende vereisten is voldaan:

📌 Vereisten:

  • Windows 10/11 of Server 2016+
  • PowerShell versie 5.1 of hoger
  • Lokale beheerdersrechten
  • NinjaOne of andere RMM-tools voor uitrol en het ophalen van logs (optioneel)
  • GPO-toegang om opschoonbeleid af te dwingen (optioneel)

Dit zijn de belangrijkste tools die u voor deze handleiding nodig hebt.

📌 Aanbevolen uitrolstrategieën:

Klik om een methode te kiezen 💻
Beste voor individuele gebruikers
💻💻💻
Beste voor ondernemingen
Methode 1: tijdelijke bestanden opschonen met een PowerShell-script ✓ ✓
Methode 2: oude gebruikersprofielen verwijderen met een PowerShell-script ✓
Methode 3: Group Policy gebruiken om het opschonen te standaardiseren of aan te vullen ✓

Methode 1: tijdelijke bestanden opschonen met een PowerShell-script

📌 Use case: maak een script dat tijdelijke bestanden en gebruikersmappen van een endpoint verwijdert om rommel te verminderen en opslagruimte vrij te maken.

Windows- en gebruikers-tempmappen opschonen:

# System temp
$systemTemp = "$env:windir\Temp"
Get-ChildItem -Path $systemTemp -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue# User temp
$users = Get-ChildItem 'C:\Users' -Directory
foreach ($user in $users) {
$tempPath = "$($user.FullName)\AppData\Local\Temp"
if (Test-Path $tempPath) {
Get-ChildItem -Path $tempPath -Recurse -Force -ErrorAction SilentlyContinue |
Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
}
}

Zorg dat u systeemaccounts en actieve gebruikerssessies uitsluit om onbedoeld dataverlies te voorkomen.

Methode 2: oude gebruikersprofielen verwijderen met een PowerShell-script

📌 Use case: gebruik een script dat inactieve gebruikersprofielen identificeert en verwijdert op basis van hun laatste aanmelddatum.

A. Profielen verwijderen die de laatste 30 dagen niet zijn gebruikt

$cutoff = (Get-Date).AddDays(-30)
Get-CimInstance -ClassName Win32_UserProfile | Where-Object {
-not $_.Special -and $_.LastUseTime -lt $cutoff
} | ForEach-Object {
Remove-CimInstance -InputObject $_
}

B. Controleren zonder te verwijderen

Get-CimInstance -ClassName Win32_UserProfile | Where-Object {
-not $_.Special -and $_.LastUseTime -lt $cutoff
} | Select-Object LocalPath, LastUseTime

Methode 3: Group Policy gebruiken om het opschonen te standaardiseren of aan te vullen

📌 Use case: pas Group Policy-instellingen toe om het opschonen van profielen bij het opnieuw opstarten af te dwingen en het proces op alle devices te standaardiseren.

  1. Open de Groepsbeleid-editor
  2. Ga naar: Computerconfiguratie > Beheersjablonen > Systeem > Gebruikersprofielen.
  3. Schakel de instelling “Gebruikersprofielen die ouder zijn dan een opgegeven aantal dagen verwijderen bij opnieuw opstarten van het systeem” in.
  4. Stel de waarde in op 30 dagen.

💡Tip: u kunt dit naast een PowerShell-automatiseringsscript gebruiken om handhaving op systeemniveau te garanderen.

Extra stappen om het opschonen van tijdelijke bestanden en gebruikersprofielen te automatiseren

Hieronder vindt u nog een paar stappen waarmee u het verwijderen van tijdelijke bestanden en oude gebruikersprofielen eenvoudiger maakt.

Methode 1: opschonen plannen met Taakplanner

📌 Use case: maak een geplande taak die opschoonscripts automatisch uitvoert buiten piekuren, zodat systemen schoon blijven.

A. Een geplande taak maken via CMD

schtasks /create /tn "AutoCleanup" /tr "powershell.exe -File C:\Scripts\Cleanup.ps1" /sc weekly /st 02:00 /ru SYSTEM

B. De planning valideren

schtasks /query /tn "AutoCleanup"

Dwing een consistent opschoonschema af bij alle tenants voor rapportage en compliance.

Methode 2: opschoonresultaten in het register loggen voor zicht vanuit uw RMM

📌 Use case: log opschoonactiviteit naar het register of naar lokale bestanden, zodat uw RMM-tool deze kan monitoren, rapporteren en auditen.

A. Een auditsleutel maken en metadata opslaan

New-Item -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -Name "LastCleanupDate" -Value (Get-Date).ToString("u")
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -Name "ProfilesRemoved" -Value 3
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -Name "TempFilesDeletedMB" -Value 512

B. Opvragen via CMD

reg query HKLM\SOFTWARE\Org\CleanupAudit

Zo beschikt uw RMM-tool over een datapunt voor monitoring en alarmering.

⚠️ Waar u op moet letten

Houd bij het volgen van deze handleiding rekening met deze valkuilen:

Risico’s Mogelijke gevolgen Oplossing
Tijdelijke bestanden van systeemaccounts verwijderen Services die uitvallen of een instabiel systeem Gebruik een whitelist om bekende systeemaccounts uit te sluiten.
Geplande taken uitvoeren zonder de juiste rechten Het script mislukt stilletjes of geeft fouten Voer taken uit onder SYSTEM of met volledige beheerdersrechten.
Bestanden die niet worden verwijderd door rechtenproblemen Gedeeltelijke opschoning Let op vergrendelde bestanden of overgeërfde rechten van een andere gebruiker.
Geplande taak die niet draait door verkeerde configuratie Het opschonen vindt niet plaats Controleer het scriptpad, de syntaxis en de systeeminstellingen.
GPO wordt niet toegepast op het beoogde gedrag Inconsistent opschoongedrag op verschillende devices Gebruik gpresult /h report.html om de overerving van Group Policy op alle endpoints te controleren.
Opschoonbeleid toepassen zonder te testen Onbedoeld dataverlies en systeemfouten Test scripts en Group Policy-instellingen in een stagingomgeving voordat u ze uitrolt.

Quick-start guide

NinjaOne beschikt over verschillende scripts die kunnen helpen bij het opschonen van tijdelijke bestanden en het beheren van gebruikersprofielen. Hier zijn enkele relevante opties:

1. Rapport over verweesde gebruikersprofielen: er is een script dat “zoekt naar mappen met gebruikersprofielen zonder bijbehorend gebruikersaccount.” Daarmee spoort u oude of overbodige gebruikersprofielen op.

2. Beheer van tijdelijke bestanden: er is geen kant-en-klaar script om tijdelijke bestanden op te schonen, maar NinjaOne biedt flexibele scriptmogelijkheden waarmee u een eigen script kunt maken om:

  • Tijdelijke bestanden te zoeken en te verwijderen
  • Specifieke mappen op te schonen
  • Oude gebruikersprofielen te verwijderen

3. Flexibele automatisering: met het platform maakt u eigen scripts die:

  • Zoeken naar bestanden van vóór een bepaalde datum
  • Bestanden uit tempmappen verwijderen
  • Gebruikersprofielen op externe machines beheren

Beste praktijken voor het automatiseren van het opschonen van gebruikersprofielen en tijdelijke bestanden

Volg deze praktische tips zodat uw scripts in verschillende omgevingen soepel draaien:

Controleer op actieve gebruikerssessies voordat u profielen verwijdert

Als u niet controleert op actieve gebruikerssessies, verwijdert u mogelijk een account dat nog in gebruik is en verstoort u iemands werkdag.

Gebruik om dit te voorkomen quser in CMD of Get-Process -IncludeUserName in PowerShell om te controleren of een gebruiker nog is aangemeld.

Sluit serviceaccounts of gedeelde logins uit van het opschonen

Het verwijderen van accounts die voor achtergrondservices worden gebruikt of die door meerdere gebruikers worden gedeeld, kan geautomatiseerde taken verstoren.

Sluit serviceaccounts daarom uit van het opschonen met behulp van een whitelist-array.

Bescherm recente gebruikersprofielen tegen verwijdering met ruime leeftijdsdrempels

Een profiel dat al een tijd niet is gebruikt, is niet per se overbodig. Sommige gebruikersprofielen worden voor tijdelijk gebruik aangemaakt, bijvoorbeeld voor externe medewerkers of directieleden.

Als u een ruime drempel instelt (bijvoorbeeld 60 of 90 dagen) bij het opsporen van verouderde profielen, voorkomt u dat u per ongeluk geldige accounts verwijdert.

Roteer logs regelmatig voor traceerbaarheid en opslagbeheer.

Maak samenvattingen van uw opschoonacties in lokale bestanden of netwerkshares om probleemoplossing te vergemakkelijken. Die logs moeten vermelden hoeveel tijdelijke bestanden en gebruikersprofielen uw script heeft verwijderd en wanneer.

Daarnaast moet u uw opschoonsamenvattingen roteren om schijfruimte te besparen. Dat doet u door oudere logs te archiveren of te verwijderen.

Zo vereenvoudigt NinjaOne het op afstand opschonen van tijdelijke bestanden en profielen

NinjaOne maakt het eenvoudiger om externe endpoints schoon en gezond te houden door:

  • Opschoonscripts uit te rollen en in te plannen op alle endpoints.
  • Registersleutels bij te houden voor de laatste opschoonactie en het aantal verwijderde profielen.
  • Te waarschuwen bij gemiste opschoonvensters of mislukte scripts.
  • Devices te taggen voor herstel na een health check op basis van hun schijfgebruik.
  • Rapporten te genereren over alle tenants heen over dekking en succes van het opschonen.

Met NinjaOne kunnen MSP’s endpointhygiëne op grote schaal automatiseren en realtime resultaten van meerdere klantomgevingen volgen vanuit één dashboard.

Verbeter uw endpointhygiëne met geautomatiseerd opschonen van profielen en tijdelijke bestanden

Het automatiseren van het verwijderen en opschonen van tijdelijke bestanden en oude gebruikersprofielen is een slimme zet voor elke MSP. Het haalt het handwerk uit het onderhoud van honderden endpoints en zorgt voor consistente systeemprestaties in meerdere klantomgevingen.

Met geplande opschoonacties voorkomt u proactief problemen zoals traag systeemgedrag en een tekort aan schijfruimte.

Gerelateerde onderwerpen:

Dit vindt u misschien ook leuk

Klaar om de moeilijkste delen van IT te vereenvoudigen?

NinjaOne Algemene Voorwaarden

Door op de knop “Ik accepteer” hieronder te klikken, geeft u aan dat u de volgende wettelijke voorwaarden en onze Gebruiksvoorwaarden accepteert:

  • Eigendomsrechten: NinjaOne bezit en blijft eigenaar van alle rechten, aanspraken en belangen in en op het script (inclusief het auteursrecht). NinjaOne geeft u een beperkte licentie om het script te gebruiken in overeenstemming met deze wettelijke voorwaarden.
  • Gebruiksbeperking: U mag het script alleen gebruiken voor uw legitieme persoonlijke of interne bedrijfsdoeleinden en u mag het script niet delen met derden.
  • Republicatieverbod: Het is onder geen beding toegestaan om het script opnieuw te publiceren in een scriptbibliotheek die toebehoort aan of onder controle staat van een andere softwareleverancier.
  • Garantie disclaimer: Het script wordt geleverd “zoals het is” en “zoals het beschikbaar is”, zonder enige vorm van garantie. NinjaOne belooft of garandeert niet dat het script vrij van gebreken zal zijn of dat het aan uw specifieke behoeften of verwachtingen zal voldoen.
  • Risicoaanvaarding: Het gebruik van het script is op eigen risico. U erkent dat het gebruik van het script bepaalde inherente risico’s met zich meebrengt en u begrijpt en aanvaardt elk van deze risico’s.
  • Verklaring van afstand en vrijwaring: U zult NinjaOne niet verantwoordelijk houden voor enige nadelige of onbedoelde gevolgen die voortvloeien uit uw gebruik van het script en u doet afstand van alle wettelijke of billijke rechten of rechtsmiddelen die u tegen NinjaOne kunt hebben met betrekking tot uw gebruik van het script.
  • EULA: Als u een NinjaOne-klant bent, is uw gebruik van het script onderworpen aan de licentieovereenkomst voor eindgebruikers die op u van toepassing is (EULA).