Retentielabels Gepubliceerd Naar Alle M365-werkbelastingen

💼 Management Samenvatting

Retentielabels die daadwerkelijk zijn gepubliceerd naar alle relevante Microsoft 365-werkbelastingen (Exchange, SharePoint, OneDrive en Teams) vormen de kern van een volwassen data lifecycle-beleid: zij bepalen welke informatie hoe lang bewaard blijft, wanneer gegevens moeten worden verwijderd en hoe organisaties aantoonbaar voldoen aan wettelijke bewaartermijnen.

Aanbeveling
IMPLEMENT
Risico zonder
Medium
Risk Score
6/10
Implementatie
12u (tech: 6u)
Van toepassing op:
M365
Exchange
SharePoint
OneDrive
Teams

In veel organisaties worden wel retentielabels gedefinieerd in Microsoft Purview, maar blijven deze beperkt tot een klein deel van de omgeving of worden ze alleen als concept gebruikt. Zonder gepubliceerd beleid dat labels actief beschikbaar maakt in Exchange-postvakken, SharePoint-sites, OneDrive-opslag en Teams-kanalen ontstaat een schijnveiligheid: op papier bestaat er een bewaarbeleid, maar in de praktijk kunnen gebruikers de labels niet toepassen en worden gegevens niet volgens de afgesproken termijnen beheerd. Dit leidt tot onduidelijkheid over bewaartermijnen, verhoogde risico’s bij e-discovery, en mogelijke overtredingen van wetten zoals de AVG, archiefwetgeving en fiscale bewaarplichten. Bovendien wordt het vrijwel onmogelijk om consistent op te treden bij incidenten, Wob/Woo-verzoeken, onderzoeken of audits, omdat niet duidelijk is welke informatie formeel als record is aangemerkt en hoe lang deze beschikbaar blijft.

PowerShell Modules Vereist
Primary API: Security & Compliance PowerShell
Connection: Connect-IPPSSession
Required Modules: ExchangeOnlineManagement

Implementatie

Deze maatregel beschrijft hoe u retentielabels in Microsoft 365 zodanig publiceert dat zij breed en gecontroleerd beschikbaar zijn in de hele tenant. Dat betekent dat er minimaal één centraal publicatiebeleid bestaat waarin de belangrijkste organisatiebrede retentielabels zijn opgenomen en dat dit beleid is gekoppeld aan alle relevante locaties: Exchange-postvakken, SharePoint-sites, OneDrive-accounts en Microsoft 365 Groups (inclusief Teams). Gebruikers zien de labels vervolgens in Outlook, SharePoint, OneDrive en Teams en kunnen deze toepassen op mappen, bibliotheken en individuele items. De inrichting is gebaseerd op een formeel bewaarschema en wordt ondersteund door monitoring en PowerShell-scripts die controleren of er daadwerkelijk publicatiepolicies actief zijn en of de belangrijkste werkbelastingen zijn opgenomen. Zo ontstaat een herhaalbaar, auditeerbaar proces waarmee uw organisatie kan aantonen dat bewaartermijnen niet alleen op papier bestaan, maar ook daadwerkelijk technisch zijn afgedwongen.

Vereisten

Voor een succesvolle implementatie van retentielabels die breed zijn gepubliceerd in Microsoft 365 is een combinatie van technische, juridische en organisatorische randvoorwaarden noodzakelijk. Allereerst moet uw organisatie beschikken over de juiste licenties. Retentielabels en publicatiepolicies zijn onderdeel van Microsoft Purview Data Lifecycle Management en vereisen doorgaans Microsoft 365 E3/E5, Office 365 E3/E5 met aanvullende compliance-add-ons, of een gelijkwaardig pakket waarin de Purview-retentiefunctionaliteit expliciet is opgenomen. Zonder deze licenties zijn de beheermogelijkheden voor labels, policies en rapportages beperkt of niet beschikbaar, waardoor u het bewaarbeleid niet consistent kunt afdwingen.

