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
}
}
}