💼 Management Samenvatting
PowerShell-transcriptie zorgt ervoor dat iedere opdracht die op een beheerd Windows-apparaat wordt uitgevoerd, inclusief context over gebruiker, sessie en systeem, automatisch wordt vastgelegd en beschikbaar komt voor forensisch onderzoek en compliance-rapportages.
Gemeentelijke en rijksorganisaties gebruiken PowerShell dagelijks voor beheer en automatisering; zonder transcripties ontbreekt aantoonbaar bewijs bij incidenten, zijn AVG-verplichtingen moeilijk na te leven en blijft de Nederlandse Baseline voor Veilige Cloud onvolledig.
Connection:
Connect-MgGraphRequired Modules: Microsoft.Graph.DeviceManagement
Implementatie
Deze maatregel configureert via Microsoft Intune een verplicht beleid voor script block logging en PowerShell-transcriptie, regelt de opslag in een afgeschermde omgeving en beschrijft de governance waarmee securityteams de logs monitoren, handhaven en auditen.
Vereisten
Het voorbereiden van PowerShell-transcriptie binnen Microsoft Intune begint met een heldere definitie van het organisatorische doel: elk PowerShell-commando dat op een beheerd Windows-apparaat wordt uitgevoerd moet herleidbaar zijn voor forensisch onderzoek en naleving van de Baseline Informatiebeveiliging Overheid. Zonder deze doelomschrijving vervallen teams al snel in technische discussies over tooling terwijl business stakeholders vooral behoefte hebben aan aantoonbare controle. Documenteer daarom expliciet welke dreigingsscenario’s u wilt afdekken, zoals privilege escalation, onbevoegde configuratiewijzigingen en misbruik van lokale scripts. Een tweede vereiste is licentiëring en tenantconfiguratie. PowerShell-transcriptie via Intune vereist minimaal Microsoft Intune Suite of Microsoft 365 E5 Security omdat alleen deze bundels volledige beschikking geven over endpoint security policies, geavanceerde logging en rolgebaseerde toegangscontrole. Controleer dat alle apparaten zijn ingeschreven in dezelfde tenant, dat Windows 10 22H2 of hoger wordt gebruikt en dat de Microsoft Monitoring Agent is bijgewerkt. Neem ook hybrid joined apparaten mee in de inventaris, want inconsistenties tussen Azure AD-joined en hybride endpoints veroorzaken vaak lacunes in logging. Leg vervolgens technische randvoorwaarden vast. Definieer welke opslaglocaties transcripties ontvangen (bij voorkeur een versleutelde SharePoint-site of Azure Storage-account met Private Endpoint), welke retentievereisten gelden en hoe het netwerkverkeer is beveiligd. Beschrijf dat TLS 1.2 of 1.3 verplicht is op alle tussenliggende services en dat het serviceaccount dat de opslagcontainer benadert een Managed Identity gebruikt zodat er geen hard-coded secrets circuleren. Organisatorische gereedheid is minstens zo belangrijk. Instellingen moeten beschikken over een change-board dat endpointbeleid beoordeelt, een beveiligingsoperatieteam dat transcripties analyseert en een privacy officer die toezicht houdt op registratie van persoonsgegevens. Voorzie in een communicatiestrategie richting eindgebruikers waarin wordt uitgelegd dat commandolijnen worden gelogd, waarom dat binnen de Nederlandse Baseline voor Veilige Cloud noodzakelijk is en hoe dit zich verhoudt tot de AVG. Zorg daarnaast voor integratie met bestaande detectiestromen. Security Operations Center (SOC)-analisten hebben connectoren nodig richting Microsoft Sentinel, Splunk of een ander SIEM-platform, inclusief normalisatie van transcriptbestanden naar JSON- of CEF-formaten. Automatiseer de labeling van gevoelige logbestanden met Microsoft Purview zodat Data Loss Prevention-regels herkennen wanneer transcripties persoonsgegevens of geheimhoudingsplichtige informatie bevatten. Voer vooraf een Data Protection Impact Assessment uit. Beschrijf welke categorieën gegevens in transcripties belanden, hoe lang ze worden bewaard en op basis van welke BIO- en AVG-grondslag dit gebeurt. Leg vast dat transcripties uitsluitend toegankelijk zijn voor geautoriseerde rollen en dat inzageverzoeken binnen vier weken kunnen worden afgehandeld. Documenteer uitzonderingen, bijvoorbeeld voor ontwikkelomgevingen, en motiveer waarom tijdelijke uitschakeling daar is toegestaan. Ten slotte moeten beheer- en incidentresponse-teams aantoonbaar getraind zijn. Organiseer een oefening waarin zij transcripties gebruiken om een gesimuleerde aanval terug te draaien, inclusief het exporteren van bewijs voor auditors. Leg de lessons learned vast in het beheerhandboek, wijs een proceseigenaar aan en stel een evaluatiemoment in om te beoordelen of de transcriptievereisten aansluiten bij wijzigingen in het dreigingslandschap. Wanneer aan deze vereisten is voldaan ontstaat een solide fundament voor implementatie. U beschikt dan over een actuele assetlijst, duidelijk gedefinieerde opslag- en retentieafspraken, afgestemde governance en personeel dat weet hoe transcripties worden benut. Zonder deze voorbereiding blijft het een losse technische instelling; met deze voorbereiding vormt PowerShell-transcriptie een aantoonbare control die de weerbaarheid van overheid en ketenpartners versterkt.
Implementatie
De implementatie van PowerShell-transcriptie start met het modelleren van een gefaseerde aanpak waarin beleid, automatisering en communicatie elkaar versterken. Breng alle betrokken teams bijeen tijdens een designworkshop en leg vast welke beleidsregels, scripts, change-procedures en communicatie-artefacten nodig zijn. Koppel het initiatief expliciet aan de Nederlandse Baseline voor Veilige Cloud zodat bestuurders begrijpen dat transcripties geen nice-to-have zijn, maar een verplicht onderdeel van de landelijke afspraken over logging, detectie en digitale weerbaarheid. Begin in het Intune admin center met het aanmaken van een nieuw endpointbeveiligingsprofiel voor Windows 10 en Windows 11. Kies het profieltype Endpoint protection, open de categorie Device security en zet de instelling Enable PowerShell Script Block Logging en Enable PowerShell Transcription op Enabled. Vul het pad in waar de transcripties lokaal worden opgeslagen, bijvoorbeeld C:\Transcripts, en activeer de optie om hostinformatie mee te geven. Documenteer iedere instelling direct in het wijzigingsvoorstel zodat later herleidbaar is waarom voor deze waarden is gekozen. Leg daarnaast de logboekopslag vast in Azure Storage met Private Endpoint of op een beveiligde fileshare binnen Microsoft 365. Maak gebruik van Azure Key Vault voor het opslaan van SAS-tokens, stel een levenscyclusbeleid in dat transcripties na 400 dagen automatisch naar een archiefcontainer verplaatst en bescherm de container met Access Control Lists die uitsluitend het SOC en de forensische specialisten toegang geven. Voeg een Azure Policy toe die uitlekt wanneer iemand de versleuteling of netwerkregels van de opslag verzwakt. Wanneer het beleid technisch is ingericht, bouwt u een gecontroleerd uitrolpad op basis van test-, pilot- en productiering. Gebruik device filters zodat eerst slechts vijf procent van de laptops het beleid ontvangt, controleer dagelijks de Intune rapportage op conflicts en remedieer eventuele bestaande policies die dezelfde instelling beheren. Houd een implementatielogboek bij waarin wordt vastgelegd welke profielen zijn aangepast, welke versies actief zijn en hoe rollback plaatsvindt als de pilot onverwachte vertraging oplevert. Veranker de configuratie in compliance- en operationsprocessen. Koppel het beleid aan bestaande configuration baseline rapportages in Microsoft Defender for Endpoint, configureer alerts die melden wanneer een apparaat langer dan zes uur buiten beleid valt en borg dat helpdeskprocedures gebruikers instrueren hoe zij transcriptielocaties niet mogen aanpassen. Integreer met ServiceNow of TOPdesk zodat elk wijzigingsverzoek een automatische controle uitvoert op de aanwezigheid van het PowerShell-profiel voordat het ticket kan worden afgesloten. Automatisering ondersteunt deze uitrol. Het script powershell-transcription.ps1 wordt vanuit de map code/intune/audit-logging gebruikt om configuraties te valideren, loggingstatussen uit te lezen en waar nodig instellingen te dwingen. Voer het script eerst lokaal uit met de beschikbare debug-instellingen zodat u precies ziet welke registersleutels of CSP-waarden geraakt worden, en voeg daarna de Graph-Connectie toe om hetzelfde script vanuit Intune Remediation-taken of Azure Automation runbooks te starten. Voordat u naar productie gaat, organiseert u een validatieoefening met het SOC, de privacy officer en vertegenwoordigers van de ondernemingsraad. Laat medewerkers bewust een aantal commands uitvoeren, controleer of het transcript volledig en tijdig in de opslag arriveert, en simuleer een incident waarbij de transcripties nodig zijn als bewijs. Documenteer tevens hoe u transcripties verwijdert wanneer een apparaat wordt uitgefaseerd zodat er geen verweesde logbestanden achterblijven. Rond de implementatie af door een lessons-learned sessie te houden, de beheerdocumentatie in het configuration management systeem te publiceren en een kwartaalreview in te plannen. Koppel de dashboards aan het portaal van de Chief Information Security Officer en bied bestuurders inzicht in adoptiecijfers, zodat zij kunnen ingrijpen als teams achterblijven. Pas nadat al deze stappen aantoonbaar zijn uitgevoerd, geldt het control-objectief PowerShell-transcriptie als volledig geïmplementeerd.
Gebruik PowerShell-script powershell-transcription.ps1 (functie Invoke-Monitoring) – Monitoren.
Monitoring
Monitoring van PowerShell-transcriptie draait om het continu aantonen dat elk apparaat zijn logboeken daadwerkelijk produceert en dat deze logs bruikbaar zijn voor detectie. Start met een datamodel waarin u per apparaat bijhoudt wanneer het laatste transcriptbestand is aangemaakt, welke bestandsgrootte is gemeten en of het bestand cryptografisch is gecontroleerd. Koppel dit model aan de Configuration Management Database zodat asset-eigenaren hun eigen naleving kunnen volgen. Configureer Microsoft Sentinel, Defender XDR of een ander SIEM om transcriptbestanden automatisch in te lezen zodra ze in de opslagcontainer verschijnen. Bouw een parser die de standaard PowerShell-transcriptheaders omzet naar gestructureerde velden, inclusief gebruikersnaam, device-ID, proceshash en netwerkverbindingen. Door deze verrijking kunnen SOC-analisten query’s schrijven die afwijkend gedrag detecteren, zoals het massaal uitvoeren van WMI-commando’s buiten kantooruren of het gebruik van onbekende scripts met verhoogde privileges. Definieer Key Performance Indicators die passen bij de Nederlandse Baseline voor Veilige Cloud. Voorbeelden zijn het percentage apparaten waarvan in de afgelopen vierentwintig uur een transcript is ontvangen, de mediane tijd tussen uitvoering van een commando en beschikbaarheid van het transcript in Sentinel, en het aantal incidenten waarbij transcripties doorslaggevend bewijs leverden. Visualiseer deze KPI’s in Power BI en publiceer het dashboard via het security-portaal zodat bestuurders realtime kunnen zien hoe volwassen de loggingketen is. Kwalitatieve monitoring is eveneens noodzakelijk. Het script powershell-transcription.ps1 kan in de modus Invoke-Monitoring direct op apparaten controleren of de relevante registersleutels en CSP-waarden actief zijn, of er voldoende schijfruimte is op de transcriptielocatie en of de Intune-beleidsversie overeenkomt met de productionele referentie. De resultaten worden teruggestuurd naar Log Analytics, waar een scheduled query afwijkingen markeert voor opvolging. Automatiseer daarnaast de reactie op signalen. Wanneer een apparaat langer dan twee meetpunten geen transcript heeft aangeleverd, activeert u een Azure Automation-runbook dat het apparaat in quarantaine plaatst via Defender for Endpoint, de gebruiker automatisch informeert en een serviceticket opent. Pas daarna voert een analist een root-cause analyse uit. Deze workflow voorkomt dat monitoring een passief proces blijft en maakt duidelijk dat transcripties een harde vereiste zijn voor toegang tot gevoelige data. Zorg voor integratie met privacy- en compliancefuncties. Houd bij hoeveel transcripties persoonsgegevens bevatten, hoe vaak er verzoeken tot dataportabiliteit zijn binnengekomen en hoe lang het kostte om de benodigde logbestanden te anonimiseren. Gebruik Microsoft Purview om automatisch gevoelige velden te maskeren voordat logbestanden naar externe toezichthouders worden gestuurd. Deze controles bewijzen dat monitoring niet alleen focust op technische beschikbaarheid, maar ook op rechtmatigheid. Rapporteer bevindingen periodiek richting CISO, audit en de proceseigenaren van kritieke ketens zoals burgerzaken of uitkeringssystemen. Beschrijf per rapportage welke trends zichtbaar zijn, welke nieuwe dreigingen transcripties hebben onthuld en welke mitigerende maatregelen zijn genomen. Door deze context begrijpen besluitvormers waarom aanvullende investeringen nodig kunnen zijn, bijvoorbeeld in een dedicated loganalyse-team of extra opslagcapaciteit. Sluit de monitoringcyclus af met evaluaties die controleren of de meetwaarden daadwerkelijk leiden tot betere incidentrespons. Combineer transcripties met andere telemetrie, voer tabletop-exercises uit waarbij auditors meekijken en stel vast of de loggingketen blijft voldoen aan de eisen van de Nederlandse Baseline voor Veilige Cloud. Monitoring is pas effectief wanneer het zowel technische volledigheid als bestuurlijke verantwoording ondersteunt.
Gebruik PowerShell-script powershell-transcription.ps1 (functie Invoke-Monitoring) – Controleren.
Remediatie
Remediatie van PowerShell-transcriptieproblemen begint bij een helder incidentproces dat onderscheid maakt tussen urgente verstoringen en reguliere afwijkingen. Zodra monitoring aangeeft dat een apparaat geen transcript aanlevert, controleert het SOC eerst of het device online is, of de gebruiker verlof heeft en of er recentelijk wijzigingen zijn aangebracht in het Intune-profiel. Deze context voorkomt dat het team blindelings instellingen terugzet zonder het onderliggende probleem te begrijpen. Vervolgens wordt een remediatieworkflow gestart waarin rollen en responstijden zijn vastgelegd. De Intune-beheerder analyseert de policy status, het workstation-team bekijkt lokale logboeken en de proceseigenaar bepaalt de impact op bedrijfsvoering. Voor kritieke apparaten, zoals beheerderslaptops of systemen die toegang hebben tot Rijkscloud-omgevingen, geldt een kortere hersteltermijn dan voor reguliere clients. Documenteer dit in het continuïteitsplan zodat auditors kunnen verifiëren dat de maatregelen proportioneel zijn. Het script powershell-transcription.ps1 speelt daarna een centrale rol. In de modus Invoke-Remediation controleert het script registersleutels zoals HKLM\Software\Policies\Microsoft\Windows\PowerShell\EnableTranscripting en zet deze indien nodig terug op de gewenste waarden. Het script verzamelt ook diagnostische gegevens, zoals de status van de Intune Management Extension en de beschikbare schijfruimte op de transcriptielocatie. Dankzij ingebouwde logging kan elke handeling worden getraceerd, wat essentieel is voor forensische reconstructie. Wanneer een probleem dieper blijkt te liggen, bijvoorbeeld door corrupte lokale policies of een beschadigd gebruikersprofiel, biedt het playbook duidelijke instructies. Het apparaat wordt tijdelijk uit productie genomen, ontvangt een herinstallatie of een herinschrijving via Windows Autopilot en pas na succesvolle validatie wordt toegang tot productiegegevens hersteld. Combineer dit met Conditional Access zodat apparaten zonder actieve transcriptie niet langer bij gevoelige SharePoint- of Teams-omgevingen kunnen. Communicatie naar eindgebruikers maakt eveneens deel uit van de remediatie. Gebruikers ontvangen duidelijke instructies over wat zij wel en niet mogen doen terwijl het probleem wordt onderzocht, inclusief verwijzing naar het privacyreglement. Bij langdurige uitval wordt een tijdelijke werkomgeving aangeboden of wordt de gebruiker gevraagd fysieke werkzaamheden op kantoor uit te voeren. Zo blijft de dienstverlening aan burgers doorgaan terwijl de beveiligingscontrole wordt hersteld. Na elke remediatie wordt een verificatiefase doorlopen. Het apparaat draait opnieuw het monitoring-script, het SOC controleert of transcripties in de opslag verschijnen en de proceseigenaar bevestigt dat de bedrijfsfunctie weer volledig beschikbaar is. Indien dezelfde oorzaak meerdere keren terugkeert, wordt een Problem Management-ticket geopend om structurele verbeteringen te realiseren, bijvoorbeeld het aanpassen van het basisimage of het beperken van lokale administratorrechten. Alle acties worden vastgelegd in de Configuration Management Database en in het auditdossier. Voeg schermopnamen of exportbestanden toe die laten zien welke commando’s zijn uitgevoerd, wie toestemming heeft gegeven en welke datum en tijdstempel geldt. Dit levert bewijs op voor de Rijksauditdienst en maakt het mogelijk om te toetsen of de remediatie binnen de maximale hersteltijd heeft plaatsgevonden. Door remediatie op deze wijze te organiseren ontstaat een voorspelbaar proces dat zowel technische teams als bestuurders vertrouwen geeft. Problemen met PowerShell-transcriptie worden niet meer ad hoc opgelost, maar volgen een herhaalbare methode waarin prioritering, tooling en communicatie strak zijn afgestemd op de Nederlandse Baseline voor Veilige Cloud. Het resultaat is een beveiligingscontrole die ook onder druk standhoudt.
Gebruik PowerShell-script powershell-transcription.ps1 (functie Invoke-Remediation) – Herstellen.
Compliance en Auditing
Compliance en auditing rond PowerShell-transcriptie draaien om aantoonbaarheid. Elke configuratiebeslissing, vanaf het moment dat beleid werd gedefinieerd, moet terug te vinden zijn in het beveiligingsdossier. Leg vast welke wet- en regelgeving van toepassing is, welke risicoanalyse het besluit ondersteunde en welke directie het budget heeft goedgekeurd. Gebruik het format van de Nederlandse Baseline voor Veilige Cloud zodat auditors direct zien hoe transcriptie bijdraagt aan de bredere logging- en detectiearchitectuur. Koppel de maatregel aan relevante normen zoals BIO 16.01, de CIS Controls en ISO 27001 A.12.4.1. Maak een traceability matrix waarin per norm staat welk Intune-profiel, welke Azure-beveiligingsmaatregel en welke operationele procedure de eis afdekt. Voeg bewijs toe dat laat zien hoe afwijkingen worden afgehandeld: change-tickets, risicowaarderingen en managementbesluiten. Deze matrix versnelt audits omdat u onmiddellijk kunt aantonen dat de maatregel in scope ligt en effectief functioneert. Bewijsvoering bestaat uit meerdere lagen. Allereerst zijn er configuratie-exporten vanuit Intune die laten zien dat transcriptie op Enabled staat. Daarnaast zijn er transcriptbestanden zelf, inclusief hashwaarden en tijdstempels, en de monitoringrapportages waarin trendgrafieken zichtbaar zijn. Tot slot is er procesdocumentatie, zoals werkinstructies voor SOC-analisten en privacy officers. Bewaar alle documenten in een gecontroleerde SharePoint-bibliotheek met versiebeheer en bewaartermijnen die aansluiten bij de archiefwet. Tijdens audits levert u niet alleen documenten aan maar organiseert u ook walkthroughs. Demonstreer live hoe een transcript wordt gemaakt, hoe het via Log Analytics in Sentinel verschijnt en hoe een analist het gebruikt in een onderzoek. Laat zien dat er functiescheiding bestaat tussen de teams die beleid wijzigen en de teams die logs bekijken. Voorzie auditors van read-only toegang tot relevante dashboards zodat zij steekproeven kunnen doen zonder de productieomgeving te verstoren. Privacy is een integraal onderdeel van compliance. Beschrijf in het verwerkingsregister welke persoonsgegevens in transcripties voorkomen, op basis van welk rechtmatig doel ze worden vastgelegd en hoe betrokkenen hun rechten kunnen uitoefenen. Leg uit hoe transcripties worden geanonimiseerd wanneer ze de organisatie verlaten en welke procedures gelden voor verwijderingsverzoeken. Deze documentatie toont dat PowerShell-transcriptie geen wildgroei aan logging veroorzaakt maar een gecontroleerde verwerking kent. Rapportage richting management en toezichthouders moet ritmisch verlopen. Stel een kwartaalrapport op waarin voortgang, incidenten, lessons learned en geplande verbeteringen zijn opgenomen. Bespreek het rapport in het Information Security Management Forum en laat de Chief Information Security Officer het vaststellen. Zo ontstaat bestuurlijke betrokkenheid en kunnen aanvullende maatregelen worden gefinancierd wanneer trends daarom vragen. Continuous improvement sluit de lus. Gebruik auditbevindingen om beleid te verfijnen, voeg nieuwe detecties toe wanneer dreigingen veranderen en actualiseer de documentatie zodra er technische updates plaatsvinden. Houd bij welke acties voortkomen uit reviews en welke zijn afgerond. Deze transparantie maakt duidelijk dat compliance geen momentopname is maar een doorlopend onderdeel van de bedrijfsvoering. Door deze aanpak voldoet PowerShell-transcriptie niet alleen aan de letter van de norm maar levert het tastbaar bewijs van volwassen beveiligingsgovernance. Auditors zien dat logging integraal onderdeel is van de Nederlandse Baseline voor Veilige Cloud, dat processen zijn geborgd en dat verbeteringen structureel worden opgepakt. Daarmee groeit het vertrouwen van bestuurders, ketenpartners en burgers in de digitale diensten van de organisatie.
Compliance & Frameworks
- CIS M365: Control 18.9.19.2 (L1) - CIS Security Benchmark aanbevelingen
- BIO: 16.01 - BIO Baseline Informatiebeveiliging Overheid - 16.01 - Gebeurtenissen logging en audittrails
- ISO 27001:2022: A.12.4.1 - ISO 27001:2022 - Gebeurtenissen logging en audittrails
Automation
Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).
Risico zonder implementatie
Management Samenvatting
Activeer transcriptie via Intune, bewaar de logs centraal en gebruik ze aantoonbaar in monitoring, remediatie en audits.
- Implementatietijd: 2 uur
- FTE required: 0.01 FTE