Naast licenties is een formeel vastgesteld bewaarschema onmisbaar. In dit bewaarschema is per informatiecategorie (bijvoorbeeld financiële administratie, HR-dossiers, klant- en burgercommunicatie, bestuursstukken of projectdossiers) vastgelegd hoe lang gegevens minimaal en maximaal moeten worden bewaard, inclusief de juridische basis (bijvoorbeeld belastingwetgeving, archiefwet, contractuele verplichtingen of sectorale normen). Dit schema wordt idealiter opgesteld in samenwerking tussen juristen, privacy officers, recordmanagers en informatiebeveiliging, zodat zowel juridische als beveiligings- en privacyaspecten zijn geborgd. De retentielabels in Microsoft 365 zijn vervolgens een technische vertaling van dit bewaarschema; zonder helder bewaarkader bestaat het risico dat labels willekeurig worden gekozen of onderling tegenstrijdig zijn.

Een derde vereiste is governance rond eigenaarschap en besluitvorming. Voor elk retentielabel moet duidelijk zijn wie de eigenaar is, welke processen erdoor worden geraakt en wie wijzigingen mag doorvoeren. Dit raakt niet alleen IT, maar ook lijnmanagement, juridische functies, privacy officers en de CISO-organisatie. Het publiceren van labels naar nieuwe locaties (bijvoorbeeld het uitbreiden van publicatie van alleen Exchange naar ook SharePoint en Teams) kan directe impact hebben op werkprocessen, zoekresultaten en e-discovery. Daarom is het essentieel dat er een formeel wijzigingsproces bestaat waarin risico’s worden beoordeeld, communicatie wordt voorbereid en – waar nodig – opleidingen worden verzorgd.

Aan de kant van de technische inrichting zijn er aanvullende randvoorwaarden. Er moeten één of meerdere beheerders zijn met rollen zoals Compliance Administrator, Records Management of Information Protection Administrator in het Microsoft Purview portal. Deze beheerders hebben toegang nodig tot het onderdeel Data Lifecycle Management en specifiek tot de secties voor retentielabels en publicatiebeleid (label policies). Daarnaast is toegang tot Security & Compliance PowerShell noodzakelijk om monitoring- en controlescripts te kunnen draaien. In veel omgevingen is het verstandig om hiervoor een apart beheerdersaccount te gebruiken dat wordt beschermd met meervoudige authenticatie (MFA) en dat alleen voor beheerdoeleinden wordt ingezet.

Tot slot zijn duidelijke communicatie en adoptie-activiteiten een harde voorwaarde. Gebruikers moeten begrijpen wat retentielabels betekenen, welke consequenties ze hebben (bijvoorbeeld automatische verwijdering of behoud) en hoe deze zich verhouden tot andere classificatie- of DLP-labels in de omgeving. Zonder uitleg kan het gebruik van labels leiden tot verwarring, weerstand of verkeerd gebruik, bijvoorbeeld door het verkeerd labelen van conceptdocumenten als langlopend archief. Door vooraf te investeren in uitleg, handleidingen, voorbeeldscenario’s en korte e-learningmodules wordt de kans vergroot dat retentielabels daadwerkelijk op de juiste manier worden toegepast.

Implementatie

De implementatie van retentielabels die daadwerkelijk zijn gepubliceerd naar alle relevante Microsoft 365-werkbelastingen verloopt gefaseerd. U start met het ontwerpen of verfijnen van de set retentielabels in Microsoft Purview. In het Purview-portal navigeert u naar Data Lifecycle Management en vervolgens naar Labels (of Retention labels). Hier definieert u voor elke informatiecategorie één of meer labels met een duidelijke naam, beschrijving, bewaartermijn en gewenste actie na afloop van de termijn (bijvoorbeeld verwijderen, alleen blokkeren van verwijdering of conversie naar record). Zorg ervoor dat de omschrijving voor eindgebruikers in begrijpelijke taal uitlegt wanneer het label moet worden gebruikt en wat de gevolgen zijn voor de bewaartermijn.

