Usuário com melhor resposta
Exportar Usuário AD

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
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
- Marcado como Resposta William V. de Sousa sexta-feira, 27 de setembro de 2013 14:41
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
- Marcado como Resposta William V. de Sousa sexta-feira, 27 de setembro de 2013 14:41
-
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. -
-
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.