Continue Engagementmodellen Voor Security Awareness In Microsoft 365

💼 Management Samenvatting

Traditionele security awareness-programma's die eenmaal per jaar een e-learningmodule of training aanbieden, blijken in de praktijk onvoldoende effectief om duurzame gedragsverandering te bewerkstelligen. Medewerkers klikken de verplichte modules snel door, vergeten de geleerde lessen binnen enkele maanden en ontwikkelen geen intrinsieke motivatie om veilig te handelen. Continue engagementmodellen bieden een alternatieve aanpak waarbij security awareness wordt verweven in de dagelijkse werkprocessen, communicatie en samenwerkingspatronen binnen Microsoft 365, waardoor veilig gedrag stap voor stap een natuurlijk onderdeel wordt van de organisatiecultuur.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
7/10
Implementatie
84u (tech: 24u)
Van toepassing op:
M365
Microsoft Teams
Microsoft Viva Engage
SharePoint Online
Exchange Online

Voor Nederlandse overheidsorganisaties is het essentieel dat security awareness niet alleen voldoet aan formele BIO-, AVG- en NIS2-vereisten rondom bewustmaking, maar ook daadwerkelijk bijdraagt aan het verlagen van mensgerelateerde risico's. Onderzoek toont aan dat medewerkers die regelmatig en op verschillende manieren worden blootgesteld aan security-boodschappen, een significant lagere kans hebben om slachtoffer te worden van phishing, social engineering of andere aanvallen die gebruikmaken van menselijke fouten. Continue engagementmodellen maken security awareness onderdeel van de dagelijkse realiteit door bijvoorbeeld kortlopende campagnes in Teams-kanalen, gamification-elementen, peer-to-peer learning, contextuele tips in applicaties en periodieke herinneringen te combineren. Deze geïntegreerde aanpak zorgt ervoor dat security-topics opnieuw onder de aandacht komen voordat kennis is weggezakt, dat medewerkers elkaar kunnen helpen en motiveren, en dat best practices direct kunnen worden toegepast in de dagelijkse werksituatie. Binnen Microsoft 365 biedt het platform alle benodigde bouwstenen voor dergelijke modellen, van Teams-kanalen en Viva Engage communities tot SharePoint-sites, Forms voor korte quizzen en Power Automate voor geautomatiseerde engagement-workflows.

PowerShell Modules Vereist
Primary API: Microsoft 365 Admin Center, Microsoft Graph
Connection: Portal, PowerShell, Graph API
Required Modules: Microsoft.Graph, ExchangeOnlineManagement

Implementatie

Dit artikel beschrijft hoe Nederlandse overheidsorganisaties continue engagementmodellen kunnen ontwerpen en implementeren voor security awareness binnen Microsoft 365. We beginnen bij de theoretische basis: wat maakt engagement effectief, welke psychologische principes liggen ten grondslag aan duurzame gedragsverandering, en hoe kunnen we verschillende engagementvormen combineren tot een samenhangend programma. Vervolgens behandelen we de praktische implementatie: hoe worden continue engagementmodellen ingericht met gebruikmaking van Teams, Viva Engage, SharePoint, Forms en andere Microsoft 365-componenten, welke campagnestructuur en kalender wordt gebruikt, en hoe worden medewerkers betrokken bij het genereren en delen van content. We bespreken ook hoe engagement wordt gemeten: welke metrics geven inzicht in de effectiviteit van het model, hoe worden deze data verzameld uit Microsoft 365, en hoe worden resultaten gebruikt om het programma continu bij te sturen. Tot slot laten we zien hoe u met het bijbehorende PowerShell-script de aanwezigheid en kwaliteit van engagementcomponenten kunt controleren en hoe rapportages kunnen worden gegenereerd voor management en compliance-doeleinden.

Theoretische basis en principes van continue engagement

Continue engagementmodellen voor security awareness zijn gebaseerd op verschillende bewezen principes uit gedragspsychologie, onderwijsleertheorie en change management. Een eerste belangrijk principe is spacing repetition: herhaling van informatie op verschillende momenten en in verschillende contexten versterkt het geheugen en vergroot de kans dat kennis wordt toegepast wanneer dat nodig is. In plaats van één jaarlijkse training wordt informatie daarom verdeeld over meerdere kortere, gerichte momenten door het jaar heen, bijvoorbeeld via wekelijkse securitytips in Teams, maandelijkse korte quizzen of kwartaalcampagnes rondom specifieke thema's zoals phishingherkenning of veilig samenwerken. Een tweede principe is contextuele relevantie: informatie die direct toepasbaar is in de dagelijkse werksituatie wordt beter onthouden en toegepast dan abstracte theorie. Continue engagementmodellen maken daarom gebruik van realistische scenario's, voorbeelden uit de eigen organisatie en praktische tips die direct kunnen worden gebruikt bij het werken met Teams, SharePoint, e-mail of andere Microsoft 365-diensten.

