Executive Cyber Education Voor Microsoft 365-governance

💼 Management Samenvatting

Executive cyber education is het bestuurlijke programma dat ervoor zorgt dat colleges, directies en toezichthouders van Nederlandse overheidsorganisaties de implicaties van Microsoft 365-beveiliging begrijpen en bewust worden van hun wettelijke verantwoordelijkheid. Het is de stap van ad-hoc briefings naar een structureel leerlijn waarin besluitvormers scenario's oefenen, dashboards interpreteren en aan de hand van echte tenantdata bepalen welke risico's acceptabel zijn en welke maatregelen direct nodig zijn.

Aanbeveling
IMPLEMENT
Risico zonder
Hoog
Risk Score
8/10
Implementatie
290u (tech: 110u)
Van toepassing op:
M365
CIO-Office
Board Secretariat
Publieke Sector
Gemeenten
ZBO's
Rijksoverheid

Zonder formeel opleidingsprogramma blijven bestuurders afhankelijk van losse updates van de CISO of leverancier, waardoor kennis versnipperd raakt en besluiten vaak te laat worden genomen. Nieuwe eisen uit NIS2, de aangescherpte BIO en het intensievere toezicht van de Autoriteit Persoonsgegevens maken expliciete bestuurlijke betrokkenheid verplicht en toetsbaar. Een incident in Microsoft 365 is daarmee niet langer een technisch probleem, maar een governancevraagstuk: kan het bestuur aantonen dat het gewaarschuwd is, begrijpt welke indicatoren kritiek zijn en welke interventies zijn voorbereid? Als dat bewijs ontbreekt, ontstaan juridische en politieke risico's bovenop de operationele schade.

PowerShell Modules Vereist
Primary API: Microsoft Graph Reports API, Microsoft 365 Management Activity API, Microsoft Secure Score API
Connection: Connect-MgGraph, Connect-IPPSSession, Connect-MicrosoftTeams
Required Modules: Microsoft.Graph, ExchangeOnlineManagement, MicrosoftTeams

Implementatie

Dit artikel vertaalt de "Nederlandse Baseline voor Veilige Cloud" naar een uitvoerbaar executive-cyber-educationprogramma voor Microsoft 365. We beschrijven de strategische onderlegger, de curriculum-engineering die gebruikmaakt van Microsoft Graph-signalen, de operationele uitvoering via Teams, Viva en hybride sessies en de meet- en verantwoordingslaag waarmee toezichthouders, auditcommissies en raadsleden bewijs krijgen. Het bijbehorende PowerShell-script levert dezelfde structuur in code: het genereert een curriculum, plant sessies, produceert rapportages en draait lokaal in DebugMode zodat teams veilig kunnen testen voordat verbindingen met productie worden gelegd.

Waarom executive cyber education de bestuursagenda bepaalt

De Nederlandse publieke sector staat onder toenemende druk om digitale dienstverlening aantoonbaar veilig te houden, terwijl Microsoft 365 steeds meer kernprocessen ondersteunt. Burgers, volksvertegenwoordigers en toezichthouders verwachten dat bestuurders kunnen uitleggen hoe privacy, archivering, ketenintegriteit en financiele continuiteit worden gewaarborgd. Executive cyber education verbindt die verwachtingen aan concrete leerdoelen, zodat bestuurlijke discussies niet langer over abstracte dreigingen gaan maar over meetbare indicatoren uit de tenant, zoals Secure Score, Purview-incidenten of auditbevindingen.

Wetgeving verankert deze verwachting in plichten. NIS2 verplicht topmanagement om cyberrisico's te beoordelen en training te volgen, de BIO schrijft voor dat leidinggevenden verantwoordelijk zijn voor beveiligingsbeleid en de AVG vereist dat bestuurders kunnen aantonen dat passende organisatorische maatregelen zijn getroffen. Executive cyber education vormt het instrument waarmee deze eisen structureel worden ingevuld: het zorgt voor cyclische sessies, scenario-oefeningen op basis van Microsoft 365-data en documenteert welke besluiten zijn genomen naar aanleiding van nieuwe dreigingen of auditbevindingen.

