Массовое изменение UPN-суффиксов при миграции между облачными сервисами — например, при переезде с Microsoft 365 в Яндекс 360. Делимся PowerShell-скриптом, который автоматизирует задачу на большом числе учётных записей.
Добрый день, уважаемый читатель!
Очень давно не писал, было много дел. К примеру, наша команда разработала и создала инструмент для переноса данных между облачными сервисами. Примером такого переноса может быть переезд компании с Microsoft 365 в Яндекс 360.
Как правило миграция данных подразумевает много дополнительных действий с доменами и учетными записями пользователей. К вариант, для отключения публичного домена от M365 надо освободить его т всех ссылающихся учетных записей. Это не сложно, когда учеток 10 или 20. Но когда их становится больше 50, то примитивная механическая работа может занять достаточно много времени.
Мы немного автоматизировали этот процесс с помощью PowerShell-скрипта:
Connect-MSOLService
$oldUser = Get-MsolUser -All | Where-Object -Property UserType -eq Member
# Запросить у пользователя ввод
$sourceupn = Read-Host -Prompt "Введите исходный UPN-суффикс"
$targetupn = Read-Host -Prompt "Введите целевой UPN-суффикс"
foreach ($user in $oldUser){
$NewUserName = $user.UserPrincipalName
if ($NewUserName.Contains($sourceupn)){
$NewUserName = $NewUserName.Replace($sourceupn, $targetupn)
$user.UserPrincipalName
$NewUserName
Set-MsolUserPrincipalName -UserPrincipalName $user.UserPrincipalName -NewUserPrincipalName $NewUserName
}
}
Скрипт достаточно простой. Если надо расписать логику его работы - пишите в комментариях.
Спасибо за прочтение! Всем процветания.
