none
Script que verifica e-mail e me retorna o login dos usuarios RRS feed

  • Pergunta

  • Boa tarde!

    Preciso de um script que em uma lista .txt ou .csv eu adiciono todos os e-mails dos usuarios. Com isso, este script verifica o e-mail e me retorna o login de cada um.

    Exemplo:

    fulano@contoso.com

    teste@contoso.com

    Sendo assim, ele me retornaria o login:

    fno

    tes

    Se alguém conseguir me ajudar, agradeço.


    Douglas Urbano

    quarta-feira, 1 de outubro de 2014 16:17

Respostas

  • Douglas,

    Use o PowerShell com módulo ActiveDirecory

    1) Leia linha por linha do arquivo quem contém a lista de e-mails

    2) Use Get-AdUser para localizar o usuário, exemplo

    Get-ADUser -Filter {mail -eq "fabio.junior@teste.com.br"}

    No comando abaixo você substitui o e-mail pela linha que você está lendo.

    Colocando o resultado da linha acima em uma váriavel aí só falta escrever em um arquivo

    3) Use Add-Content para escrever o SamAccountName.

    Não testei, mas deve ser algo assim:

    Import-Module ActiveDirectory
    
    #Cria arquivo de saída
    $Arq_Resultado = "c:\teste\resultado.txt"
    Set-Content -Path $Arq_Resultado -Value "E-mail;Login"
    
    #1-Lê linha por linha
    Foreach($Linha in (Get-Content "C:\teste\listadeemails.txt")){
    
        #2-Localiza usuário
        $Usuario = Get-ADUser -Filter {mail -eq $Linha}
    
        #3-Escreve o resultado, se não econtrou vai sair com login em branco
        Add-Content -path $Arq_Resultado -Value ($Linha + ";" + $Usuario.SamAccountName  )
       
    }

    Ref.:

    Get-ADUser

    http://technet.microsoft.com/pt-br/library/ee617241.aspx


    Fábio de Paula Junior

    • Marcado como Resposta Douglas Urbano quinta-feira, 2 de outubro de 2014 14:34
    quinta-feira, 2 de outubro de 2014 13:48
    Moderador

Todas as Respostas

  • Douglas,

    Use o PowerShell com módulo ActiveDirecory

    1) Leia linha por linha do arquivo quem contém a lista de e-mails

    2) Use Get-AdUser para localizar o usuário, exemplo

    Get-ADUser -Filter {mail -eq "fabio.junior@teste.com.br"}

    No comando abaixo você substitui o e-mail pela linha que você está lendo.

    Colocando o resultado da linha acima em uma váriavel aí só falta escrever em um arquivo

    3) Use Add-Content para escrever o SamAccountName.

    Não testei, mas deve ser algo assim:

    Import-Module ActiveDirectory
    
    #Cria arquivo de saída
    $Arq_Resultado = "c:\teste\resultado.txt"
    Set-Content -Path $Arq_Resultado -Value "E-mail;Login"
    
    #1-Lê linha por linha
    Foreach($Linha in (Get-Content "C:\teste\listadeemails.txt")){
    
        #2-Localiza usuário
        $Usuario = Get-ADUser -Filter {mail -eq $Linha}
    
        #3-Escreve o resultado, se não econtrou vai sair com login em branco
        Add-Content -path $Arq_Resultado -Value ($Linha + ";" + $Usuario.SamAccountName  )
       
    }

    Ref.:

    Get-ADUser

    http://technet.microsoft.com/pt-br/library/ee617241.aspx


    Fábio de Paula Junior

    • Marcado como Resposta Douglas Urbano quinta-feira, 2 de outubro de 2014 14:34
    quinta-feira, 2 de outubro de 2014 13:48
    Moderador
  • Fabio!

    Muito obrigado, funcionou.


    Douglas Urbano

    quinta-feira, 2 de outubro de 2014 14:34
  • Boa tarde, Fábio

    Uso este script que funciona perfeitamente, agora, surgiu uma demanda, na qual eu preciso lê o login e retornar.

    Distinguishedname, mail, title, description, enabled

    Destes, apenas consigo extrair o Distinguishedname, enabled

    Sabe o que pode ser, que não consigo extrair o mail, title, mail e description?

    Obrigado


    Douglas Urbano

    sexta-feira, 19 de junho de 2015 16:31