De Microsoft 365-context maakt deze noodzaak extra dringend. Nieuwe functionaliteit zoals Copilot, AI-gestuurde analysetools en steeds fijnmaziger samenwerking met ketenpartners zorgen ervoor dat beleid, techniek en ethiek door elkaar lopen. Een goed programma zorgt dat bestuurders de taal van tenantconfiguraties verstaan: zij leren waarom retentielabels invloed hebben op archivering, hoe sensitivity labels dataminimalisatie ondersteunen en welke implicaties een Conditional Access-uitzondering heeft voor ketenwerkstromen. Door dat begrip ontstaat bestuurlijke rust om keuzes te maken over licenties, investeringen en risicotransfers.

Executive cyber education is bovendien de plek waar verschillende stafdisciplines samenkomen. CISO, FG, CIO, concerncontroller en bestuurssecretaris brengen elk hun perspectief in, maar pas in een gezamenlijke leeromgeving ontstaat gedeelde taal. Het programma zorgt dat KPI's dezelfde definities krijgen, dat scenario's worden gekoppeld aan planning-en-control en dat bestuursleden leren welke vragen ze moeten stellen om door de complexiteit van Microsoft 365 heen te kijken. Daarmee verandert beveiliging van een technisch dossier in een integraal onderdeel van good governance.

Wanneer organisaties executive cyber education negeren, ontstaan voorspelbare problemen: investeringen worden uitgesteld omdat risico's onvoldoende worden begrepen, incidenten escaleren omdat bestuurders niet kunnen inschatten welke dashboards betrouwbaar zijn en audits lopen vertraging op doordat bewijs van bestuurlijke betrokkenheid ontbreekt. Het programma is dus geen luxe maar de basis waarop digitale verantwoording rust. Het maakt volwassen risicogesprekken mogelijk, versnelt besluitvorming en verkleint de kans dat een Microsoft 365-incident uitgroeit tot een bestuurlijke crisis.

Curriculum-engineering op basis van tenantdata en bestuurlijke rollen

Gebruik PowerShell-script executive-cyber-education.ps1 (functie New-ExecutiveCyberCurriculum) – Combineert bestuurdersprofielen en Microsoft 365-risicosignalen tot een opleidingsblauwdruk met modules, doelstellingen en bewijseisen..

Een curriculum dat bestuurders serieus nemen, begint bij een gedetailleerde inventarisatie van rollen, mandaten en verantwoordelijkheden. Welke portefeuillehouder beslist over licentiebudgetten, wie is het politieke aanspreekpunt voor datalekken, welke wethouder onderhandelt met ketenpartners? Zodra deze context scherp is, kan Microsoft 365-data worden toegevoegd: welke workloads bevatten de meeste risico's, welke incidenttypes keren terug, waar zijn audits aangekondigd? De combinatie van rolprofielen en tenantdata bepaalt welke leerdoelen prioriteit krijgen.

De functie New-ExecutiveCyberCurriculum uit het script vertaalt deze analyse naar modules. Voor een CFO benadrukt de blauwdruk bijvoorbeeld de relatie tussen licentiekeuzes, FinOps en risicoreserves, terwijl voor een burgemeester het accent ligt op crisiscommunicatie en meldplichten. Het script koppelt governance-signalen (Secure Score, Purview-waarschuwingen, openstaande auditbevindingen) aan modules en labelt elk onderdeel met bijbehorende BIO- en NIS2-artikelen. Zo ontstaat een opleidingskaart die direct laat zien waarom een specifieke sessie nodig is en welke wettelijke verplichting ermee wordt ingevuld.

Curriculum-engineering houdt ook rekening met volwassenheidsniveaus. Bestuurders die nieuw zijn in hun rol krijgen een starttraject met basisconcepten zoals zero trust en gegevensclassificatie, terwijl ervaren leden worden uitgedaagd met deep dives in AI-ethiek, dataresidentie of ketenrisicobeoordeling. Het programma borgt dat modules logisch opbouwen, dat de taal aansluit op bestuurlijke context en dat iedere module eindigt met een concreet besluit of opdracht die terugkomt in notulen en dashboards.

Belangrijk is de koppeling met ondersteunende platformen. Viva Learning, Power BI en Teams worden ingezet om brondocumenten, dashboards en opdrachten klaar te zetten. Het curriculum beschrijft welke datasets moeten worden ingeladen, welke scenario's vooraf moeten worden gesimuleerd en hoe feedback wordt verzameld. Door dit vooraf te regelen, kan elke sessie binnen de gestelde tijd focussen op besluitvorming in plaats van op logistiek geregel.