Een derde principe is sociale beïnvloeding en peer learning: medewerkers leren niet alleen van formele trainingen, maar ook van elkaar. Door communities te creëren waarin medewerkers security-tips delen, vragen stellen en successen vieren, ontstaat een informele leeromgeving waarin security awareness organisch groeit. Microsoft Viva Engage (voorheen Yammer) en Teams-kanalen bieden hiervoor uitstekende mogelijkheden, bijvoorbeeld door security champions aan te wijzen die regelmatig updates delen, door best practices te delen na geslaagde phishing-simulaties, of door medewerkers die verdachte berichten hebben herkend en gemeld te erkennen en te vieren. Een vierde principe is gamification: door elementen van spelletjes en competitie toe te voegen, zoals punten, badges, leaderboards of teamuitdagingen, wordt engagement verhoogd en wordt leren leuker en motiverender. Binnen Microsoft 365 kunnen deze elementen worden geïmplementeerd via Forms-quizzen met scores, SharePoint-sites met badges, of door Teams-apps die voortgang en prestaties bijhouden.

Een vijfde principe is microlearning: in plaats van lange trainingen van een of meer uren, worden leerinhouden opgedeeld in korte, hapklare brokken van vijf tot vijftien minuten die makkelijk in de dagelijkse werkdag passen. Dit kan bijvoorbeeld door korte videotutorials, infographics, interactieve checklists of snelle quizzen aan te bieden via Teams, SharePoint of e-mail. Een zesde principe is personalisatie en adaptiviteit: verschillende medewerkers hebben verschillende behoeften, rollen en risicoprofielen. Een callcentermedewerker die dagelijks veel externe e-mails ontvangt, heeft andere security-awarenessbehoefte dan een backoffice-medewerker die vooral intern samenwerkt. Continue engagementmodellen maken daarom gebruik van doelgroepspecifieke content, bijvoorbeeld door verschillende Teams-kanalen of SharePoint-sites in te richten voor verschillende rollen, of door content te targeten op basis van functie, afdeling of risicoprofiel. Door deze principes te combineren ontstaat een rijke, gevarieerde leeromgeving waarin security awareness natuurlijk en duurzaam wordt verankerd in de organisatiecultuur.

Ontwerp van een continue engagementmodel

Het ontwerp van een effectief continue engagementmodel begint bij een heldere visie op de gewenste eindtoestand: wat betekent het concreet wanneer we zeggen dat de organisatie 'security-aware' is, en welke meetbare gedragingen duiden op deze toestand? Op basis van deze visie worden engagementdoelen gedefinieerd, bijvoorbeeld: medewerkers herkennen phishingberichten binnen tien seconden, rapporteren verdachte berichten direct, gebruiken veilige samenwerkingsomgevingen consistent, en vragen hulp wanneer zij twijfelen over de veiligheid van een actie. Vervolgens wordt een engagementroadmap opgesteld die deze doelen verdeelt over een jaarprogramma met verschillende activiteiten, campagnes en momenten. Deze roadmap beschrijft niet alleen wat er wanneer gebeurt, maar ook wie verantwoordelijk is, welke Microsoft 365-componenten worden gebruikt, en hoe succes wordt gemeten.

Een praktische aanpak is om de engagementroadmap op te delen in verschillende lagen of kanalen. De basislaag bestaat uit continue, low-touch engagementactiviteiten die op de achtergrond actief zijn, bijvoorbeeld een wekelijkse securitytip die automatisch wordt gedeeld in een Teams-kanaal, een maandelijkse nieuwsbrief met securityupdates, of een Viva Engage-community waar medewerkers vragen kunnen stellen. De tweede laag bestaat uit periodieke, medium-touch activiteiten zoals maandelijkse korte quizzen, themaweken rondom specifieke onderwerpen, of kwartaalcampagnes waarbij teams worden uitgedaagd om bepaalde security-doelen te behalen. De derde laag bestaat uit intensive, high-touch momenten zoals workshops, deep-dive sessies met specifieke doelgroepen, of uitgebreide phishing-simulatieprogramma's. Door deze lagen te combineren ontstaat een evenwichtige mix waarin medewerkers regelmatig worden blootgesteld aan security-informatie, maar niet worden overbelast of vermoeid door te veel of te frequente communicatie.

