Wednesday, September 3, 2014

Controleer je Office 365 MX-records met PowerShell

Als gebruiker van Office 365 dien je een aantal DNS-records te configureren om er zeker van te zijn dat e.e.a. goed werkt. Voor Exchange Online is dit bijvoorbeeld een CNAME voor autodiscover die naar autodiscover.outlook.com verwijst. Informatie over de benodigde records is te vinden in de Office 365 Portal wanneer in de Domains sectio op Manage DNS klikt. Of via deze url: https://portal.office.com/admin/default.aspx#@/Domains/ConfigureDomainWizard.aspx?Scenario=EDomainsSetup&domainName=imara-ict.nl (vervang de domeinnaam aan het eind van de url).

image

In de afgelopen jaren zijn deze records verschillende keren aangepast of aangevuld. Zo werd als MX-record voorheen een algemeen record gebruik zoals bijvoorbeeld mail.global.frontbridge.com of mail.messaging.microsoft.com. Tegenwoordig gebruiken we voor elk domein een specifiek record, op dit moment zijn de twee volgende geldig:

  • contoso-com.mail.eo.outlook.com
  • contoso-com.mail.protection.outlook.com

In de Office 365 Portal wordt momenteel die laatste gebruikt: contoso-com.mail.protection.outlook.com.

Om te controleren welke MX-records jouw organisatie ingesteld heeft staan kun je in Exchange Online PowerShell het Get-MxRecordReport cmdlet gebruiken. Deze geeft voor het domein de volgende informatie:

  • Is het een Accepted Domain?
  • Bestaat er een MX-record?
  • Wat is het MX-record met de hoogste prioriteit (laagste waarde voor prioriteit)?
  • Wat is het bijbehorende IP-adres?
  • Wijst het record naar Exchange Online (Exchange Online Protection EOP) via de mail.protection.outlook.com namespace?

Het cmdlet geeft output voor elke IP-adres wat gevonden wordt voor de betreffende hostnaam. Je kunt het cmdlet uitvoeren voor elk domein, maar het ligt voor de hand om dit alleen voor de domeinen te doen die je daadwerkelijk als accepted domain hebt opgevoerd:

Get-AcceptedDomain | % { Get-MxRecordReport -Domain $_.DomainName } | ft Domain,PointsToService,HighestPriorityMailhost,HighestPriorityMailhostIpAddress -AutoSize

image

Opvallend

Opvallend is dat PointsToService alleen True geeft als één van de twee namespaces voor MX-records wordt gebruikt. Bij de andere optie, die ook gewoon geldig is, krijgen we False terug.

Verder zou Microsoft er goed aan doen om de informatie over de vereiste DNS-records beschikbaar te maken via PowerShell of desnoods een API. De informatie opzoeken in de Portal werkt prima voor incidenteel gebruik maar in grootschalige implementaties zou je deze informatie geautomatiseerd willen benaderen. Gezien het tempo waarin de verbeteringen in Office 365 doorgevoerd worden sluit ik niet uit dat deze functionaliteit nog eens gaat verschijnen.

No comments: