none
[Resolvido] Alterar contas com sobrenome composto via PowerShell RRS feed

  • Pergunta

  • Bom dia.

    Estou em fase de implementação do Lync Server/Skype for Business e me deparei com uma caca do passado em meu AD: Contas onde o sobrenome (surname) possui mais de uma palavra. Exemplo:

    Primeiro nome: joao
    Sobrenome: da Silva Sauro
    Displayname: joao da silva sauro

    Usuarios que possuem email em meu exchange, onde o atributo Proxyaddress consta com o SMTP eu consegui resolver com este script:

    foreach ($user in (Get-ADUser -SearchBase "OU=TESTE_UPN,DC=LAB,DC=df,DC=br" -LdapFilter '(proxyAddresses=*)')) {
        # Pega o SMTP do atributo ProxyAddress
        $address = Get-ADUser $user -Properties proxyAddresses | Select -Expand proxyAddresses | Where {$_ -clike "SMTP:*"}
        # Remove o "SMTP:" do inicio do valor do atributo
        $newUPN = $address.SubString(5)
        # Atualiza o UPN com o novo valor
        Set-ADUser $user -UserPrincipalName $newUPN
        }

    Mas inúmeras contas não possuem e-mail em meu Exchange 2013 e por motivos de infra não posso criar no momento. Me veio a mente a função SPLIT do PowerShell, mas confesso que estou apanhando pra ela de modo que não estou conseguindo sair do outro lado com esta questão. :(

    Alguem aqui ja passou por isso? Como resolveu?

    No caso da função SPLIT resolver mesmo, como eu consigo passar seu resultado para uma variável para, então, usa-la com o set-aduser?? Alguém com uma luz?? XD

    EDIT:

    Resolvido \o/
    Com o auxilio do pessoal de uma comunidade do Powershell no Facebook consegui resolver o dilema.

    Vou utilizar o atributo DisplayName para formar o Surname:

    foreach ($user in (Get-ADUser -SearchBase "OU=TESTE_UPN,DC=LAB,DC=df,DC=br" -filter * -properties displayName )) {
    $array = ($user.displayname).tostring().split(" ")
    Set-ADUser $user -surname $array[-1]
    }

    Desta forma o sobrenome que era "da Silva Sauro" ficou apenas "sauro" XD

    • Editado Lacerda Adrecal segunda-feira, 9 de maio de 2016 07:35 Resolução
    segunda-feira, 9 de maio de 2016 04:28