Belangrijk bij het ontwerp is ook de rolverdeling en eigenaarschap. Security awareness mag niet uitsluitend een verantwoordelijkheid zijn van het CISO-team, maar moet worden gedragen door de gehele organisatie. Dit betekent dat verschillende partijen betrokken worden bij het engagementmodel: het CISO-team levert expertise en content, HR- of opleidingsafdelingen ondersteunen bij het inbedden van security awareness in bredere leerprogramma's, communicatieafdelingen helpen bij het vormgeven van campagnes, leidinggevenden fungeren als rolmodellen en stimuleren deelname, en security champions op afdelingsniveau helpen bij het verspreiden van boodschappen en het beantwoorden van vragen. Binnen Microsoft 365 kan deze rolverdeling worden ondersteund door verschillende Teams-kanalen of SharePoint-sites in te richten voor verschillende rollen, door beheerrechten toe te wijzen aan verschillende eigenaren, en door workflows te automatiseren die zorgen voor regelmatige contentpublicatie en engagement-momenten.

Tot slot moet het ontwerp rekening houden met diversiteit en inclusiviteit. Niet alle medewerkers hebben dezelfde digitale vaardigheden, leerstijlen of voorkeuren voor communicatiekanalen. Het engagementmodel moet daarom verschillende formaten aanbieden: visuele content voor visuele leerders, tekstuele content voor tekstuele leerders, interactieve content voor kinesthetische leerders, en video's voor auditieve leerders. Daarnaast moet content worden aangeboden in verschillende talen wanneer de organisatie meertalig is, en moeten technische barrières worden weggenomen door bijvoorbeeld alternatieve toegangsmethoden te bieden voor medewerkers die minder ervaren zijn met Microsoft 365. Door het engagementmodel inclusief te ontwerpen, wordt de kans gemaximaliseerd dat alle medewerkers daadwerkelijk worden bereikt en betrokken blijven bij security awareness.

Implementatie in Microsoft 365: Teams, Viva Engage en SharePoint

De implementatie van een continue engagementmodel in Microsoft 365 begint bij het inrichten van de basisinfrastructuur: de centrale kanalen, sites en communities waar security awareness-activiteiten plaatsvinden. Een praktische aanpak is om een centraal security awareness-teamkanaal op te zetten in Microsoft Teams, waarin het CISO-team, communicatie, HR en security champions samenwerken aan het ontwerpen en uitrollen van campagnes. Dit kanaal wordt gebruikt voor interne coördinatie, het delen van contenttemplates, en het plannen van engagementactiviteiten. Daarnaast wordt een organisatiebreed security awareness-kanaal ingericht, waarin alle medewerkers zijn toegevoegd en waarin wekelijkse tips, updates, quizzen en aankondigingen worden gedeeld. Dit kanaal wordt beheerd door het CISO-team en wordt gebruikt als primair kanaal voor continue, low-touch engagement.

Naast Teams kan Microsoft Viva Engage worden ingezet als platform voor communitygedreven security awareness. Viva Engage biedt mogelijkheden voor discussies, polls, video's en informele uitwisseling die beter geschikt zijn voor peer-to-peer learning dan formele Teams-kanalen. Een praktische aanpak is om een centrale security awareness-community op te zetten waarin medewerkers vragen kunnen stellen, best practices kunnen delen, successen kunnen vieren, en waarin security champions regelmatig updates en tips posten. Viva Engage biedt ook mogelijkheden voor subcommunities per afdeling of functiegroep, waardoor gerichtere discussies en content mogelijk zijn. Door Viva Engage te combineren met Teams ontstaat een rijk ecosysteem waarin formele communicatie (Teams) en informele uitwisseling (Viva Engage) elkaar aanvullen.

SharePoint vormt de centrale kennisbron en documentatiehub voor security awareness. Een centrale SharePoint-site wordt ingericht als security awareness-hub, met overzichtspagina's per thema (bijvoorbeeld 'Herken phishing', 'Veilig samenwerken', 'Beveiligde e-mail'), concrete handleidingen, infographics, video's, downloadbare checklists en FAQ's. Deze hub wordt regelmatig bijgewerkt met nieuwe content, koppelt naar relevante Microsoft 365-functionaliteit zoals sensitivity labels of DLP-beleid, en biedt zoekfunctionaliteit zodat medewerkers snel relevante informatie kunnen vinden. De SharePoint-site kan ook worden gebruikt voor het hosten van interactieve elementen zoals Forms-quizzen of Power Apps-toepassingen die engagement verhogen. Door de SharePoint-hub te koppelen aan Teams-kanalen via tabs en links ontstaat een naadloze gebruikerservaring waarin informatie op verschillende manieren toegankelijk is.

Voor geautomatiseerde engagement-workflows kan Power Automate worden ingezet om repetitieve taken te automatiseren en ervoor te zorgen dat engagementactiviteiten consistent en tijdig worden uitgevoerd. Voorbeelden van geautomatiseerde workflows zijn: een wekelijkse workflow die automatisch een securitytip post in het Teams-kanaal, een maandelijkse workflow die een Forms-quiz genereert en deelt, een workflow die nieuwe medewerkers automatisch uitnodigt voor security awareness-communities en hen een welkomstpakket met relevante informatie stuurt, of een workflow die automatisch badges of erkenningen toekent aan medewerkers die goede securityprestaties leveren (bijvoorbeeld door phishingberichten te melden of quizzen met hoge scores af te ronden). Door deze workflows te automatiseren wordt de administratieve last voor het CISO-team verlaagd en wordt consistentie geborgd, zodat engagementactiviteiten niet worden vergeten of uitgesteld wanneer andere prioriteiten opkomen.

