Мне было интересно, если кто-то может помочь, у нас есть пользователи в нашей организации, которые используют адрес электронной почты в верхнем регистре, некоторые приложения не могут распознать это и дают сбой. Я разработал приведенный ниже скрипт для изменения имени пользователя и отображаемых имен в нижнем регистре, однако это не меняет их адрес электронной почты. Я не хочу создавать новые почтовые ящики, так как несколько сотен пользователей имеют неправильный формат. Если бы кто-то мог указать мне правильное направление, это было бы очень полезно.
#Install-module AzureAD
#Connect-AzureAD
$Users = Get-azureADUser -filter "userPrincipalName eq 'User1@MyDomain.com'"
$ErrorActionPreference = 'Stop'
$OutputObj = New-Object -TypeName PSobject
$OutputObj1 = New-Object -TypeName PSobject
$SuccessOutput = @()
$ErrorOutput = @()
$Case = "toLower"
Function ChangeToLowerCase{
Try{
foreach ($user in $users) {
$user | Set-AzureADUser -userPrincipalName $user.userPrincipalName.$Case()
$user | Set-AzureADUser -identity $user.SipProxyAddress.$Case()
#$User | Select-Object DisplayName, userPrincipalName,Mail
$OutputObj | Add-Member -memberType NoteProperty -name "Display Name" -value $($user.DisplayName)
$OutputObj | Add-Member -memberType NoteProperty -name "UPN" -value $($user.userPrincipalName)
$OutputObj | Add-Member -memberType NoteProperty -name "Email Address" -value $($user.Mail)
$SuccessOutput +=$OutputObj
$SuccessOutput | Export-csv "C:\Temp\Powershell\Completed\UPN Changes.csv" -NoTypeInformation -NoClobber -Append
}
}
Catch{
$OutputObj1 | Add-Member -memberType NoteProperty -name "Display Name" -value $($user.DisplayName)
$OutputObj1 | Add-Member -memberType NoteProperty -name "Error Message" -value $($_.Exception.Message)
$ErrorOutput +=$OutputObj1
$ErrorOutput | Export-csv "C:\Temp\Powershell\Errors\UPN Changes Error.csv" -NoTypeInformation -NoClobber -Append
}
}
ChangeToLowerCase
Я смотрю на свойство Set-AzureAduser, однако я не могу изменить свойство mail в этой переменной.