winlin
Goto Top

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???

Content-Key: 181118

Url: https://administrator.de/contentid/181118

Printed on: May 10, 2024 at 08:05 o'clock

Mitglied: 60730
60730 Feb 27, 2012 at 12:18:23 (UTC)
Goto Top
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?
Member: winlin
winlin Feb 27, 2012 at 12:21:27 (UTC)
Goto Top
Hi,

also die NIC´s sind alle gleich...Dachte das ich ueber CMD das ganze mal checken könnte. Habe auch ne Linux Adminkiste mit der ich das checken könnte.
Mitglied: 60730
60730 Feb 27, 2012 at 12:35:50 (UTC)
Goto Top
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 face-wink ich hab meine Datenbank face-wink
Member: emeriks
emeriks Feb 27, 2012 at 13:14:42 (UTC)
Goto Top
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
Member: winlin
winlin Feb 27, 2012 at 14:01:25 (UTC)
Goto Top
hallo,

danke für das skript. habe es gerade mal gestartet und es läuft nochface-smile
Hotly discussed
LinuxeroWireguard with systemd and nftablesLinuxero - 9 Comments