Campagnekalender en periodieke activiteiten

Een effectief continue engagementmodel heeft een gestructureerde campagnekalender die beschrijft welke activiteiten wanneer plaatsvinden en hoe deze activiteiten elkaar versterken. De kalender wordt bij voorkeur opgezet voor een volledig jaar, maar wordt regelmatig bijgesteld op basis van actuele dreigingen, incidenten, nieuwe Microsoft 365-functionaliteit of feedback van medewerkers. De kalender verdeelt het jaar in verschillende periodes, waarbij elke periode een eigen thema of focus heeft, bijvoorbeeld: Q1 'Veilig samenwerken in Teams en SharePoint', Q2 'Phishingherkenning en e-mailbeveiliging', Q3 'Beveiliging op afstand en mobile security', en Q4 'Jaaroverzicht en reflectie'. Binnen elke periode worden verschillende activiteiten gepland die het thema ondersteunen, zoals wekelijkse tips, maandelijkse quizzen, themaweken met extra content, workshops, en communicatiecampagnes.

Naast thematische periodes bevat de kalender ook terugkerende, thema-onafhankelijke activiteiten die gedurende het hele jaar consistent worden uitgevoerd. Voorbeelden hiervan zijn: een wekelijkse securitytip die elke maandag wordt gedeeld in Teams, een maandelijkse security-nieuwsbrief met updates over nieuwe dreigingen en best practices, een kwartaalphishing-simulatie waarbij alle medewerkers worden getest, en een halfjaarlijkse security awareness-sessie voor nieuwe medewerkers. Deze terugkerende activiteiten zorgen voor continuïteit en voorkomen dat engagement na een intensieve campagne weer wegzakt. De kalender wordt idealiter beheerd in een gedeeld document of SharePoint-lijst, zodat alle betrokkenen (CISO-team, communicatie, HR, security champions) kunnen zien wat er gepland staat en hun eigen activiteiten kunnen inplannen zonder overlap of conflicten te creëren.

Belangrijk bij het plannen van campagnes is ook timing en frequentie. Te veel of te frequente engagementactiviteiten kunnen leiden tot vermoeidheid en desinteresse, terwijl te weinig activiteiten onvoldoende impact hebben. Een goede vuistregel is om te streven naar één tot twee low-touch activiteiten per week (bijvoorbeeld een tip of een korte quiz), één medium-touch activiteit per maand (bijvoorbeeld een themaweek of een uitgebreidere quiz), en één high-touch activiteit per kwartaal (bijvoorbeeld een workshop of een grote campagne). Daarnaast moet rekening worden gehouden met organisatorische context: tijdens drukke periodes zoals begrotingstijd of grote projectdeadlines is het verstandig om engagementactiviteiten te verminderen, terwijl tijdens rustigere periodes extra activiteiten kunnen worden ingepland. Door de kalender flexibel te houden en regelmatig te evalueren, kan het engagementmodel optimaal worden afgestemd op de behoeften en capaciteit van de organisatie.

Metriek, monitoring en continue verbetering

Gebruik PowerShell-script continuous-engagement-models.ps1 (functie Invoke-EngagementMonitoring) – Controleert de aanwezigheid en kwaliteit van continue engagementcomponenten in Microsoft 365, zoals Teams-kanalen, Viva Engage-communities, SharePoint-sites en geautomatiseerde workflows, en genereert een overzicht van de volwassenheid van het engagementmodel..

Het meten van de effectiviteit van een continue engagementmodel vereist een combinatie van kwantitatieve en kwalitatieve indicatoren die inzicht geven in zowel de activiteit van het programma als de impact op gedrag. Kwantitatieve metrics omvatten onder meer: deelnamepercentages aan activiteiten (bijvoorbeeld hoeveel medewerkers deelnemen aan quizzen, hoeveel reacties er zijn op Teams-berichten, of hoeveel views er zijn op SharePoint-content), engagement-scores (bijvoorbeeld hoeveel tijd medewerkers besteden aan security awareness-content, hoeveel keer content wordt gedeeld of geliked, of hoeveel medewerkers actief deelnemen aan Viva Engage-discussies), en gedragsindicatoren (bijvoorbeeld phishingklikpercentages, aantal gemelde verdachte berichten, of adoptie van veilige samenwerkingspatronen). Deze metrics worden idealiter verzameld via Microsoft 365-rapportages, Microsoft Graph API, of via handmatige export uit Teams, SharePoint en Viva Engage.

