Verscherpt toezicht
Houd Windows in de gaten met de Sysinternals Process Monitor
Process Monitor is een van de krachtigste tools om Windows te analyseren. De software maakt enorm veel logbestanden met op het eerste gezicht een onoverzichtelijke brij informatie. Gelukkig kun je met handige filterfuncties precies nagaan welk proces wat doet.
Als je wilt weten wat de processen in Windows doen, heb je een tool nodig die realtime alles bijhoudt wat in het systeem gebeurt. Process Monitor is zo'n tool. Dat programma maakt onderdeel uit van de Sysinternalssuite, een uitgebreide verzameling tools voor Windows.
Process Monitor houdt alles goed bij. Het registreert benaderingen van alle processen en allerlei soorten bestanden, mappen en registersleutels. Daarmee kun je precies achterhalen wat er diep in het systeem eigenlijk allemaal gaande is. Foutmeldingen of eventuele oplossingen voor problemen worden niet gegeven – je krijgt alleen een berg ruwe data te zien waarmee je de oorzaak kunt opsporen. Zo'n monitortool is niet iets wat je even tussendoor gebruikt. Per seconde komen er enkele honderd tot duizenden regels bij – afhankelijk van de vraag of het systeem niets doet of dat je er actief mee werkt. Met nuttige filterfuncties kun je de stortvloed aan meldingen echter goed beperken.
Om een indruk te krijgen van het programma, kun je Process Monitor via de link aan het eind van dit artikel downloaden. Pak het ziparchief uit en start het programma procmon.exe. Nadat je met de licentievoorwaarden akkoord bent gegaan, begint Process Monitor meteen met loggen. Dat vreet resources. Je stopt de analyse door op het vergrootglas op de systeembalk te klikken.
Process Monitor geeft bij elke actie het exacte tijdstip weer (Time of Day), de naam van het proces en de ID (Process Name en PID), het type benadering (Operation), het doel (Path), het resultaat (Result) en details over de operatie – bijvoorbeeld welke waarde uit een registersleutel werd gelezen of ernaar geschreven.
De Operation kan een benadering tot het bestandssysteem zijn (Create File, CloseFile, ReadFile, …), informatie over een gestarte of beëindigde thread (Thread Create, Thread Exit) of een benadering van het register (RegOpen Key, RegQueryValue en RegCreateKey).
Speld in een hooiberg
De belangrijkste filterfunctie activeer je door in het snelmenu (rechtermuisknop) te klikken op de opties 'Include' of 'Exclude'. Om het allemaal inzichtelijker te maken, hebben we een praktijkvoorbeeld verzonnen: een notebook met Windows 10 dat het beeldscherm nooit in de Slaapstand mag zetten zolang er een gebruiker aangemeld is. En zeker niet als het notebook op netstroom werkt. De duur van de time-out is in het Energiebeheer dan ook ingesteld op 'Nooit', maar springt om onbegrijpelijke redenen vroeg of laat – na een paar uur of enkele dagen – telkens weer terug naar de standaardwaarde van 20 minuten.
Net als veel andere systeeminstellingen worden de waarden voor de timeout van de slaapstand geregeld via registersleutels. Om te voorkomen dat de waarden telkens vanzelf terug worden gezet, moet je eerst weten welke sleutel gebruikt wordt als je de time-out in het Configuratiescherm aanpast.
Omdat het logboek razendsnel groter wordt, kun je de controle het best eerst even uitschakelen (klik op het vergrootglas) en het registreren tot dan toe wissen met het gummetje (twee knoppen verder naar rechts). Open de Instellingen van Windows 10 en ga naar 'Systeem / Energiebeheer en Slaapstand'. Dan volgen een paar handelingen redelijk snel na elkaar: start Process Monitor, stel bij het Energiebeheer bij 'Bij gebruik van netstroom, uitschakelen na' achtereenvolgens twee verschillende waarden in – bijvoorbeeld 15 en 45 minuten – en stop de logfunctie van Process Monitor dan meteen weer.
Gevonden!
Het resultaat is een logbestand met een paar honderdduizend items, dus wordt het tijd om te filteren. Omdat ergens in de lijst ook de aanpassingen aan de gezochte registersleutel voor de time-out van het scherm moeten staan, roep je de hulp in van het verrekijkertje op de systeembalk. Daarmee open je de zoekfunctie. Typ voor dit voorbeeld de term 'RegSetValue' in. Dat is het type operatie dat gelogd wordt als er een waarde in het register aangepast wordt.
Zodra de zoekfunctie de term gevonden heeft, wordt die in de lijst geselecteerd. Klik met de rechtermuisknop op de operatie 'RegSetValue' voor een snelmenu met filters. De gewenste optie heet 'Include 'RegSet Value'. De lijst met resultaten zal dan korter worden: van enkele honderdduizend naar zo'n 10 à 20 items die een 'RegSetValue'-methode bevatten.