DHCP Einträge anderer Clients checken
Hallo Leute,
wie kann ich am einfachsten dhcp Einträge von Windows 7 Clients in unserer Domäne überprüfen? Habe die Aufgabe nachzusehen welche Clients auf DHCP eingestellt sind und welche nicht und welche Clients einen DHCP Eintrag haben....
kann ich das mit nem Tool machen oder am besten ueber CMD???
wie kann ich am einfachsten dhcp Einträge von Windows 7 Clients in unserer Domäne überprüfen? Habe die Aufgabe nachzusehen welche Clients auf DHCP eingestellt sind und welche nicht und welche Clients einen DHCP Eintrag haben....
kann ich das mit nem Tool machen oder am besten ueber CMD???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 181118
Url: https://administrator.de/forum/dhcp-eintraege-anderer-clients-checken-181118.html
Ausgedruckt am: 18.07.2025 um 01:07 Uhr
5 Kommentare
Neuester Kommentar

moin,
am einfachsten?
Am DHCP Server direkt bzw. die Kisten, die in der Domain existieren und sich nicht am DHCP angemeldet haben müssen eine feste Adresse haben.
Per cmd? - sind denn auch alle Rechner identisch oder haben die unterschiedliche NICs?
am einfachsten?
Am DHCP Server direkt bzw. die Kisten, die in der Domain existieren und sich nicht am DHCP angemeldet haben müssen eine feste Adresse haben.
Per cmd? - sind denn auch alle Rechner identisch oder haben die unterschiedliche NICs?

ist der DHCP Server keiner der DNS Systeme?
Wenn ja..
ungetestet aus der Hüfte geschossen - wobei es da egal wäre, ob die Nic baugleich sind oder nicht.
Wenn nein - grübel - ich brauch sowas nicht
ich hab meine Datenbank 
Wenn ja..
wmic nicconfig where index=7|findstr /c: "ip.des.dhcp.servers" && echo %computername%_hat_dhcp>>\\server\logs\log.log||echo %computername%_hat_kein_dhcp>>\\server\logs\log.log
ungetestet aus der Hüfte geschossen - wobei es da egal wäre, ob die Nic baugleich sind oder nicht.
Wenn nein - grübel - ich brauch sowas nicht
Das geht remote ja.
Es gibt eine WMI-Schnittstelle namens "Win32_NetworkAdapterConfiguration". Die hat ein Werte namens "DHCPEnabled" und "IPAddress". Diese kann man remote abfragen. z.B. mit VBScript.
Siehe Script unten. Damit sollte es gehen. Als Domain-Administrator laufen lassen. Starten mit CSCRIPT. Abwarten und Geduld. Das Script ist ganz primitiv und prüft nicht ob ein Computer online ist. Deshalb dauert es etwas, wenn ein Client mal nicht erreichbar ist, weil aus oder weil Leiche im ADS.
On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
DomainDN = GetObject("LDAP:RootDSE").Get("DefaultNamingContext")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Properties("ADSI Flag") = 1
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT sAMAccountName,dNSHostName FROM 'LDAP:" & DomainDN & "' where objectclass='computer'"
Set objRecordSet = objCommand.Execute
While not objRecordSet.EOF
sAMAccountName = ""
sAMAccountName = objRecordSet.Fields("sAMAccountName").Value
dNSHostName = ""
dNSHostName = objRecordSet.Fields("dNSHostName").Value
If dNSHostName<>"" Then
Set objWMIService = Nothing
Set colItems = Nothing
Set objWMIService = GetObject("winmgmts:\\" & dNSHostName & "\root\cimv2")
If Not objWMIService Is Nothing Then
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration",,48)
If Not colItems Is Nothing Then
For Each objItem in colItems
If objItem.IPEnabled Then
DHCP = False
IPs = ""
DHCP = objItem.DHCPEnabled
IPs = objItem.IPAddress
If IsArray(IPs) Then
For Each IP In IPs
WScript.Echo Replace(sAMAccountName,"$","") & vbTab & DHCP & vbTab & IP
Next
Else
WScript.Echo Replace(sAMAccountName,"$","") & vbTab & DHCP & vbTab & IPs
End If
End If
Next
End If
End If
End If
objRecordSet.MoveNext
Wend
Es gibt eine WMI-Schnittstelle namens "Win32_NetworkAdapterConfiguration". Die hat ein Werte namens "DHCPEnabled" und "IPAddress". Diese kann man remote abfragen. z.B. mit VBScript.
Siehe Script unten. Damit sollte es gehen. Als Domain-Administrator laufen lassen. Starten mit CSCRIPT. Abwarten und Geduld. Das Script ist ganz primitiv und prüft nicht ob ein Computer online ist. Deshalb dauert es etwas, wenn ein Client mal nicht erreichbar ist, weil aus oder weil Leiche im ADS.
On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
DomainDN = GetObject("LDAP:RootDSE").Get("DefaultNamingContext")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Properties("ADSI Flag") = 1
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT sAMAccountName,dNSHostName FROM 'LDAP:" & DomainDN & "' where objectclass='computer'"
Set objRecordSet = objCommand.Execute
While not objRecordSet.EOF
sAMAccountName = ""
sAMAccountName = objRecordSet.Fields("sAMAccountName").Value
dNSHostName = ""
dNSHostName = objRecordSet.Fields("dNSHostName").Value
If dNSHostName<>"" Then
Set objWMIService = Nothing
Set colItems = Nothing
Set objWMIService = GetObject("winmgmts:\\" & dNSHostName & "\root\cimv2")
If Not objWMIService Is Nothing Then
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration",,48)
If Not colItems Is Nothing Then
For Each objItem in colItems
If objItem.IPEnabled Then
DHCP = False
IPs = ""
DHCP = objItem.DHCPEnabled
IPs = objItem.IPAddress
If IsArray(IPs) Then
For Each IP In IPs
WScript.Echo Replace(sAMAccountName,"$","") & vbTab & DHCP & vbTab & IP
Next
Else
WScript.Echo Replace(sAMAccountName,"$","") & vbTab & DHCP & vbTab & IPs
End If
End If
Next
End If
End If
End If
objRecordSet.MoveNext
Wend