Vervolgens richt u het publicatiebeleid (label policies) in. In plaats van voor elk label een eigen policy te maken, is het vaak efficiënter om verwante labels te groeperen in één of enkele centrale policies, bijvoorbeeld een beleid voor generieke bedrijfsinformatie, een voor HR- en personeelsdossiers en een voor bestuurlijke besluitvorming. In het Purview-portal maakt u een nieuwe label policy aan, selecteert u de labels die u wilt publiceren en bepaalt u op welke locaties deze labels beschikbaar moeten zijn. Voor een organisatiebrede aanpak kiest u bij voorkeur voor alle Exchange e-mail, alle SharePoint-sites, alle OneDrive-accounts en alle Microsoft 365-groepen (inclusief Teams). Waar nodig kunt u uitzonderingen configureren, bijvoorbeeld voor testomgevingen of afgeschermde onderzoeksdossiers die een aparte retentiestrategie vereisen.

Na het selecteren van de locaties specificeert u aanvullende instellingen, zoals of gebruikers uitleg moeten zien bij het label, of ze een reden moeten opgeven bij het verwijderen van gelabelde content en of labels verplicht moeten worden toegepast op bepaalde locaties. In omgevingen met veel eindgebruikers is het verstandig om te starten met een beperkte set verplichte labels en duidelijke instructies, zodat gebruikers niet worden geconfronteerd met een overweldigende lijst aan keuzes. Voor hoog-risicoprocessen, zoals bestuurscommunicatie, juridische dossiers of kritieke infrastructurele informatie, kunnen strengere instellingen worden gekozen, bijvoorbeeld verplichte labels op specifieke SharePoint-bibliotheken of Teams-kanalen.

Wanneer het publicatiebeleid is geconfigureerd, publiceert u de policy. Het kan enkele uren duren voordat labels zichtbaar worden in alle workloads. In deze periode documenteert u de configuratie: welke labels bestaan er, in welke policies zijn ze opgenomen, welke locaties zijn gekoppeld en welk doel elk label dient. Deze documentatie vormt later essentieel bewijsmateriaal bij audits en helpt bij het oplossen van incidenten of gebruikersvragen. Tegelijkertijd bereidt u communicatie naar gebruikers voor, bijvoorbeeld via intranetberichten, korte instructievideo’s of gerichte trainingen voor key users en recordmanagers.

Na publicatie volgt een testfase. Met behulp van een testaccount en een beperkt aantal pilotgebruikers controleert u of de labels zichtbaar zijn in Outlook, SharePoint, OneDrive en Teams en of ze zich gedragen zoals bedoeld. U test scenario’s zoals het toepassen van een label op een map, document of e-mail, het verplaatsen of verwijderen van gelabelde content en het uitvoeren van e-discovery-zoekopdrachten op basis van labels. Waar nodig verfijnt u de naamgeving of beschrijving van labels om verwarring te voorkomen.

Tot slot borgt u de implementatie in beheerprocessen. U neemt het onderhoud van labels en label policies op in change- en releaseprocessen, bijvoorbeeld via een periodieke review van het bewaarschema en de onderliggende technische configuratie. Wijzigingen in wet- en regelgeving, archiefwetgeving of interne regelgeving worden vertaald naar updates van labels en policies. Met behulp van PowerShell-scripts, zoals het bijbehorende script in de code-directory, controleert u periodiek of er nog steeds actieve label policies bestaan die zijn gepubliceerd naar de beoogde workloads en of er geen onbedoelde verwijderingen of uitsluitingen hebben plaatsgevonden.

Compliance en Auditing

Het publiceren van retentielabels naar alle relevante Microsoft 365-werkbelastingen is cruciaal voor aantoonbare compliance met Nederlandse en Europese wet- en regelgeving. Vanuit het perspectief van de Algemene Verordening Gegevensbescherming (AVG) ondersteunt deze inrichting met name artikel 5, waarin is vastgelegd dat persoonsgegevens niet langer mogen worden bewaard dan noodzakelijk voor het doel van de verwerking. Door retentielabels te koppelen aan bewaartermijnen en deze breed beschikbaar te maken, kan een organisatie concreet aantonen dat zij bewaartermijnen heeft vastgesteld én technisch afdwingt. Wanneer een label bijvoorbeeld een bewaartermijn van zeven jaar definieert en content daarna automatisch verwijdert, is duidelijk hoe lang persoonsgegevens maximaal beschikbaar blijven en kan dit onderbouwd worden richting toezichthouders zoals de Autoriteit Persoonsgegevens.

