locked
DSGET ou DSQUERY RRS feed

  • Pergunta

  • Pessoal, boa tarde.

    Preciso de fazer uma consulta um pouco chata por aqui e não estou conseguindo fazer.
    Tenho um grupo chamado "GrupoPai", onde dentro dele tem vários "GruposFilhos" e dentro desses grupos tem as contas de usuário. Preciso listar todas as contas de usuário presentes dentro do grupão pai e depois conseguir e-mail e usuário de rede.

    Fiz a seguinte query que exporta certinho os GruposFilhos e também os usuários dentro dos grupos filhos.
    dsget group "CN=GrupoPai,OU=Grupos,DC=dominio,DC=local" -expand -members > okok.txt

    Porém, preciso destes dados pra conseguir o e-mail e usuário de rede deste pessoal (que não são todos do domínio).

    Cmo devo fazer isso?! Tentei a linha abaixo, mas sem sucesso, pois quando segundo dsget vai atuar, ele vê que existem grupos também e não aceita a flag user.
    dsget group "CN=GrupoPai,OU=Grupos,DC=dominio,DC=local" -expand -members | dsget user -email > okok.txt

    Obrigado desde já.

    []s
    Victor Fonseca.


    MSN: victorfonseca1988@hotmail.com
    terça-feira, 4 de agosto de 2009 15:20

Respostas

  • Olá,

    Utilize a sintaxe:

    dsget group cn=grupoPai,OU=grupos,dc=dominio,dc=local -members|dsget group -members -expand|dsget user -fn -ln -email


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    terça-feira, 4 de agosto de 2009 15:42
  • Primeiramente, obrigado Jesiel.

    Tentei rodar a linha que me passou, mas tive alguns problemas. Acontece que eu não expliquei totalmente como é a estrutura aqui. Dê uma olhada:

    GrupoPai
        1 usuário (diretor)
        GrupoFilho1
              Usuários
        GrupoFilho2
              Usuário (gerente)
              GrupoNeto1
                    Usuários
              GrupoNeto2
                    Usuários
              GrupoNeto3
                    Usuários 
        GrupoFilho3

    Ou seja, em todos os níveis abaixo do GrupoPai, tenho usuários e Grupos..

    Será que fazer uma dsquery * domainroot -filter não é mais fácil? O único problema que estou encontrando é que não acho a opção de recursividade nesse comando e sendo assim eu só consigo pegar os usuários que estão ligados logo abaixo o GrupoPai, no caso o Diretor!!

    Obrigado mais uma vez!

    []s
    Victor.
       
    MSN: victorfonseca1988@hotmail.com MCP, MCTS
    terça-feira, 4 de agosto de 2009 17:18
  • Opa!! Essa query deu quase certo...

    dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(memberOf=CN=grupoPai,OU=Grupos,DC=doinio,DC=local))" -attr sAMAccountname cn mail  > c:\teste.txt

    Mas como falei antes, isso resolveu apenas o usuário que está dentro do grupo "grupoPai".. se tivesse alguma opção para colocar o comando para olhar dentro dos grupos filhos, seria uma boa..

    Alguma sugestão?

    Valeu!
    Victor Fonseca.
    MSN: victorfonseca1988@hotmail.com MCP, MCTS
    • Sugerido como Resposta André Cangussu quarta-feira, 5 de agosto de 2009 16:23
    • Marcado como Resposta Erick Albuquerque terça-feira, 15 de março de 2011 19:15
    terça-feira, 4 de agosto de 2009 19:32

Todas as Respostas

  • Olá,

    Utilize a sintaxe:

    dsget group cn=grupoPai,OU=grupos,dc=dominio,dc=local -members|dsget group -members -expand|dsget user -fn -ln -email


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    terça-feira, 4 de agosto de 2009 15:42
  • Primeiramente, obrigado Jesiel.

    Tentei rodar a linha que me passou, mas tive alguns problemas. Acontece que eu não expliquei totalmente como é a estrutura aqui. Dê uma olhada:

    GrupoPai
        1 usuário (diretor)
        GrupoFilho1
              Usuários
        GrupoFilho2
              Usuário (gerente)
              GrupoNeto1
                    Usuários
              GrupoNeto2
                    Usuários
              GrupoNeto3
                    Usuários 
        GrupoFilho3

    Ou seja, em todos os níveis abaixo do GrupoPai, tenho usuários e Grupos..

    Será que fazer uma dsquery * domainroot -filter não é mais fácil? O único problema que estou encontrando é que não acho a opção de recursividade nesse comando e sendo assim eu só consigo pegar os usuários que estão ligados logo abaixo o GrupoPai, no caso o Diretor!!

    Obrigado mais uma vez!

    []s
    Victor.
       
    MSN: victorfonseca1988@hotmail.com MCP, MCTS
    terça-feira, 4 de agosto de 2009 17:18
  • Opa!! Essa query deu quase certo...

    dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(memberOf=CN=grupoPai,OU=Grupos,DC=doinio,DC=local))" -attr sAMAccountname cn mail  > c:\teste.txt

    Mas como falei antes, isso resolveu apenas o usuário que está dentro do grupo "grupoPai".. se tivesse alguma opção para colocar o comando para olhar dentro dos grupos filhos, seria uma boa..

    Alguma sugestão?

    Valeu!
    Victor Fonseca.
    MSN: victorfonseca1988@hotmail.com MCP, MCTS
    • Sugerido como Resposta André Cangussu quarta-feira, 5 de agosto de 2009 16:23
    • Marcado como Resposta Erick Albuquerque terça-feira, 15 de março de 2011 19:15
    terça-feira, 4 de agosto de 2009 19:32