Active Directory com nós em vários endereços IP

Active Directory com nós em vários endereços IP

Escrevi um código para buscar informações do usuário em um servidor Active Directory. Suponha que o servidor Active Directory tenha nós, cada um deles sendo outra instalação do Active Directory em uma localização geográfica diferente. Por exemplo: um servidor AD nos EUA e outro na Austrália com um servidor AD raiz nos EUA com os dois primeiros como nós.

As consultas de filtro que escrevo para pesquisar usuários em locais geográficos funcionariam se eu as executasse no servidor AD raiz? A consulta que uso é

(|(objectClass=user)(objectClass=person)(objectClass=inetOrgPerson))

Na verdade, não posso testar esse cenário, mas preciso saber o que acontecerá aqui.

Responder1

O AD é um banco de dados distribuído e multimaster, em termos gerais você pode consultar qualquer um dos Controladores de Domínio sobre um usuário e obter a mesma resposta em qualquer um dos DC (nós).

No AD você pode configurar a replicação de alterações de dados entre servidores, portanto, se um usuário alterar algum atributo na Austrália e você consultar alguns dados no servidor em NY, talvez obtenha respostas diferentes. O administrador do domínio pode informar sobre o horário da replicação no domínio.

Assim que a replicação ocorrer, você terá as mesmas informações em qualquer DC. Normalmente, o tempo de replicação é de cerca de minutos, mas em alguns casos é definido apenas para 1 ou 2 vezes por dia.

Espero que isso responda à sua pergunta.

Responder2

Sua terminologia WRT Active Directory não é precisa. Há duas preocupações que posso ver para você:

  • Consultando a réplica mais próxima do AD
  • Compreender o comportamento das consultas em um ambiente multidomínio

O Catálogo Global mantém um subconjunto do conteúdo de todos os domínios da floresta. Se o uso do termo "nó" se referir a domínios dispersos, as consultas no Catálogo Global permitirão consultar todos os domínios da floresta em uma única consulta (assumindo que os atributos que você está procurando fazem parte do subconjunto replicado no GC).

A localização de um controlador de domínio fisicamente próximo é realizada por meio de uma combinação de consultas DNS e LDAP. Uma pesquisa no Google sobre "dns ldap encontrar o controlador de domínio mais próximo" retorna alguns bons primeiros passos (Encontrando o controlador de domínio mais próximo através do LDAP).

Se você estiver desenvolvendo no Windows, poderá obter a localização do controlador de domínio "de graça" usando a API ADSI.

Responder3

O que não está claro aqui é o que você quer dizer com o termo "nó".

  • Um único domínio do Active Directory com vários controladores de domínio distribuídos geograficamente?
  • Um único domínio com UOs contendo usuários e computadores para cada localização geográfica?
  • Vários domínios representando vários escritórios regionais da empresa?

Contanto que você esteja consultando controladores de domíniodo mesmo domínio, você obterá a mesma respostapara a mesma consultade qualquer um deles (além de problemas de replicação).

Mas se você tiver vários domínios ou quiser consultar subárvores (OUs) específicas de um determinado domínio, obterá respostas diferentes.

Responder4

tenho certeza de que deseja o "OR" "|" operador na consulta, não faz sentido. Você também está equiparando nós a domínios?

Além disso, o seguinte fornecerá um exemplo em que você não precisa de código para testar.

dsquery * domainroot -filter (|(objectClass=usuário)(objectClass=pessoa)(objectClass=inetOrgPerson))" -attr *

mas como eu disse o "OU" | operador não faz sentido.

estranhamente encontrei um bug no código de resposta do serverfaults, será estranho se depois de fazer isso ele desaparecer

informação relacionada