Voor overheidsorganisaties en organisaties in de (semi)publieke sector sluit deze maatregel ook direct aan op de Baseline Informatiebeveiliging Overheid (BIO). BIO-controles rondom logging, dossiervorming en het beheer van records vereisen dat informatie gedurende de gehele bewaartermijn betrouwbaar, volledig en toegankelijk is. Door retentielabels te gebruiken als technische representatie van archief- en bewaartermijnen, en deze labels breed te publiceren naar Exchange, SharePoint, OneDrive en Teams, wordt geborgd dat relevante documenten en communicatie consistent worden beheerd. Dit ondersteunt onder meer het kunnen reconstrueren van besluitvorming, het afhandelen van Woo-verzoeken en het leveren van volledige dossiers bij interne en externe onderzoeken.

Ook binnen internationale normen zoals ISO 27001 speelt records management een belangrijke rol. Controle A.18.1.3 richt zich op de bescherming van records en het naleven van wettelijke en contractuele verplichtingen rondom bewaartermijnen. Een goed ingericht stelsel van retentielabels en label policies toont aan dat de organisatie structureel heeft nagedacht over bewaartermijnen, dat deze zijn vertaald naar technische maatregelen en dat er monitoring plaatsvindt om de effectiviteit van die maatregelen te borgen. De combinatie van documentatie, configuratie in Microsoft Purview en periodieke rapportages uit het PowerShell-script levert sterk auditbewijs op dat de organisatie “in control” is.

Voor auditors en toezichthouders is niet alleen de aanwezigheid van labels en policies relevant, maar vooral de aantoonbare werking ervan. Dit betekent dat u naast configuratieschermen ook rapportages moet kunnen tonen waaruit blijkt welke labels op welke locaties beschikbaar zijn, hoe vaak ze worden toegepast en welke content daadwerkelijk is verwijderd of behouden op basis van deze labels. De bijbehorende PowerShell-scripts helpen daarbij door periodiek te controleren of er actieve label policies bestaan die meerdere workloads bestrijken en door afwijkingen te signaleren, bijvoorbeeld wanneer een policy onbedoeld is uitgeschakeld of wanneer een workload niet langer in de scope zit.

Ten slotte is transparantie richting betrokkenen een belangrijk compliance-aspect. Door retentielabels helder te beschrijven, gebruikers te informeren over de betekenis ervan en – waar nodig – privacyverklaringen en interne beleidsdocumenten hierop af te stemmen, ontstaat een consistent verhaal. Burgers, klanten en medewerkers kunnen dan begrijpen hoe lang hun gegevens worden bewaard en op basis waarvan. Dit verlaagt het risico op klachten, versterkt het vertrouwen in de organisatie en zorgt ervoor dat juridische, privacy- en beveiligingsafdelingen gezamenlijk kunnen onderbouwen dat de gekozen aanpak proportioneel, noodzakelijk en rechtmatig is.

Monitoring

Gebruik PowerShell-script retention-labels-published.ps1 (functie Invoke-Monitoring) – Controleert of er actieve label policies bestaan die retentielabels publiceren naar Exchange, SharePoint, OneDrive en Microsoft 365 Groups (Teams)..

Remediatie

