PowerShell: Alterando nomes de usuários do AD


Quem nunca já foi a um cliente e se deparou com umas coisas estranhas, pode ter certeza que um dia se deparará.
Um exemplo disso um aluno perguntou como conseguiria resolver um problema que encontrou num cliente onde todos os usuários do AD (Active Directory) estam com nome EM LETRAS MAIúSCULAS.
Então catei um *.ps dos guardados e mandei pra ele. Daí percebi que faz sentido compartilhar aqui:
# Importe o modulo
Import-Module ActiveDirectory
# Obtenha todos os usuario
$users = Get-ADUser -Filter * -Property Name
# Loop through each user
foreach ($user in $users)
{
# Verifique quais usuarios estão com nomes em caixa alta
if($user.Name -ceq $user.Name.ToUpper())
{
# Converte a primeira letra de cada sentença em maiuscula e o restante em minuscula
$newName = (Get-Culture).TextInfo.ToTitleCase($user.Name.ToLower())
# Seta essa informação no objeto de usuário.
Set-ADUser -Identity $user.SamAccountName -GivenName $newName
Write-Host "Updated name for $($user.SamAccountName) to $newName"
}
}
Espero que ajude.
0 comentário