Kwalitatieve metrics omvatten feedback van medewerkers, bijvoorbeeld via enquêtes, focusgroepen of informele gesprekken, en bevindingen van auditors of externe reviewers. Deze informatie geeft inzicht in hoe medewerkers het engagementmodel ervaren, welke onderwerpen zij als belangrijk of interessant zien, welke formaten het beste werken, en waar verbeterpunten liggen. Door kwantitatieve en kwalitatieve metrics te combineren ontstaat een rijk beeld van de effectiviteit van het engagementmodel en kunnen gerichte verbeteringen worden geïmplementeerd. Het bijbehorende PowerShell-script kan worden gebruikt om automatisch de aanwezigheid en basisconfiguratie van engagementcomponenten te controleren, bijvoorbeeld of Teams-kanalen bestaan, of SharePoint-sites actief zijn, of workflows correct zijn geconfigureerd, en of content regelmatig wordt bijgewerkt.

Continue verbetering betekent dat het engagementmodel niet statisch is, maar regelmatig wordt bijgesteld op basis van metingen, feedback en veranderende omstandigheden. Dit kan betekenen dat bepaalde activiteiten worden aangepast wanneer zij niet het gewenste effect hebben, dat nieuwe formaten worden geprobeerd wanneer medewerkers aangeven dat huidige formaten niet aanspreken, of dat thema's worden gewijzigd wanneer nieuwe dreigingen opkomen of nieuwe Microsoft 365-functionaliteit beschikbaar komt. Door het engagementmodel als een iteratief, lerend systeem te benaderen, groeit het van een initieel concept naar een volwassen, effectief programma dat aantoonbaar bijdraagt aan de security awareness en weerbaarheid van de organisatie. Door successen te vieren en te delen, zowel intern als met andere organisaties, wordt het engagementmodel bovendien onderdeel van de organisatiecultuur en een bron van trots en motivatie voor medewerkers.

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 Continue engagementmodellen voor security awareness - Monitoring en evaluatie .DESCRIPTION Ondersteunt Nederlandse overheidsorganisaties bij het monitoren en evalueren van continue engagementmodellen voor security awareness binnen Microsoft 365. Controleert de aanwezigheid en kwaliteit van engagementcomponenten zoals Teams-kanalen, Viva Engage-communities, SharePoint-sites en geautomatiseerde workflows, en genereert rapportages over de volwassenheid van het engagementmodel. .NOTES Filename: continuous-engagement-models.ps1 Author: Nederlandse Baseline voor Veilige Cloud Category: awareness Created: 2025-11-26 Last Modified: 2025-11-26 Version: 1.0 Related JSON: content/m365/awareness/continuous-engagement-models.json .EXAMPLE .\continuous-engagement-models.ps1 -Monitoring -DebugMode Voert een lokale debug-run uit zonder verbinding te maken met Microsoft 365 en toont voorbeeldresultaten. .EXAMPLE .\continuous-engagement-models.ps1 -Monitoring Controleert in de live tenant of continue engagementcomponenten aanwezig zijn en actief worden gebruikt. .EXAMPLE .\continuous-engagement-models.ps1 -Remediation -WhatIf Toont welke stappen nodig zijn om ontbrekende engagementcomponenten aan te maken, zonder daadwerkelijk wijzigingen door te voeren. #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph, ExchangeOnlineManagement [CmdletBinding()] param( [Parameter(HelpMessage = "Monitor de huidige inrichting van continue engagementcomponenten")] [switch]$Monitoring, [Parameter(HelpMessage = "Ondersteun gerichte remediatie van ontbrekende onderdelen")] [switch]$Remediation, [Parameter(HelpMessage = "Toon welke acties zouden worden uitgevoerd zonder wijzigingen aan te brengen")] [switch]$WhatIf, [Parameter(HelpMessage = "Voer een lokale debug-run uit zonder verbinding met Microsoft 365")] [switch]$DebugMode, [Parameter(HelpMessage = "Gereseveerd voor toekomstig gebruik, geen automatische rollback")] [switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Continue engagementmodellen voor security awareness" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Connect-RequiredServices { <# .SYNOPSIS Maakt verbinding met benodigde Microsoft 365-services. .DESCRIPTION Verbindt met Microsoft Graph en Exchange Online voor het monitoren van engagementcomponenten. #> [CmdletBinding()] param() if ($DebugMode) { Write-Host "DebugMode: Er wordt geen verbinding gemaakt met Microsoft 365." -ForegroundColor Yellow return } try { Write-Host "Verbinden met Microsoft Graph..." -ForegroundColor Gray Connect-MgGraph -Scopes "Group.Read.All", "Sites.Read.All", "User.Read.All" -ErrorAction Stop | Out-Null Write-Host "Verbinden met Exchange Online..." -ForegroundColor Gray Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop | Out-Null Write-Host " [OK] Verbindingen succesvol" -ForegroundColor Green } catch { Write-Host " [FAIL] Verbindingsfout: $($_.Exception.Message)" -ForegroundColor Red throw } } function Get-RepositoryRoot { <# .SYNOPSIS Bepaalt de rootmap van de repository op basis van de locatie van dit script. #> [CmdletBinding()] param() $root = Resolve-Path (Join-Path $PSScriptRoot "..\..\..") -ErrorAction SilentlyContinue if (-not $root) { throw "Kon de repository-root niet bepalen op basis van PSScriptRoot: $PSScriptRoot" } return $root.Path } function Invoke-EngagementMonitoring { <# .SYNOPSIS Controleert de aanwezigheid en kwaliteit van continue engagementcomponenten. .DESCRIPTION Beoordeelt of er Teams-kanalen, Viva Engage-communities, SharePoint-sites en andere engagementcomponenten zijn ingericht en actief worden gebruikt voor security awareness. .OUTPUTS PSCustomObject met monitoringresultaten. #> [CmdletBinding()] param() Write-Host "Monitoring: Continue engagementcomponenten controleren..." -ForegroundColor Gray Write-Host "" if ($DebugMode) { Write-Host "DebugMode: Er worden voorbeeldresultaten getoond." -ForegroundColor Yellow Write-Host "" $summary = [PSCustomObject]@{ HasTeamsChannel = $true TeamsChannelActive = $true HasVivaEngageCommunity = $false HasSharePointSite = $true SharePointContentUpdated = $true HasAutomatedWorkflows = $false EngagementScore = 6.5 MaturityLevel = "Basis" Timestamp = Get-Date } Write-Host "Voorbeeldsamenvatting (debug):" -ForegroundColor Cyan $summary | Format-List Write-Host "[INFO] In productie worden Teams-kanalen, Viva Engage-communities en SharePoint-sites gecontroleerd." -ForegroundColor Yellow return $summary } try { # Controleer Teams-kanalen Write-Host "Teams-kanalen controleren..." -ForegroundColor Gray $teamsChannels = Get-MgTeam -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -like "*security*awareness*" -or $_.DisplayName -like "*security awareness*" } $hasTeamsChannel = $teamsChannels.Count -gt 0 if ($hasTeamsChannel) { Write-Host " [OK] Security awareness Teams-kanaal gevonden: $($teamsChannels.Count)" -ForegroundColor Green # Controleer activiteit (laatste bericht binnen 30 dagen = actief) $teamsChannelActive = $false foreach ($team in $teamsChannels) { try { $channels = Get-MgTeamChannel -TeamId $team.Id -ErrorAction SilentlyContinue # Vereenvoudigde controle: als team bestaat en kanalen heeft, beschouwen we het als actief if ($channels) { $teamsChannelActive = $true break } } catch { # Negeer fouten bij het ophalen van kanalen } } if ($teamsChannelActive) { Write-Host " [OK] Teams-kanaal is actief" -ForegroundColor Green } else { Write-Host " [WAARSCHUWING] Teams-kanaal bestaat, maar activiteit is onduidelijk" -ForegroundColor Yellow } } else { Write-Host " [WAARSCHUWING] Geen security awareness Teams-kanaal gevonden" -ForegroundColor Yellow } # Controleer Viva Engage-communities (Yammer) Write-Host "Viva Engage-communities controleren..." -ForegroundColor Gray Write-Host " [INFO] Viva Engage-controle vereist aanvullende API-toegang. Controleer handmatig via vivaengage.com" -ForegroundColor Cyan $hasVivaEngageCommunity = $false # Vereist specifieke Viva Engage API-toegang # Controleer SharePoint-sites Write-Host "SharePoint-sites controleren..." -ForegroundColor Gray try { $sites = Get-MgSite -Filter "displayName eq 'Security Awareness' or displayName eq 'SecurityAwareness'" -ErrorAction SilentlyContinue if (-not $sites) { # Zoek breder naar security-gerelateerde sites $allSites = Get-MgSite -ErrorAction SilentlyContinue | Select-Object -First 50 $sites = $allSites | Where-Object { $_.DisplayName -like "*security*awareness*" -or $_.DisplayName -like "*security awareness*" } } $hasSharePointSite = $sites.Count -gt 0 if ($hasSharePointSite) { Write-Host " [OK] Security awareness SharePoint-site gevonden: $($sites.Count)" -ForegroundColor Green # Vereenvoudigde controle: als site bestaat, beschouwen we content als bijgewerkt # In productie zou je kunnen controleren op laatste wijzigingsdatum $sharePointContentUpdated = $true Write-Host " [OK] SharePoint-content is beschikbaar" -ForegroundColor Green } else { Write-Host " [WAARSCHUWING] Geen security awareness SharePoint-site gevonden" -ForegroundColor Yellow } } catch { Write-Host " [INFO] SharePoint-controle kon niet worden uitgevoerd: $($_.Exception.Message)" -ForegroundColor Cyan $hasSharePointSite = $false $sharePointContentUpdated = $false } # Controleer geautomatiseerde workflows (Power Automate vereist specifieke API-toegang) Write-Host "Geautomatiseerde workflows controleren..." -ForegroundColor Gray Write-Host " [INFO] Power Automate-controle vereist specifieke API-toegang. Controleer handmatig via make.powerautomate.com" -ForegroundColor Cyan $hasAutomatedWorkflows = $false # Vereist Power Automate API-toegang # Bereken engagement score (0-10) $scoreComponents = @() if ($hasTeamsChannel -and $teamsChannelActive) { $scoreComponents += 2.5 } if ($hasVivaEngageCommunity) { $scoreComponents += 1.5 } if ($hasSharePointSite -and $sharePointContentUpdated) { $scoreComponents += 2.5 } if ($hasAutomatedWorkflows) { $scoreComponents += 1.5 } # Restpunten voor algemene volwassenheid $scoreComponents += 2.0 $engagementScore = [Math]::Round(($scoreComponents | Measure-Object -Sum).Sum, 2) $engagementScore = [Math]::Min($engagementScore, 10.0) # Bepaal maturity level $maturityLevel = if ($engagementScore -ge 8) { "Gevorderd" } elseif ($engagementScore -ge 5) { "Basis" } else { "Begin" } $summary = [PSCustomObject]@{ HasTeamsChannel = $hasTeamsChannel TeamsChannelActive = $teamsChannelActive HasVivaEngageCommunity = $hasVivaEngageCommunity HasSharePointSite = $hasSharePointSite SharePointContentUpdated = $sharePointContentUpdated HasAutomatedWorkflows = $hasAutomatedWorkflows EngagementScore = $engagementScore MaturityLevel = $maturityLevel Timestamp = Get-Date } Write-Host "" Write-Host "Samenvatting monitoringresultaten:" -ForegroundColor Cyan $summary | Format-List Write-Host "" if ($engagementScore -ge 8) { Write-Host "[OK] Gevorderd engagementmodel: $maturityLevel (Score: $engagementScore/10)" -ForegroundColor Green Write-Host " Blijf het model onderhouden en evalueer regelmatig." -ForegroundColor Gray exit 0 } elseif ($engagementScore -ge 5) { Write-Host "[INFO] Basis engagementmodel: $maturityLevel (Score: $engagementScore/10)" -ForegroundColor Yellow Write-Host " Overweeg uitbreiding met Viva Engage-communities en geautomatiseerde workflows." -ForegroundColor Gray exit 0 } else { Write-Host "[WAARSCHUWING] Beginstadium engagementmodel: $maturityLevel (Score: $engagementScore/10)" -ForegroundColor Red Write-Host " Richt minimaal een Teams-kanaal en SharePoint-site in voor security awareness." -ForegroundColor Gray exit 1 } } catch { Write-Host "" Write-Host "[FAIL] Monitoringfout: $_" -ForegroundColor Red Write-Host "Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Monitoring { <# .SYNOPSIS Wrapper voor engagement monitoring. #> Connect-RequiredServices Invoke-EngagementMonitoring } function Invoke-Remediation { <# .SYNOPSIS Genereert aanbevelingen voor het inrichten van ontbrekende engagementcomponenten. .DESCRIPTION Voert zelf geen configuratiewijzigingen in Microsoft 365 door, maar helpt teams bij het identificeren van welke componenten ontbreken en welke stappen nodig zijn om deze in te richten. #> [CmdletBinding(SupportsShouldProcess)] param() if ($WhatIf) { Write-Host "[WhatIf] Er worden geen wijzigingen doorgevoerd. Alleen aanbevelingen worden getoond." -ForegroundColor Yellow Write-Host "" } Connect-RequiredServices Write-Host "Remediatie: Aanbevelingen genereren voor engagementcomponenten..." -ForegroundColor Gray Write-Host "" try { $monitoringResults = Invoke-EngagementMonitoring Write-Host "" Write-Host "Aanbevolen remediatiestappen:" -ForegroundColor Cyan Write-Host "" $recommendations = @() if (-not $monitoringResults.HasTeamsChannel) { $recommendations += "1. Richt een organisatiebreed security awareness Teams-kanaal in:" $recommendations += " • Maak een nieuw team aan in Microsoft Teams met naam 'Security Awareness'" $recommendations += " • Voeg alle medewerkers toe als leden" $recommendations += " • Stel het CISO-team aan als eigenaar" $recommendations += " • Configureer een wekelijkse post voor securitytips" $recommendations += "" } elseif (-not $monitoringResults.TeamsChannelActive) { $recommendations += "1. Activeer het bestaande security awareness Teams-kanaal:" $recommendations += " • Start met het posten van wekelijkse securitytips" $recommendations += " • Reageer op vragen en feedback van medewerkers" $recommendations += " • Organiseer periodieke quizzen of polls" $recommendations += "" } if (-not $monitoringResults.HasSharePointSite) { $recommendations += "2. Richt een centrale security awareness SharePoint-site in:" $recommendations += " • Maak een nieuwe SharePoint-site aan met naam 'Security Awareness Hub'" $recommendations += " • Voeg pagina's toe voor verschillende thema's (phishing, Teams, e-mail)" $recommendations += " • Publiceer handleidingen, infographics en video's" $recommendations += " • Koppel de site aan het Teams-kanaal via een tab" $recommendations += "" } if (-not $monitoringResults.HasVivaEngageCommunity) { $recommendations += "3. Overweeg een Viva Engage-community voor peer-to-peer learning:" $recommendations += " • Maak een community aan in Viva Engage voor security awareness" $recommendations += " • Nodig medewerkers uit om te participeren" $recommendations += " • Wijs security champions aan om regelmatig te posten" $recommendations += "" } if (-not $monitoringResults.HasAutomatedWorkflows) { $recommendations += "4. Overweeg geautomatiseerde workflows voor consistentie:" $recommendations += " • Maak Power Automate-workflows voor wekelijkse tips" $recommendations += " • Automatiseer welkomstpakketten voor nieuwe medewerkers" $recommendations += " • Configureer reminders voor periodieke activiteiten" $recommendations += "" } if ($recommendations.Count -eq 0) { Write-Host "[OK] Alle basiscomponenten zijn aanwezig. Overweeg uitbreiding met gevorderde functionaliteit." -ForegroundColor Green } else { foreach ($recommendation in $recommendations) { Write-Host $recommendation -ForegroundColor Gray } } Write-Host "" Write-Host "BELANGRIJK: Deze remediatie vereist handmatige configuratie in Microsoft 365." -ForegroundColor Yellow Write-Host "Volg de stappen hierboven en controleer regelmatig de voortgang via -Monitoring." -ForegroundColor Yellow } catch { Write-Host "" Write-Host "[FAIL] Remediatiefout: $_" -ForegroundColor Red Write-Host "Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Revert { <# .SYNOPSIS Plaatshouder voor eventuele toekomstige revert-acties. .DESCRIPTION Omdat dit script geen configuratie in Microsoft 365 wijzigt, zijn er op dit moment geen revert-acties noodzakelijk. De functie is aanwezig om aan te sluiten bij het standaard scriptpatroon binnen dit project. #> Write-Host "Er zijn geen configuratiewijzigingen om terug te draaien voor dit script." -ForegroundColor Yellow Write-Host "Continue engagementcomponenten moeten handmatig worden verwijderd indien nodig." -ForegroundColor Yellow } try { if ($Revert) { Invoke-Revert } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Usage:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer aanwezigheid en kwaliteit van engagementcomponenten" -ForegroundColor Gray Write-Host " -Remediation Genereer aanbevelingen voor ontbrekende componenten" -ForegroundColor Gray Write-Host " -Revert Geen acties (alleen voor consistentie met andere scripts)" -ForegroundColor Gray Write-Host " -DebugMode Voer lokale test uit zonder verbinding met Microsoft 365" -ForegroundColor Gray Write-Host " -WhatIf Toon alleen aanbevelingen zonder vervolgacties" -ForegroundColor Gray Write-Host "" Write-Host "Voorbeelden:" -ForegroundColor Yellow Write-Host " .\continuous-engagement-models.ps1 -Monitoring" -ForegroundColor Gray Write-Host " .\continuous-engagement-models.ps1 -Monitoring -DebugMode" -ForegroundColor Gray Write-Host " .\continuous-engagement-models.ps1 -Remediation -WhatIf" -ForegroundColor Gray } } catch { Write-Host "" Write-Host "[FAIL] ERROR: $_" -ForegroundColor Red Write-Host "Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } finally { if (-not $DebugMode) { try { Disconnect-MgGraph -ErrorAction SilentlyContinue | Out-Null Disconnect-ExchangeOnline -Confirm:$false -ErrorAction SilentlyContinue | Out-Null } catch { # Negeer disconnect-fouten } } Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder continue engagementmodellen blijft security awareness afhankelijk van eenmalige trainingen en campagnes die onvoldoende duurzame gedragsverandering bewerkstelligen, met als gevolg aanhoudende kwetsbaarheid voor mensgerelateerde cyberaanvallen.

Management Samenvatting

Richt een continue engagementmodel in voor security awareness binnen Microsoft 365 dat gebruikmaakt van Teams, Viva Engage, SharePoint en geautomatiseerde workflows om security awareness natuurlijk en duurzaam te verankeren in de dagelijkse werkprocessen en organisatiecultuur.