none
Exportar Usuário AD RRS feed

  • Pergunta


  • Bom dia Pessoal,

    Preciso de um script que exporte todos os usuários do AD trazendo cn samAccountName mail whencreated

    estava utilizando o DSQUERY mas o que preciso agora é exportar os usuários somente ignorando os presentes em uma OU.

    Exemplo de minha estrutura:

    dominio.com

      OU_1

          OU_1.1

          OU_1.2

      OU_2

      OU_3

          OU_3.1

          OU_3.2

      OU_4

      OU_5

      OU_6

      OU_7

    Preciso ignorar em meu levantamento todos os usuários presentes na OU_3 , OU_3.1 e OU_3.2

    Obrigado desde já.

    Aceito qualquer sugestão.


    • Editado Fábio JrModerator quinta-feira, 26 de setembro de 2013 14:52 Tags sobrando no inicio do post
    quinta-feira, 26 de setembro de 2013 13:27

Respostas

  • William,

    Eu não sei qual o comando você usou no DSQUERY, mas poderia usar algum tipo de query que exclua os items que vc quer, uma outra forma é filtrar o seu resultado.

    Exemplo, digamos que seu arquivo de resultado tenha as seguintes linhas:

    cn=fabio,ou=OU_7,dc=xxxxx
    cn=ciclano,ou=OU_3,dc=xxxxx
    cn=beltrano,ou=OU_3.1,dc=xxxxx
    cn=william,ou=OU_3.2,dc=xxxxx
    cn=junior,ou=OU_2,dc=xxxxx

    Você pode usar o findstr para filtrar o seu arquivo.

    Na seta amarela: Listei o conteudo do arquivo teste.txt (seria o seu arquivo com resultado atual)

    Na azul: fiz um filtro para que retornasse todas as linhas que não contenham OU_3

    Na verde: Listei o arquivo teste2.txt com o resultado do filtro.


    Fábio de Paula Junior

    quinta-feira, 26 de setembro de 2013 15:02
    Moderador

Todas as Respostas

  • William,

    Eu não sei qual o comando você usou no DSQUERY, mas poderia usar algum tipo de query que exclua os items que vc quer, uma outra forma é filtrar o seu resultado.

    Exemplo, digamos que seu arquivo de resultado tenha as seguintes linhas:

    cn=fabio,ou=OU_7,dc=xxxxx
    cn=ciclano,ou=OU_3,dc=xxxxx
    cn=beltrano,ou=OU_3.1,dc=xxxxx
    cn=william,ou=OU_3.2,dc=xxxxx
    cn=junior,ou=OU_2,dc=xxxxx

    Você pode usar o findstr para filtrar o seu arquivo.

    Na seta amarela: Listei o conteudo do arquivo teste.txt (seria o seu arquivo com resultado atual)

    Na azul: fiz um filtro para que retornasse todas as linhas que não contenham OU_3

    Na verde: Listei o arquivo teste2.txt com o resultado do filtro.


    Fábio de Paula Junior

    quinta-feira, 26 de setembro de 2013 15:02
    Moderador
  • Fabio,

    Obrigado pelo retorno.
    Fiz o teste e infelizmente não deu certo, vou detalhar melhor a forma como estou fazendo.

    Estou utilizando o seguinte comando no DSQUERY:

    dsquery * dc=dominio,dc=corp -limit 10000 -filter "(&(objectCategory=person)(objectClass=User)(!userAccountControl:1.2.840.113556.1.4.803:=2))" -attr cn samAccountName mail whencreated distinguishedname -uco >ExportUser.txt

    Ele gera o arquivo com as informações da seguinte maneira:

    Abel Silva  Asilva   abel.silva@empresa.com.br 09/08/2009 20:28:37 CN=Abel Silva,OU=Parana,DC=dominio,DC=corp                                   
    Fabio Lima  Flima    fabio.lima@empresa.com.br 02/10/2007 19:25:37 CN=Fabio Lima,OU=Desligados,DC=dominio,DC=corp                                   
    João Souza  Jsouza   joao.souza@empresa.com.br 07/12/2008 17:27:37 CN=Joao Souza,OU=Parana,DC=dominio,DC=corp                                   

    Executei o seguinte comando no DOS conforme sua orientação:

    C:\> findstr /v ",OU=Desligados," ExportUser.txt > ExportUser2.txt

    No primeiro arquivo ExportUser.txt ele exportou os 1800 usuários que tenho em meu AD, após o comando
    ele gerou o arquivo ExpotUser2.txt com o mesmo conteúdo do primeiro.

    Obrigado desde já pela atenção.
    sexta-feira, 27 de setembro de 2013 12:35
  • William,

    Muito estranho, veja o teste que fiz com a sua informação.


    Fábio de Paula Junior

    sexta-feira, 27 de setembro de 2013 13:13
    Moderador
  • Fabio,

    Deu certo. Após o teste que você mencionou peguei o conteúdo do arquivo e salvei em um novo arquivo TXT, acredito que não tenha dado certo

    devido ao formato unicode que estava sendo gerado o arquivo (-uco do comando).

    Copiando para um novo arquivo o comando que você passou funcionou perfeitamente.

    Obrigado pela ajuda.

    sexta-feira, 27 de setembro de 2013 14:41