Gebruik PowerShell-script retention-labels-published.ps1 (functie Invoke-Remediation) – Biedt een basisconfiguratie voor een publicatiebeleid en geeft beheerders stap-voor-stap instructies wanneer automatische inrichting niet mogelijk is..

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 Controle op publicatie van retentielabels naar alle M365-werkbelastingen .DESCRIPTION Dit script controleert of er één of meer actieve label policies bestaan die retentielabels publiceren naar Exchange, SharePoint, OneDrive en Microsoft 365 Groups (inclusief Teams). Indien geen geschikte policies worden gevonden, kan het script een basispublicatiebeleid aanmaken of geeft het duidelijke handmatige stappen om dit via het Microsoft Purview portal te realiseren. .NOTES Filename: retention-labels-published.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-11-26 Last Modified: 2025-11-26 Version: 1.0 Related JSON: content/m365/data-lifecycle-management/retention-labels-published.json Category: data-lifecycle-management Workload: m365 .LINK https://github.com/m365-tenant-best-practise .EXAMPLE .\retention-labels-published.ps1 -Monitoring Controleert of er actieve label policies zijn die retentielabels publiceren naar alle relevante workloads. .EXAMPLE .\retention-labels-published.ps1 -Remediation Probeert een basis publicatiebeleid te creëren of geeft handmatige stappen als dat niet mogelijk is. #> #Requires -Version 5.1 #Requires -Modules ExchangeOnlineManagement [CmdletBinding()] param( [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation, [Parameter()] [switch]$Revert, [Parameter()] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' # ============================================================================ # HEADER # ============================================================================ Write-Host " ========================================" -ForegroundColor Cyan Write-Host "Retention Labels Published - M365" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "======================================== " -ForegroundColor Cyan # ============================================================================ # FUNCTIONS # ============================================================================ function Get-RetentionLabelPolicies { <# .SYNOPSIS Haalt alle relevante label policies op #> [CmdletBinding()] param() # Get-RetentionCompliancePolicy wordt in zowel retentie- als labelscenario's gebruikt. # We filteren op policies die locaties voor Exchange/SharePoint/OneDrive/ModernGroup bevatten. $policies = Get-RetentionCompliancePolicy -ErrorAction Stop $labelPolicies = $policies | Where-Object { ($_.ExchangeLocation -ne $null -and $_.ExchangeLocation.Count -gt 0) -or ($_.SharePointLocation -ne $null -and $_.SharePointLocation.Count -gt 0) -or ($_.OneDriveLocation -ne $null -and $_.OneDriveLocation.Count -gt 0) -or ($_.ModernGroupLocation -ne $null -and $_.ModernGroupLocation.Count -gt 0) } return $labelPolicies } function Test-Compliance { <# .SYNOPSIS Tests of er publicatiebeleid voor retentielabels aanwezig is #> [CmdletBinding()] param() return Invoke-Monitoring } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige status van label policies #> [CmdletBinding()] param() try { Write-Host "`nMonitoring retentielabel-publicatie:" -ForegroundColor Yellow # Connect to Security & Compliance PowerShell Write-Host " Verbinden met Security & Compliance Center..." -ForegroundColor Gray Connect-IPPSSession -ShowBanner:$false -ErrorAction Stop Write-Host " Ophalen van label/retentie policies..." -ForegroundColor Gray $labelPolicies = Get-RetentionLabelPolicies $result = @{ isCompliant = $false totalPolicies = $labelPolicies.Count fullyScopedPolicies = 0 policiesMissingScope = 0 policyDetails = @() } if ($labelPolicies.Count -eq 0) { Write-Host " Geen policies gevonden met Exchange/SharePoint/OneDrive/ModernGroup locaties." -ForegroundColor Red } else { Write-Host "`n Gevonden policies met locaties voor retentie/labels:" -ForegroundColor Cyan foreach ($policy in $labelPolicies) { $hasExchange = $policy.ExchangeLocation -and $policy.ExchangeLocation.Count -gt 0 $hasSharePoint = $policy.SharePointLocation -and $policy.SharePointLocation.Count -gt 0 $hasOneDrive = $policy.OneDriveLocation -and $policy.OneDriveLocation.Count -gt 0 $hasModernGroups = $policy.ModernGroupLocation -and $policy.ModernGroupLocation.Count -gt 0 $isFullyScoped = $hasExchange -and $hasSharePoint -and $hasOneDrive -and $hasModernGroups -and $policy.Enabled $policyInfo = [PSCustomObject]@{ Name = $policy.Name Enabled = $policy.Enabled HasExchange = $hasExchange HasSharePoint = $hasSharePoint HasOneDrive = $hasOneDrive HasModernGroups = $hasModernGroups IsFullyScoped = $isFullyScoped } if ($isFullyScoped) { $result.fullyScopedPolicies++ $result.isCompliant = $true Write-Host " COMPLIANT policy: $($policy.Name)" -ForegroundColor Green } else { $result.policiesMissingScope++ Write-Host " PARTIËLE policy: $($policy.Name)" -ForegroundColor Yellow Write-Host " Exchange: $hasExchange" -ForegroundColor Gray Write-Host " SharePoint: $hasSharePoint" -ForegroundColor Gray Write-Host " OneDrive: $hasOneDrive" -ForegroundColor Gray Write-Host " M365 Groups: $hasModernGroups" -ForegroundColor Gray Write-Host " Enabled: $($policy.Enabled)" -ForegroundColor Gray } $result.policyDetails += $policyInfo } } Write-Host "`n Samenvatting:" -ForegroundColor Cyan Write-Host " Totaal policies met locaties : $($result.totalPolicies)" -ForegroundColor Gray Write-Host " Volledig gedekte policies : $($result.fullyScopedPolicies)" -ForegroundColor Gray Write-Host " Policies met ontbrekende scope: $($result.policiesMissingScope)" -ForegroundColor Gray if ($result.isCompliant) { Write-Host "`n COMPLIANT: Minimaal één actieve policy publiceert retentielabels naar Exchange, SharePoint, OneDrive en M365 Groups." -ForegroundColor Green exit 0 } else { Write-Host "`n NON-COMPLIANT: Er is geen actieve policy die alle kernwerkbelastingen afdekt." -ForegroundColor Red exit 1 } } catch { Write-Host "`n FOUT: $_" -ForegroundColor Red Write-Host " Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Remediation { <# .SYNOPSIS Probeert een basis publicatiebeleid te creëren of geeft handmatige stappen #> [CmdletBinding()] param() try { Write-Host "`nRemediatie retentielabel-publicatie:" -ForegroundColor Yellow Write-Host " Verbinden met Security & Compliance Center..." -ForegroundColor Gray Connect-IPPSSession -ShowBanner:$false -ErrorAction Stop $labelPolicies = Get-RetentionLabelPolicies if ($labelPolicies | Where-Object { $_.Enabled -and $_.ExchangeLocation -and $_.SharePointLocation -and $_.OneDriveLocation -and $_.ModernGroupLocation }) { Write-Host " Er bestaat al een actieve policy die alle kernwerkbelastingen afdekt." -ForegroundColor Green Write-Host " Geen verdere automatische actie vereist." -ForegroundColor Green exit 0 } $policyName = "M365 Default Retention Labels Publication" if ($WhatIf) { Write-Host "WhatIf: Zou een nieuwe policy '$policyName' creëren met locaties Exchange/SharePoint/OneDrive/M365 Groups." -ForegroundColor Yellow exit 0 } Write-Host " Proberen een basis publicatiebeleid te creëren..." -ForegroundColor Gray try { $policy = New-RetentionCompliancePolicy ` -Name $policyName ` -Comment "Created by Nederlandse Baseline voor Veilige Cloud - Publieke basispolicy voor retentielabels" ` -ExchangeLocation All ` -SharePointLocation All ` -OneDriveLocation All ` -ModernGroupLocation All ` -Enabled $true ` -ErrorAction Stop Write-Host " Policy '$policyName' succesvol aangemaakt." -ForegroundColor Green Write-Host "`n LET OP: koppel in het Microsoft Purview portal de juiste retentielabels aan deze policy." -ForegroundColor Yellow Write-Host " Ga naar: Microsoft Purview > Data Lifecycle Management > Retention labels > Publish labels." -ForegroundColor Gray exit 0 } catch { Write-Host "`n Automatisch aanmaken van een policy is mislukt." -ForegroundColor Red Write-Host " Details: $($_.Exception.Message)" -ForegroundColor Red Write-Host "`n Voer de volgende handmatige stappen uit in het Microsoft Purview portal:" -ForegroundColor Yellow Write-Host " 1. Ga naar Microsoft Purview (compliance.microsoft.com)." -ForegroundColor Gray Write-Host " 2. Navigeer naar Data Lifecycle Management > Retention labels." -ForegroundColor Gray Write-Host " 3. Selecteer 'Publish labels' en maak een nieuwe policy aan." -ForegroundColor Gray Write-Host " 4. Voeg de relevante retentielabels toe (volgens het bewaarschema)." -ForegroundColor Gray Write-Host " 5. Selecteer alle Exchange e-mail, SharePoint-sites, OneDrive-accounts en Microsoft 365 Groups/Teams." -ForegroundColor Gray Write-Host " 6. Sla de policy op en verifieer met -Monitoring dat deze actief is." -ForegroundColor Gray exit 2 } } catch { Write-Host "`n FOUT: $_" -ForegroundColor Red Write-Host " Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Revert { <# .SYNOPSIS Verwijdert uitsluitend de policy die door dit script is aangemaakt #> [CmdletBinding()] param() try { Write-Host "`nRevert retentielabel-publicatie:" -ForegroundColor Yellow Write-Host " WAARSCHUWING: hiermee wordt alléén de policy verwijderd die door dit script is aangemaakt." -ForegroundColor Red Write-Host " Verbinden met Security & Compliance Center..." -ForegroundColor Gray Connect-IPPSSession -ShowBanner:$false -ErrorAction Stop $policyName = "M365 Default Retention Labels Publication" Write-Host " Zoeken naar policy: $policyName..." -ForegroundColor Gray $policy = Get-RetentionCompliancePolicy -Identity $policyName -ErrorAction SilentlyContinue if (-not $policy) { Write-Host " Policy niet gevonden - niets te herstellen." -ForegroundColor Yellow exit 0 } if ($WhatIf) { Write-Host "WhatIf: Zou policy '$policyName' verwijderen." -ForegroundColor Yellow exit 0 } Write-Host " Verwijderen van policy..." -ForegroundColor Gray Remove-RetentionCompliancePolicy -Identity $policyName -Confirm:$false -ErrorAction Stop Start-Sleep -Seconds 3 $verifyRemoval = Get-RetentionCompliancePolicy -Identity $policyName -ErrorAction SilentlyContinue if (-not $verifyRemoval) { Write-Host " Policy succesvol verwijderd." -ForegroundColor Yellow exit 0 } else { Write-Host " Kon policy niet volledig verwijderen." -ForegroundColor Red exit 2 } } catch { Write-Host "`n FOUT: $_" -ForegroundColor Red Write-Host " Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } # ============================================================================ # MAIN EXECUTION # ============================================================================ try { if ($Revert) { if ($WhatIf) { Write-Host "WhatIf: zou configuratie proberen terug te draaien." -ForegroundColor Yellow } else { Invoke-Revert } } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Beschikbare parameters:" -ForegroundColor Yellow Write-Host " -Monitoring : Controleer huidige status" -ForegroundColor Gray Write-Host " -Remediation : Probeer basisconfiguratie toe te passen of geef handmatige stappen" -ForegroundColor Gray Write-Host " -Revert : Verwijder alleen de door dit script aangemaakte policy" -ForegroundColor Gray Write-Host " -WhatIf : Toon wat er zou gebeuren zonder wijzigingen door te voeren" -ForegroundColor Gray } } catch { Write-Error "Error: $_" throw } finally { Write-Host " ======================================== " -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
Medium: Zonder breed gepubliceerde retentielabels worden bewaartermijnen in Microsoft 365 niet consequent afgedwongen, waardoor e-mail, documenten en Teams-conversaties te kort of juist te lang bewaard blijven. Dit vergroot het risico op AVG-overtredingen (met mogelijke hoge boetes), onvolledige dossiervorming voor audits of Woo-verzoeken en een zwakke positie bij juridische procedures omdat cruciale communicatie ontbreekt of ongecontroleerd is gearchiveerd. Daarnaast nemen opslagkosten en datalekrisico’s toe doordat historische data onbeperkt blijft staan zonder helder bewaarbeleid.

Management Samenvatting

Publiceer retentielabels via centrale label policies naar Exchange, SharePoint, OneDrive en Teams zodat bewaartermijnen uit het bewaarschema daadwerkelijk technisch worden afgedwongen. Dit is essentieel voor AVG-naleving, BIO-controle 18.01 en ISO 27001 A.18.1.3, en voorkomt zowel onnodige dataverzameling als te vroege verwijdering. Implementatie vraagt één tot twee werkdagen voor ontwerp, inrichting, testen en documentatie, gevolgd door lichte doorlopende beheerinspanning en periodieke reviews.