none
Preencher First Name e Last Name baseado no DisplayName RRS feed

  • Pergunta

  • Olá a todos!

    Por algum motivo os usuários no meu Active Directory possuem o campo First Name e Last Name vazios na propriedade da conta do usuário. Apenas o campo Display Name possui informação. Como no exemplo abaixo:

    

    E agora estamos em uma implementação o Lync Server que requer que ambos os campos estejam preenchidos.
    Alguem sabe alguma forma de inserir essas informações de forma automatizada?

    Desde já obrigado!


    Jonathan Santos | http://jonathanrsantos.wordpress.com MCP | MCSA | MCSA Messaging | MCSE | MCITP Exchange 2010 | MCITP Lync Server


    quarta-feira, 27 de fevereiro de 2013 01:47

Respostas

  • Jonathan,

    Tente este PowerShell

    Import-Module activedirectory
    Get-ADUser -filter {samaccountname -eq "fjr"} -Properties * | foreach-object {
    	"Verificando "+ $_.Samaccountname
    	
    	$NomeCompleto = $_.DisplayName
    	$PrimeiroNome = $NomeCompleto.split(" ")[0]
    	#$UltimoNome = $NomeCompleto.split(" ")[1..10]
    	$UltimoNome = $NomeCompleto -replace "$PrimeiroNome ",""
    
    	"Nome Completo: $NomeCompleto"
    	"Primeiro Nome: $PrimeiroNome"
    	"Ultimo Nome  : $UltimoNome"
    
    	set-aduser -Identity $_.Samaccountname -GivenName $PrimeiroNome -Surname $UltimoNome
    }

    Eu pego o primeiro nome e uso com Primeiro Nome, o restante do nome vai para o ultimo nome. Isso é um problema em nome compostos (ex Ana Maria), mas aí vc tem que tratar caso a caso.

    No script eu coloque um filtro pra pegar somento o usuário com Login=fjr, faça um teste com apenas um usuário seu, se funcionar você pode trocar o filtro para pegar todos os usuários, assim:

    -filter *


    Fábio de Paula Junior

    sexta-feira, 1 de março de 2013 02:58
    Moderador

Todas as Respostas

  • Jonathan,

    Tente este PowerShell

    Import-Module activedirectory
    Get-ADUser -filter {samaccountname -eq "fjr"} -Properties * | foreach-object {
    	"Verificando "+ $_.Samaccountname
    	
    	$NomeCompleto = $_.DisplayName
    	$PrimeiroNome = $NomeCompleto.split(" ")[0]
    	#$UltimoNome = $NomeCompleto.split(" ")[1..10]
    	$UltimoNome = $NomeCompleto -replace "$PrimeiroNome ",""
    
    	"Nome Completo: $NomeCompleto"
    	"Primeiro Nome: $PrimeiroNome"
    	"Ultimo Nome  : $UltimoNome"
    
    	set-aduser -Identity $_.Samaccountname -GivenName $PrimeiroNome -Surname $UltimoNome
    }

    Eu pego o primeiro nome e uso com Primeiro Nome, o restante do nome vai para o ultimo nome. Isso é um problema em nome compostos (ex Ana Maria), mas aí vc tem que tratar caso a caso.

    No script eu coloque um filtro pra pegar somento o usuário com Login=fjr, faça um teste com apenas um usuário seu, se funcionar você pode trocar o filtro para pegar todos os usuários, assim:

    -filter *


    Fábio de Paula Junior

    sexta-feira, 1 de março de 2013 02:58
    Moderador
  • Obrigado! Funcionou 100% para mim.
    terça-feira, 12 de março de 2013 12:22