Laatst bijgewerkt:

Microsoft Purview eDiscovery

Portaal
purview.microsoft.com
Documentatie
Microsoft Learn
Ik gebruik het voor
Postvakken uit Microsoft 365 verzamelen, ter plaatse met een gerechtsdeurwaarder.

Draait de mail van een bedrijf in Microsoft 365, dan zitten de postvakken in de cloud en niet op de computers ter plaatse. Met Purview eDiscovery haal je ze daar rechtstreeks op: je plaatst een hold, zoekt en exporteert, zonder een toestel van de betrokkene aan te raken. Vermeld dat in het verslag. Het verklaart waarom je via de beheerder van andermans omgeving werkt in plaats van een schijf te kopiëren. Ik stelde die vraag zelf op Microsoft Q&A. Het antwoord van de community: de beheerder kan de mail van een ontslagen medewerker ophalen met eDiscovery, zolang die binnen de bewaartermijn valt en de rechten er zijn. Dat is een forumantwoord, geen officiële Microsoft-uitspraak.

Vooraf nagaan

Of een bedrijf Microsoft 365 gebruikt, zie je in de publieke DNS. Eindigt het MX-record op mail.protection.outlook.com, dan draait de mail op Exchange Online en kan de opdracht van op afstand. Je hebt dan wel iemand nodig die de omgeving beheert en je toegang geeft.

Toegang

Ook een beheerder kan niet zomaar exporteren: de eDiscovery-rechten moeten apart toegekend worden. Regel dat zoveel mogelijk op voorhand. Lukt dat niet met zekerheid, zorg dan minstens dat je een rechtstreekse lijn hebt met wie de omgeving uiteindelijk beheert, voor het geval er ter plaatse iets misgaat. Bij een eenzijdige opdracht kun je niets voorbereiden, en dan hang je af van de medewerking van wie ter plaatse beheert. Kijk bij het aanmelden meteen of je een export kunt starten. Welke rolgroep wat mag, staat op Microsoft Learn: Assign permissions in eDiscovery.

Zo werk ik:

  • Een tijdelijk account op mijn naam, aangemaakt door de beheerder, met het wachtwoord via een eenmalige link. Nooit de wachtwoorden van gebruikers en nooit een gedeeld account, zodat het auditlog toont wie wat deed.
  • Een InPrivate-venster, en een lege downloadmap die niet met de cloud synchroniseert.
  • Na de download vraag ik de beheerder schriftelijk om het account te verwijderen, met bevestiging van het uur. Het openen en het sluiten van de toegang komen allebei in het verslag.

Werk in purview.microsoft.com. Het Azure-portaal web.purview.azure.com draagt dezelfde naam, maar dient voor iets anders en geeft een foutmelding.

eDiscovery (Standard) volstaat voor hold, zoeken en export. Premium heb je niet nodig. Start ook geen proefversie in andermans omgeving.

De stappen

  1. Maak een nieuwe case aan, genoemd naar je eigen dossierreferentie. Bestaande cases laat je ongemoeid.
  2. Maak een zoekopdracht met de postvakken uit de opdracht als bron.
  3. Plaats vanuit die zoekopdracht een hold op de volledige postvakken, en wacht tot de status On is.
  4. Stel de datum in, bekijk de statistieken en start de export.
  5. Download, bereken de hashes en controleer.
  6. Zet de hold uit en laat het account verwijderen.

Eerst de hold

Verwijderde mail blijft in Exchange Online standaard veertien dagen terug te halen. Daarna is ze weg, tenzij er een hold of een bewaarbeleid actief is. Plaats de hold dus bij de eerste toegang, nog voor je zoekt. Noteer in het verslag hoeveel tijd er tussen de betekening en de hold zat: wat in die periode gewist werd, kun je niet meer vaststellen.

Na de export en de controle zet je de hold uit met Turn off. Verwijder hem niet, dan blijft hij zichtbaar in de case. Microsoft houdt daarna nog dertig dagen een delay hold aan. Een hold zonder einddatum laten staan gaat meestal verder dan de beschikking vraagt.

Eerst de hold Tijdlijn: tussen de betekening en de hold kan mail definitief verdwijnen. Daarna: hold aan, zoeken en exporteren, controleren, hold uit, account verwijderd. wissen nog mogelijk betekening hold aan eerste toegang zoeken, export download, hash, controle hold uit Turn off, niet verwijderen account weg Het rode stuk komt als beperking in het verslag: wat toen gewist werd, valt niet meer vast te stellen.

De datum: Purview rekent in UTC

Purview rekent in UTC, en een bereik als (Date=2025-03-31..2025-12-31) telt beide grensdagen mee. Een Belgische periode die om middernacht begint, begint in UTC al op de avond ervoor. Laat de zoekopdracht daarom een dag vroeger starten, en haal die extra dag er achteraf uit op basis van de Belgische tijd. Aan het einde schuift om dezelfde reden een uur of twee van de volgende dag mee.

Belgische periode tegenover de query in UTC De opgelegde periode in Belgische tijd begint om middernacht. In UTC is dat de dag ervoor. De query begint daarom een dag vroeger; de margedag en het laatste uur gaan er achteraf uit. Opgelegde periode Belgische tijd 1 april 00:00 31 december 24:00 Query in Purview Date=2025-03-31..2025-12-31, UTC dekt de hele periode margedag ± 1 u Rood: zit in de ruwe export, gaat achteraf uit de afgebakende set, op basis van de Belgische tijd.