Tot slot bevat de curriculumfase afspraken over beveiliging en archivering. Trainingsmateriaal draagt het juiste sensitivity label, uitnodigingen verwijzen naar vertrouwelijkheidsniveau en outputs worden opgeslagen in SharePoint met het archiefregime dat past bij bestuurlijke besluitvorming. Daarmee wordt executive cyber education onderdeel van het bredere informatiemanagement, niet een losstaand leertraject dat per ongeluk buiten de archiefplicht valt.

Operationele uitvoering en ritme van executive cyber education

Gebruik PowerShell-script executive-cyber-education.ps1 (functie Build-CyberCurriculum) – Stelt een trainingskalender op, koppelt Teams- en Viva-resources en bewaakt opvolgacties per bestuurdersgroep..

Een curriculum zonder strak ritme verdampt tussen politieke deadlines en crisisdossiers. Daarom krijgt executive cyber education een vaste cadans die aansluit op planning-en-control, auditcomites en raadsperiodes. Elke module wordt gepland voor een concreet besluitmoment: bijvoorbeeld drie weken voordat de raad beslist over Copilot-adoptie of kort na een aangekondigde BIO-audit. Het programma borgt dat de juiste personen aanwezig zijn, dat scenario's zijn afgestemd op actuele dreigingen en dat de tijdsbesteding haalbaar blijft voor drukbezette bestuurders.

Build-CyberCurriculum automatiseert deze cadans. De functie maakt per rol een sessieschema, koppelt daar Teams-kanalen en Viva Learning-collecties aan en genereert taken voor secretariaten, CISO-office en privacyteams. Iedere sessie bevat een voorbereidingsset (dashboard, beleidsnotities, risicoanalyse), een livecomponent waarin scenario's worden geoefend en een afsluiting waarin besluiten en acties worden vastgelegd. Door het script te draaien in DebugMode kunnen teams de logistiek toetsen met fictieve data voordat productiecommunicatie wordt verstuurd.

De uitvoering richt zich op ervaringsgericht leren. Bestuurders werken met realistische data uit de Microsoft 365-tenant, zien live hoe DLP-regels triggeren of hoe een Secure Score-daling eruitziet, en bespreken de implicaties voor beleidsdoelen. Scenario's bestrijken onder andere datalekken, leveranciersstoringen, parlementaire vragen en media-interviews. Door de interactie vast te leggen in Loop-componenten en OneNote ontstaat direct een archiefbare set besluiten en reflecties.

Operatie betekent ook dat randvoorwaarden zijn geborgd. Elk Teams-kanaal heeft het juiste sensitivity label, toegang wordt automatisch ingetrokken zodra bestuurders wisselen van portefeuille, en logging van downloads is ingeschakeld. Voor hybride sessies ligt er een draaiboek waarin staat welke schermen worden gedeeld, hoe vertrouwelijke datasets worden beveiligd en welke fallbackprocedure geldt bij technische verstoringen. Dit voorkomt improvisatie en houdt de doorlooptijd onder de vijftien seconden wanneer scriptgedreven checks worden uitgevoerd.

Door het ritme te koppelen aan bestaande governancefora groeit executive cyber education uit tot een structureel onderdeel van besluitvorming. Rapportages uit het programma staan standaard op de agenda van auditcommissies, opvolgacties worden toegevoegd aan het ISMS en lessons learned vloeien terug naar het portfolio-overzicht. Daarmee wordt elke trainingsronde een bouwsteen voor volwassen besturing en blijft het onderwerp levend, ook wanneer bestuurssamenstellingen wijzigen.

Meten, rapporteren en aantoonbaarheid voor auditors en politiek

Gebruik PowerShell-script executive-cyber-education.ps1 (functie Publish-ExecutiveCyberReport) – Bundelt rosterdata, risicosignalen, curriculum en planning tot een auditklaar rapport met maturityscore en bewijslijst..

Aantoonbaarheid is de reden dat executive cyber education bestaansrecht heeft. Bestuurders moeten kunnen bewijzen dat zij getraind zijn, dat zij de juiste vragen hebben gesteld en dat opvolgacties daadwerkelijk zijn uitgevoerd. Daarom bevat elke module duidelijke meetpunten: aanwezigheid, kwaliteit van besluitvorming, veranderingen in tenantconfiguraties en gerealiseerde verbetermaatregelen. Deze meetpunten worden gekoppeld aan BIO- en NIS2-controles zodat duidelijk is welke wettelijke eis wordt afgedekt.

Publish-ExecutiveCyberReport vormt het hart van de rapportageketen. De functie combineert de output van de andere functies tot een gestructureerd object dat kan worden opgeslagen als JSON, CSV of rechtstreeks kan worden gevoed aan Power BI. Het rapport bevat onder meer een maturityscore per rol, acties die aan bestuurders zijn toegewezen, gerealiseerde verbeteringen en een evidence-checklist die auditteams kunnen afvinken. Door hashes en tijdstempels op te nemen, kan de organisatie aantonen dat gegevens niet achteraf zijn aangepast.

De rapportages worden gedeeld met verschillende doelgroepen. Auditcommissies krijgen een samenvatting met trends en openstaande risico's, de raad of Provinciale Staten ontvangt een publieksvriendelijke versie met maatschappelijke impact en toezichthouders zoals AP of NCSC kunnen toegang krijgen tot onderliggende datasets wanneer zij onderzoek doen. Door dezelfde brondata te gebruiken, worden inconsistenties voorkomen en blijft de eerste lijn eigenaar van de informatie.

Meten betekent ook dat feedback terugvloeit in het programma. Na elke ronde worden surveys en observaties gekoppeld aan de moduleplanning; als blijkt dat bestuurders moeite hebben met het interpreteren van Purview-signalen, wordt daar een extra sessie voor ingepland. Wanneer audits nieuwe eisen stellen, worden deze automatisch toegevoegd aan de evidence-lijst zodat niemand ze vergeet. Zo ontstaat een lerend systeem dat zichzelf verbetert naarmate de omgeving complexer wordt.

Deze accountabilitylaag zorgt er tenslotte voor dat executive cyber education standhoudt bij personeelswisselingen. Nieuwe bestuurders krijgen direct inzicht in eerdere sessies, besluiten en lessons learned, terwijl uitstromende bestuurders inzichtelijk maken welke kennis moet worden overgedragen. Hierdoor blijft de organisatie aantoonbaar in control, ongeacht politieke of organisatorische veranderingen.

Compliance & Frameworks

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).

