Iedere IT-beheerder die met Microsoft 365 / Entra ID werkt komt vroeg of laat dezelfde vraag tegen:
“Wat is eigenlijk de Tenant ID van dit domein?”
Misschien wil je een API koppelen, een app registratie configureren, een Conditional Access policy testen, of simpelweg controleren bij welke tenant een domein hoort.
Je kunt dit natuurlijk handmatig opzoeken via portals en websites… maar dat is niet altijd even handig.
Dus waarom niet gewoon PowerShell het werk laten doen? 😉
In deze blog laat ik een klein maar handig script zien dat direct de Tenant ID van een Microsoft 365 domein ophaalt.
💡 Wat is een Tenant ID eigenlijk?
Een Tenant ID is de unieke identifier van jouw Microsoft 365 / Entra ID omgeving.
Hij ziet er meestal zo uit:
a1b2c3d4-1234-5678-90ab-abcdef123456
Microsoft gebruikt deze GUID voor onder andere:
- API authenticatie
- Azure / Entra integraties
- App registrations
- Multi-tenant applicaties
- SSO configuraties
- PowerShell modules
Veel scripts en tools vragen daarom expliciet om een Tenant ID in plaats van een domeinnaam.
🧠 De slimme truc achter dit script
Microsoft heeft een endpoint dat gebruikt wordt door Office Online om te bepalen bij welke tenant een domein hoort.
Dat endpoint is:
https://odc.officeapps.live.com/odc/v2.1/federationprovider
Als je daar een domein aan meegeeft, krijg je metadata terug — inclusief de Tenant ID.
Het script maakt simpelweg een REST call naar dit endpoint en haalt de Tenant ID eruit.
Simpel, snel en verrassend effectief.
⚙️ Het PowerShell script
Onderstaand script maakt een functie Get-TenantId die je kunt gebruiken voor elk Microsoft 365 domein.
function Get-TenantId {
[CmdletBinding()]
param (
[Parameter(
Position = 0,
Mandatory = $true,
HelpMessage = "Voer een domeinnaam in, bijvoorbeeld contoso.com"
)]
[ValidateNotNullOrEmpty()]
[string]$Domain
) try {
$uri = "https://odc.officeapps.live.com/odc/v2.1/federationprovider?domain=$Domain" $response = Invoke-RestMethod `
-Uri $uri `
-Method Get `
-ErrorAction Stop if ($response.tenantId) {
return $response.tenantId
}
else {
Write-Warning "Geen Tenant ID gevonden voor domein: $Domain"
return $null
}
}
catch {
Write-Error "Het ophalen van de Tenant ID is mislukt voor domein '$Domain'. Details: $($_.Exception.Message)"
return $null
}
}
▶️ Hoe gebruik je het script?
Heel simpel.
Stap 1
Plak de functie in je PowerShell sessie of script.
Stap 2
Voer het commando uit met een domein:
Get-TenantId contoso.com
Output:
a1b2c3d4-1234-5678-90ab-abcdef123456
Binnen een paar milliseconden weet je dus exact bij welke tenant het domein hoort.
🛠 Praktische use-cases
Ik gebruik dit soort scripts regelmatig in situaties zoals:
🔹 Troubleshooting
Wanneer een klant meerdere tenants heeft en je wilt checken waar een domein echt hoort.
🔹 Multi-tenant scripts
Automatisch tenants detecteren op basis van domeinnamen.
🔹 Security checks
Controleren of een domein daadwerkelijk bij een tenant hoort.
🔹 Integraties
Bijvoorbeeld bij:
- Graph API scripts
- SaaS integraties
- Entra ID automation
- provisioning tools
⚠️ Kleine kanttekening
Het script werkt alleen wanneer:
- het domein bestaat in Microsoft 365
- het domein publiek resolvebaar is
Voor interne of niet-gebruikte domeinen krijg je mogelijk geen resultaat.
🚀 Waarom dit script handig is
Dit is typisch zo’n script dat:
- klein is
- snel werkt
- maar enorm veel tijd bespaart
Geen portals openen.
Geen GUID’s zoeken.
Gewoon:
Get-TenantId domein.nl
En klaar.
🧑💻 Tip: maak er een toolbox van
Als je vaker met Microsoft 365 werkt, is het handig om een PowerShell toolbox script te maken met functies zoals:
- Get-TenantId
- Get-TenantDomain
- Get-GraphToken
- Get-M365Licenses
Zo bouw je langzaam je eigen admin toolkit.
📌 Conclusie
Soms zijn de beste scripts niet de grootste… maar juist de kleinste.
Deze functie doet maar één ding — een Tenant ID ophalen — maar doet dat snel, betrouwbaar en zonder gedoe.
Perfect voor je PowerShell toolbox of automation scripts.