Ook dit doet de aantallen verschuiven:

  • Purview voegt gedeeltelijk geïndexeerde items toe, los van je zoekopdracht. Daar kunnen mails tussen zitten van ver buiten de periode.
  • De statistieken vooraf zijn een schatting en kunnen enkele items afwijken. Tel op de export en het rapport.
  • Bij agenda-items is het veld Date de begindatum van de afspraak, niet de ontvangst. Een uitnodiging die binnen de periode binnenkwam voor een latere afspraak, hoort er dus bij.

Noteer elk verschil en de verklaring. Wat buiten de periode valt, laat je uit de afgebakende set. In de ruwe export blijft het staan, met een vermelding.

Exportinstellingen

  • Eén PST per postvak, zodat de herkomst in de bestandsnaam staat.
  • De mappenstructuur behouden. Anders zie je de oorspronkelijke mappen alleen nog in het rapport.
  • Geïndexeerde én gedeeltelijk geïndexeerde items.
  • Geen ontdubbeling. Elk postvak moet volledig zijn, ook als dezelfde mail in twee postvakken zit.
  • De standaard pakketgrootte (PST 5 GB, ZIP 10 GB). Een grote mailbox komt dan in meerdere PST’s. Bereken van elke PST een aparte hash.

Hoe lang het duurt

In mijn opdrachten duurde een export van een halfuur voor enkele duizenden items tot bijna drie uur voor een volledige mailbox. Is het kort, dan blijf ik ter plaatse tot de download en de controle klaar zijn. Duurt het lang, dan doe ik de laatste stappen vanaf mijn kantoor.

Controle na de download

Bereken eerst de hash van de ZIP en laat dat bestand daarna onaangeroerd. Pak uit naar een aparte map en bereken de hash van elke PST.

Doe dan een smoketest, een steekproef eigenlijk. Gaat de ZIP open? Laadt een mail als je ze met de hand opent, en is de tekst leesbaar? Open er een of twee, willekeurig gekozen, en leg vast hoe je ze koos. Lees niet verder dan nodig, zeker niet als het privécorrespondentie is. Van alle controles hieronder is dit de belangrijkste.

Bij de export hoort een rapport met CSV-bestanden: de items, de locaties, de gebruikte instellingen en een samenvatting. Daarop baseer je de telling. In de instellingen zie je achteraf welke exportopties aan stonden.

  • Tel de items in elke PST per map, zonder de PST te wijzigen, en vergelijk met het rapport.
  • Neem geen aantallen over uit Outlook. Het getal naast een map is soms het aantal ongelezen items.
  • Outlook schrijft in een PST zodra je hem opent. Open altijd een kopie.
  • Kijk welke mappen er zijn. Chats uit Teams en Skype zitten in de postbus en komen mee, ook als de opdracht alleen over e-mail gaat. Verwijderde items die nog terug te halen zijn, zitten in een aparte map.

Vraagt de opdracht geen inhoudelijke analyse, dan stopt de controle hier: oudste en nieuwste item, mappen en aantallen. Schrijf in het verslag dat je niet verder gekeken hebt.

Twee sets: A en B

Een export van een volledige mailbox bevat bijna altijd meer dan de opdracht vraagt. Wat een partij te zien krijgt, beslist de rechter. Daarom maak ik twee sets:

  • A: de ruwe export, volledig en ongewijzigd, met hashwaarden. Die bewaar ik beveiligd.
  • B: de afgebakende set, met wat zeker binnen de opdracht valt. Die lever ik af.

Beide staan beschreven in het verslag.

De A/B-splitsing De persoonsgebonden export splitst in categorie A, het bronmateriaal dat beveiligd bewaard blijft, en categorie B, de productie die geleverd wordt. De rechter beslist over de scope, niet de deskundige. Persoonsgebonden export Categorie A bronmateriaal, hashwaarden beveiligd bewaard, niet geleverd Categorie B afgebakende set: onbetwist binnen de opdracht, wordt geleverd Wie categorie B te zien krijgt, beslist de rechter, niet de deskundige.

Afleveren aan een advocaat

Met alleen een PST kan een advocaat weinig beginnen. Ik lever daarom één map met:

  • de ruwe PST’s, ongewijzigd. Wie geen Outlook heeft, kan ze bekijken in de gratis GoldFynch PST Viewer, die het bestand in de browser leest zonder het op te laden;
  • elke mail als apart .eml-bestand, met een volgnummer in de naam. Dat opent met een dubbelklik, met de bijlagen erbij;
  • een Excel-lijst met per mail het nummer, de map, de datum in Belgische tijd, afzender, ontvangers, onderwerp, bijlagen en een link naar het bestand;
  • een LEESMIJ.txt die uitlegt wat waar staat en wat buiten de periode viel;
  • een manifest met de SHA-256 van elk bestand.

PDF’s maak ik niet op voorhand. De advocaat maakt die zelf van de mails die hij als stuk wil gebruiken, want bij het omzetten gaat metadata verloren.

Een .eml uit een PST is een reconstructie. Bij ontvangen mail blijven de oorspronkelijke headers bewaard, bij verzonden mail, concepten en agenda-items worden ze opnieuw opgebouwd. De ruwe PST blijft dus de referentie. Vermeld dat in het verslag.

Test het uitpakken zoals de ontvanger het doet: met de uitpakfunctie van Windows, in een map met een lang pad, bijvoorbeeld onder OneDrive. Onderwerpen van mails maken al snel paden van meer dan 260 tekens, en emoji in een onderwerp geven bestandsnamen die niet overal openen. Kort daarom het onderwerp in de bestandsnaam in, met alleen gewone tekens, en behoud nummer en datum. Leg de oude en de nieuwe namen vast in een apart bestand. De inhoud van de .eml verandert daardoor niet.

Hoe ik de map verstuur: Boomerang en tweekanaalsoverdracht.

Bronnen

Purview verandert geregeld van schermnamen. Bij twijfel volg je de documentatie: