Não existe uma maneira direta de obter uma lista de endereços IP dos próprios usuários e computadores do Active Directory (ADUC). O Active Directory armazena informações de usuário e computador, mas não seus endereços IP dinamicamente atribuídos. Os endereços IP são gerenciados por servidores DHCP e normalmente não são entradas persistentes no Active Directory.
Para obter uma lista de endereços IP para computadores no Active Directory, você precisa usar outras ferramentas e técnicas. Aqui estão algumas abordagens:
1. Usando PowerShell: Este é o método mais eficiente e flexível.
`` `PowerShell
Obtenha todos os computadores em uma OU específica (unidade organizacional). Substitua "OU =computadores, dc =yourDomain, dc =com" pelo seu caminho OU.
$ computers =get -adcomputer -filter * -searchbase "ou =computadores, dc =yourDomain, dc =com"
Obtenha o endereço IP para cada computador. Isso usa Get-WmioBject, que requer acesso remoto a ser ativado nos computadores de destino.
foreach ($ computador em $ computers) {
tentar {
$ ip =(get -wmiobject -class win32_computersystem -computername $ computador.name) .ipaddress
Write-Output "$ ($ computer.name):$ ip"
}
pegar {
Write-wearning "Não foi possível recuperar o endereço IP para $ ($ comput.name):$ ($ _. Exception.Message)"
}
}
`` `
Explicação: * `Get-adcomputer`:recupera uma lista de objetos de computador do Active Directory. Ajuste o parâmetro `-searchBase` para especificar a OU que contém seus computadores.
* `Get -wmioBject -Class Win32_ComputerSystem`:Recupera as informações da WMI sobre o sistema de computador, incluindo seu endereço IP. Isso requer permissões apropriadas e conectividade de rede.
* `-ComputerName $ Computer.Name`:especifica o nome do computador para consultar remotamente.
* `Tente ... Catch`:lida com possíveis erros (por exemplo, problemas de rede, acesso negado).
Considerações importantes para PowerShell: *
Permissões: A conta executando esse script precisa de permissões apropriadas para consultar o Active Directory e acessar o WMI nos computadores remotos.
*
Conectividade de rede: Verifique se o computador executando o script pode se comunicar com todos os computadores no domínio.
*
Manuseio de erro: O bloco `Try ... Catch` é crucial. Problemas de rede ou problemas de permissão causarão erros, e o bloco `Catch` impede que o script trave.
*
Gerenciamento remoto: O gerenciamento remoto deve ser ativado nos computadores de destino. Isso geralmente envolve ativar e configurar o serviço Windows Remote Management (WinRM).
2. Usando ferramentas de monitoramento de rede: Ferramentas como Solarwinds, PRTG ou Nagios podem monitorar dispositivos de rede e fornecer um inventário de endereços IP, geralmente vinculados a nomes de computadores, se forem descobertos corretamente. Essas ferramentas geralmente oferecem recursos mais sofisticados e recursos de relatórios do que um simples script do PowerShell.
3. Usando o banco de dados de um servidor DHCP: Se você usar o DHCP para gerenciar endereços IP, seu servidor DHCP terá um banco de dados contendo atribuições de endereço IP. Você pode consultar este banco de dados (o método exato depende do software do servidor DHCP) para descobrir quais endereços IP estão atribuídos a quais computadores. No entanto, esse método não captura endereços IP atribuídos estaticamente.
Escolhendo o método certo: Para uma verificação rápida e única, o script do PowerShell é o mais prático. Para monitoramento contínuo e relatórios mais abrangentes, recomenda -se uma ferramenta de monitoramento de rede dedicada. O uso do servidor DHCP só é útil se você usar principalmente o DHCP para gerenciamento de endereços IP. Lembre -se de sempre priorizar a segurança e aderir às políticas de TI da sua organização ao acessar e gerenciar informações de rede.