logo powershell

Microsoft 365 UPN aanpassen

Bij een bulk aanpassing van UPN suffixes liep ik tegen het probleem aan dat om niet duidelijke redenen slechts 80% van de accounts correct werd gewijzigd. Naar aanleiding daarvan heb ik een case aangemeld bij Microsoft, waarbij ik benadrukte inderdaad een elevated powershell te hebben gebruikt en dat ik inderdaad mijn execution policy op remote-signed had staan.

Daarop kreeg ik van Microsoft het volgende script toegestuurd welke ik hier even wil delen.



Start Powershell ISE en verbind via:

Connect-MsolService

Voer daarna het onderstaande uit

$oldDomain = "steijvers.com"

$newDomain = "susse.net"

$users = Get-MsolUser -All

foreach($user in $users){

if($user.UserPrincipalName.EndsWith("@" + $oldDomain)){Write-Host "$($user.UserPrincipalName) found on old domain" -ForegroundColor Green 

$newupn = $user.UserPrincipalName -split "@" 

try  { 

Set-MsolUserPrincipalName -UserPrincipalName $user.UserPrincipalName -NewUserPrincipalName ($newupn[0] + "@" + $newDomain ) -ErrorAction Stop 

Write-Host "UPN successfully changed for $($user.DisplayName)" -ForegroundColor Cyan

      } 

catch{ 

Write-Host $Error[0] -ForegroundColor Red
     } 

  }

}