Er is geen directe manier om een lijst met IP-adressen van Active Directory Users and Computers (ADUC) zelf te krijgen. Active Directory slaat gebruikers- en computergegevens op, maar niet de dynamisch toegewezen IP-adressen. IP-adressen worden beheerd door DHCP-servers en zijn doorgaans geen permanente vermeldingen in Active Directory.
Om een lijst met IP-adressen voor computers in Active Directory te verkrijgen, moet u andere hulpmiddelen en technieken gebruiken. Hier zijn een paar benaderingen:
1. PowerShell gebruiken: Dit is de meest efficiënte en flexibele methode.
```powershell
Verkrijg alle computers in een specifieke OU (Organisatie-eenheid). Vervang "OU=Computers,DC=uwdomein,DC=com" door uw OE-pad.
$computers =Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=uwdomein,DC=com"
Verkrijg het IP-adres voor elke computer. Hierbij wordt gebruik gemaakt van Get-WmiObject, waarvoor externe toegang moet zijn ingeschakeld op de doelcomputers.
foreach ($computer in $computers) {
poging {
$ip =(Get-WmiObject -Klasse Win32_ComputerSystem -Computernaam $computer.Naam).IP-adres
Schrijfuitvoer "$($computer.Name):$ip"
}
vangst {
Schrijfwaarschuwing "Kon IP-adres niet ophalen voor $($computer.Name):$($_.Exception.Message)"
}
}
```
Uitleg:
* `Get-ADComputer`:Haalt een lijst met computerobjecten op uit Active Directory. Pas de parameter '-SearchBase' aan om de OE op te geven die uw computers bevat.
* `Get-WmiObject -Class Win32_ComputerSystem`:Haalt WMI-informatie op over het computersysteem, inclusief het IP-adres. Hiervoor zijn de juiste machtigingen en netwerkconnectiviteit vereist.
* `-Computernaam $computer.Name`:Specificeert de computernaam die op afstand moet worden opgevraagd.
* `try...catch`:handelt potentiële fouten af (bijvoorbeeld netwerkproblemen, toegang geweigerd).
Belangrijke overwegingen voor PowerShell:
* Rechten: Het account waarop dit script wordt uitgevoerd, heeft de juiste machtigingen nodig om Active Directory te doorzoeken en toegang te krijgen tot WMI op de externe computers.
* Netwerkconnectiviteit: Zorg ervoor dat de computer waarop het script wordt uitgevoerd, kan communiceren met alle computers in het domein.
* Foutafhandeling: Het `try...catch`-blok is cruciaal. Netwerkproblemen of toestemmingsproblemen zullen fouten veroorzaken, en het `catch`-blok voorkomt dat het script crasht.
* Beheer op afstand: Beheer op afstand moet zijn ingeschakeld op de doelcomputers. Vaak gaat het daarbij om het inschakelen en configureren van de Windows Remote Management (WinRM)-service.
2. Netwerkbewakingstools gebruiken: Tools zoals SolarWinds, PRTG of Nagios kunnen netwerkapparaten monitoren en een inventaris van IP-adressen verstrekken, vaak gekoppeld aan computernamen als ze op de juiste manier worden ontdekt. Deze hulpprogramma's bieden doorgaans geavanceerdere functies en rapportagemogelijkheden dan een eenvoudig PowerShell-script.
3. De database van een DHCP-server gebruiken: Als u DHCP gebruikt om IP-adressen te beheren, beschikt uw DHCP-server over een database met IP-adrestoewijzingen. U kunt deze database raadplegen (de exacte methode is afhankelijk van uw DHCP-serversoftware) om te achterhalen welke IP-adressen aan welke computers zijn toegewezen. Deze methode legt echter geen statisch toegewezen IP-adressen vast.
De juiste methode kiezen:
Voor een snelle, eenmalige controle is het PowerShell-script het meest praktisch. Voor voortdurende monitoring en uitgebreidere rapportage wordt een speciale netwerkmonitoringtool aanbevolen. Het gebruik van de DHCP-server is alleen nuttig als u DHCP voornamelijk gebruikt voor het beheer van IP-adressen. Vergeet niet om altijd prioriteit te geven aan beveiliging en u te houden aan het IT-beleid van uw organisatie bij het openen en beheren van netwerkinformatie. |