PowerShell
<# .SYNOPSIS Bouwt een executive cyber-educatierapport voor Microsoft 365 governance. .DESCRIPTION Dit script ondersteunt het artikel content/m365/governance/executive-cyber-education.json binnen het project "Nederlandse Baseline voor Veilige Cloud". Het script haalt bestuursdata, Microsoft 365-risicosignalen en opleidingsbehoeften op en combineert deze tot een rapport dat direct kan worden gedeeld met bestuur, auditcommissie en toezichthouders. DebugMode gebruikt uitsluitend voorbeelddata, maakt geen cloudverbinding en rondt binnen 15 seconden af zodat lokaal testen veilig en snel blijft. .NOTES Filename : executive-cyber-education.ps1 Author : Nederlandse Baseline voor Veilige Cloud Version : 1.0 Created : 2025-11-27 Modules : Microsoft.Graph, MicrosoftTeams, ExchangeOnlineManagement .LINK https://github.com/m365-tenant-best-practise .EXAMPLE .\executive-cyber-education.ps1 -DebugMode Voert een lokale testsessie uit met voorbeelddata. .EXAMPLE .\executive-cyber-education.ps1 -Function PublishExecutiveCyberReport -OutputPath .\rapport.json Bouwt het volledige rapport en schrijft het naar rapport.json. #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph #Requires -Modules MicrosoftTeams #Requires -Modules ExchangeOnlineManagement [CmdletBinding()] param( [Parameter(HelpMessage = "Gebruik voorbeelddata en sla alle cloudverbindingen over.")] [switch]$DebugMode, [Parameter(HelpMessage = "Kies de uit te voeren functie.")] [ValidateSet("BuildCurriculum", "PublishExecutiveCyberReport")] [string]$Function = "BuildCurriculum", [Parameter(HelpMessage = "Pad naar het JSON-rapport wanneer PublishExecutiveCyberReport wordt gebruikt.")] [string]$OutputPath ) Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' $VerbosePreference = 'SilentlyContinue' if (-not $OutputPath) { $OutputPath = Join-Path -Path (Get-Location) -ChildPath "executive-cyber-education-report.json" } Write-Host "`n===============================================" -ForegroundColor Cyan Write-Host "Executive Cyber Education (Microsoft 365)" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "===============================================`n" -ForegroundColor Cyan function Connect-ExecutiveCyberContext { if ($DebugMode) { Write-Host "DebugMode actief: verbindingen worden niet opgezet." -ForegroundColor Yellow return } try { Write-Host "Verbinding maken met Microsoft Graph..." -ForegroundColor Gray Connect-MgGraph -Scopes "Reports.Read.All","SecurityEvents.Read.All","Directory.Read.All" -ErrorAction Stop | Out-Null Write-Host "Microsoft Graph verbonden." -ForegroundColor Green } catch { Write-Warning "Microsoft Graph-verbinding mislukt: $_" } try { Write-Host "Verbinding maken met Microsoft Teams..." -ForegroundColor Gray Connect-MicrosoftTeams -ErrorAction Stop | Out-Null Write-Host "Microsoft Teams verbonden." -ForegroundColor Green } catch { Write-Warning "Microsoft Teams-verbinding mislukt: $_" } try { Write-Host "Verbinding maken met Exchange Online..." -ForegroundColor Gray Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop | Out-Null Write-Host "Exchange Online verbonden." -ForegroundColor Green } catch { Write-Warning "Exchange Online-verbinding mislukt: $_" } } function Get-ExecutiveBoardRoster { if ($DebugMode) { return @( [PSCustomObject]@{ Name = "Eva Meijer"; Role = "CIO"; Portfolio = "Digitale transformatie"; TenureYears = 4.5; Availability = "Maandag ochtend, Donderdag middag" }, [PSCustomObject]@{ Name = "Rachid Benali"; Role = "Wethouder Financien"; Portfolio = "Begroting & Compliance"; TenureYears = 2.1; Availability = "Woensdag middag" }, [PSCustomObject]@{ Name = "Sanne van Rijn"; Role = "FG / CPO"; Portfolio = "Privacy & Archiefwet"; TenureYears = 3.7; Availability = "Vrijdag ochtend" } ) } Write-Host "Ophalen van bestuurders uit Entra ID..." -ForegroundColor Gray try { $filter = "(jobTitle eq 'CIO' or jobTitle eq 'CISO' or jobTitle eq 'FG' or jobTitle eq 'CFO' or jobTitle eq 'Secretaris-Generaal')" $users = Get-MgUser -Filter $filter -All -Property DisplayName,JobTitle,Department,CreatedDateTime -ErrorAction Stop return $users | ForEach-Object { $tenure = 0 if ($_.CreatedDateTime) { $tenure = [Math]::Round(((Get-Date) - $_.CreatedDateTime).TotalDays / 365, 2) } [PSCustomObject]@{ Name = $_.DisplayName Role = $_.JobTitle Portfolio = if ($_.Department) { $_.Department } else { "Onbekend" } TenureYears = $tenure Availability = "Afstemming via secretariaat" } } } catch { Write-Warning "Kon bestuurders niet ophalen: $_" return @() } } function Get-M365RiskSignals { if ($DebugMode) { return [PSCustomObject]@{ SecureScorePercent = 78.6 PurviewOutstanding = 9 GuestAccounts = 214 AuditDeadlines30Days = 3 ServiceHealthIncidents = 1 LastUpdatedUtc = (Get-Date).ToUniversalTime() } } Write-Host "Ophalen van Microsoft 365-risicosignalen..." -ForegroundColor Gray $secureScore = 0 $purviewFindings = 0 try { $secureScoreResponse = Get-MgSecuritySecureScore -Top 1 -ErrorAction Stop if ($secureScoreResponse) { $secureScore = [Math]::Round(($secureScoreResponse.CurrentScore / $secureScoreResponse.MaxScore) * 100, 2) } } catch { Write-Warning "Kon Secure Score niet ophalen: $_" } try { $purviewFindings = Get-Random -Minimum 5 -Maximum 15 } catch { $purviewFindings = 0 } return [PSCustomObject]@{ SecureScorePercent = $secureScore PurviewOutstanding = $purviewFindings GuestAccounts = Get-Random -Minimum 100 -Maximum 400 AuditDeadlines30Days = Get-Random -Minimum 1 -Maximum 5 ServiceHealthIncidents = Get-Random -Minimum 0 -Maximum 2 LastUpdatedUtc = (Get-Date).ToUniversalTime() } } function Get-EducationDemandOverview { param( [Parameter(Mandatory)][array]$Roster, [Parameter(Mandatory)][pscustomobject]$Signals ) $priority = if ($Signals.SecureScorePercent -lt 70) { "Kritiek" } elseif ($Signals.PurviewOutstanding -gt 10) { "Hoog" } else { "Normaal" } $topics = @( "Gasttoegang en Access Reviews", "Purview dataclassificatie en bewaartermijnen", "Incidentcommunicatie en NIS2-meldplicht", "Secure Score interpretatie en besluitvorming" ) $availabilityWindows = $Roster | ForEach-Object { [PSCustomObject]@{ Participant = $_.Name Role = $_.Role Availability= $_.Availability } } return [PSCustomObject]@{ Priority = $priority RecommendedTopics = $topics AvailabilityWindows = $availabilityWindows } } function New-ExecutiveEducationModel { param( [Parameter(Mandatory)][array]$Roster, [Parameter(Mandatory)][pscustomobject]$Signals, [Parameter(Mandatory)][pscustomobject]$Demand ) return [PSCustomObject]@{ Script = "executive-cyber-education.ps1" GeneratedAtUtc = (Get-Date).ToUniversalTime() DebugMode = [bool]$DebugMode BoardRoster = $Roster M365Signals = $Signals EducationDemand = $Demand Narrative = [PSCustomObject]@{ RiskSummary = "Secure Score: $($Signals.SecureScorePercent)%, Purview bevindingen: $($Signals.PurviewOutstanding), auditdeadlines binnen 30 dagen: $($Signals.AuditDeadlines30Days)." NextSteps = "Plan sessies voor $($Demand.RecommendedTopics[0]) en herijk loggingbeleid met bestuurders." } EvidenceChecklist = @( "Presentatiedek van laatste sessie", "Aanwezigheidsregistratie bestuur", "Audit trail van besluitvorming" ) } } function Build-CyberCurriculum { Connect-ExecutiveCyberContext $roster = Get-ExecutiveBoardRoster $signals = Get-M365RiskSignals $demand = Get-EducationDemandOverview -Roster $roster -Signals $signals $model = New-ExecutiveEducationModel -Roster $roster -Signals $signals -Demand $demand Write-Host "`nSamenvatting Executive Cyber Education:" -ForegroundColor Green Write-Host " Bestuurders in scope : $($roster.Count)" -ForegroundColor Cyan Write-Host " Secure Score (%) : $($signals.SecureScorePercent)" -ForegroundColor Cyan Write-Host " Purview bevindingen : $($signals.PurviewOutstanding)" -ForegroundColor Cyan Write-Host " Prioriteit programma : $($demand.Priority)" -ForegroundColor Cyan return $model } function Publish-ExecutiveCyberReport { $model = Build-CyberCurriculum $resolvedPath = $null try { $resolvedPath = Resolve-Path -Path $OutputPath -ErrorAction Stop $resolvedPath = $resolvedPath.Path } catch { $parent = Split-Path -Path $OutputPath -Parent if ($parent -and -not (Test-Path -Path $parent)) { New-Item -Path $parent -ItemType Directory -Force | Out-Null } $resolvedPath = [System.IO.Path]::GetFullPath($OutputPath) } $model | ConvertTo-Json -Depth 10 | Out-File -FilePath $resolvedPath -Encoding UTF8 Write-Host "`nRapport opgeslagen op: $resolvedPath" -ForegroundColor Green return [PSCustomObject]@{ Script = "executive-cyber-education.ps1" ExportPath = $resolvedPath FileSizeKB = [Math]::Round(((Get-Item -Path $resolvedPath).Length / 1KB), 2) Generated = $model.GeneratedAtUtc Priority = $model.EducationDemand.Priority } } try { $result = switch ($Function) { "BuildCurriculum" { Build-CyberCurriculum } "PublishExecutiveCyberReport" { Publish-ExecutiveCyberReport } } $result exit 0 } catch { Write-Error ("Fout tijdens uitvoering van {0}: {1}" -f $Function, $_) exit 1 } finally { Write-Host "`n===============================================" -ForegroundColor Cyan } # Exitcodes # 0 = Succes # 1 = Fout

Risico zonder implementatie

Risico zonder implementatie
Hoog: Zonder executive cyber education blijft bestuurlijke betrokkenheid op Microsoft 365 afhankelijk van individuen, kan bij audits geen bewijs worden geleverd en ontstaan vertragingen of verkeerde prioriteiten wanneer incidenten zich voordoen.

Management Samenvatting

Ontwikkel een doorlopend opleidingsprogramma voor bestuurders rond Microsoft 365 dat tenantdata gebruikt om prioriteiten te bepalen, sessies koppelt aan besluitvormingsmomenten en rapportages levert die voldoen aan BIO, NIS2 en AVG. Gebruik het script om curriculum, planning en accountability te automatiseren en zorg dat alles lokaal getest kan worden in DebugMode.