Listando todos os nomes e IPs das máquinas Windows

2

Eu gostaria de listar todos os nomes de máquinas de um domínio e seu ip atual se eles estiverem on-line. Estou pensando em usar dsquery no controlador de domínio para listar todas as máquinas .

Eu estou querendo saber:

  • Funcionará se eu tiver distribuído controladores de domínio em vários locais?
  • Preciso executá-lo no controlador de domínio primário?
  • Existe uma alternativa?
por elhoim 07.02.2012 / 09:37

2 respostas

2
  1. Sim. Você geralmente executa uma consulta em um controlador de domínio e nem todos eles. Os dados são replicados para todos os sites. A consulta representa o estado do site atual, que pode diferir de outro devido aos tempos de replicação. Para obter o contas de computador você não precisa de um servidor DNS, mas as zonas DNS pode não estar atualizado como Mathias disse.
  2. Não, a leitura de contas de computador de um diretório ativo pode ser feito de qualquer máquina no domínio (exceto a leitura negada por alguma razão, o que geralmente não é o caso). O mesmo é verdade para consultas de DNS
  3. Sim. Veja abaixo

Eu recomendo usar o powershell. Quando você tem uma máquina com o Windows 7 ou o Vista (com o ingresso no domínio), é possível instalar o RSAT e use os cmndlets fornecidos

Get-ADComputer -Filter * | Select-Object DNSHostName, @{name="Ip";Expression={(Test-Connection $_.DNSHostname -Count 1).IPV4Address.IPAddressToString}}

Esse código fornece o dnsname e o endereço ipv4 atual (se estiver em execução; usando o cmdlet test-connection).

    
por 07.02.2012 / 11:50
1

3 respostas a 3 perguntas:

  1. Você pode perceber que as zonas DNS não estão atualizadas se você empregar agendas especiais de replicação entre seus sites.
  2. Você não precisa executá-lo contra o PDC Emulator (ou PDC se você, Deus o proíba, ainda usa o NT4), mas se você quiser recuperar informações em computadores em mais de um domínio na floresta, você pode deseja executá-lo no Catálogo Global
  3. Se você usar o Microsoft DHCP em sua rede local, use o comando a seguir para mostrar as concessões ativas de clientes: Netsh dhcp server scope 10.0.0.0 show clients

Eu provavelmente usaria o VBScript ou o PowerShell para fazer o seguinte:

  1. Execute uma pesquisa LDAP no Catálogo global, filtrando o atributo operatingsystem
  2. Para cada registro retornado, execute a pesquisa de DNS no servidor DNS local
  3. Consulte cada computador com o WMI (apenas uma consulta simples) para garantir que esteja on-line
por 07.02.2012 / 09:57