steffen2009
Goto Top

WMI Mac Adresse ohne Administratorrechte auslesen

Hallo, ich benötige mal wieder eure Hilfe.

Ich habe mir mit VB.net ein Programm geschrieben, dass anzeigt, welche PC´s gerade im Netzwerk online sind. Nun ist mein Problem, dass die Computer immer eine neue IP Adresse besitzen und dann meine Daten aus der Datenbank nicht mehr zu dem Computer und der IP Adresse passen. Deshalb würde ich die gern die Mac Adresse auslesen. Das funktioniert auch soweit, aber wenn ich in einer Domäne angemeldet bin, dann kann ich mich ja nicht an der zweiten Domäne gleichzeitig als Administrator anmelden und das Programm ausführen. Deshalb würde ich das Programm auch gern als ,,normaler" Benutzer ausführen wollen, so dass er auf der zweiten Domäne die Mac Adresse auch ohne Administratorrechte ausliest. Weis jemand, wie ich das mit der Benutzeranmeldung in WMI lösen könnte?

Content-ID: 117721

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

Ausgedruckt am: 26.11.2024 um 19:11 Uhr

Logan000
Logan000 08.06.2009 um 15:30:20 Uhr
Goto Top
Moin moin

Ich hab in meiner "Grabbelkiste" diese VBS Skript gefunden.
Das soltest du eigentlich "umsetzen" können.

pc = "PCname"  
user = Administrator"  
password = "Adminpasswort"  
set wmi = CreateObject("WBemScripting.SWbemLocator")  
Set cs = wmi.ConnectServer(pc,"root/cimv2",user,password)  
set col = cs.ExecQuery _
("SELECT IPAddress, Caption, ServiceName, MACAddress, DefaultIPGateway, IPSubnet " _  
& " FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE")  
li = ""  
for each obj in col
li = li & "Name: " & obj.Caption & " / " & obj.ServiceName & vbcr  
li = li & "MacAdresse: " & obj.MacAddress & vbcr  
if Not IsNull(obj.IPAddress) then
For i = LBound(obj.IPAddress) to UBound(obj.IPAddress)
li = li & "IP-Adresse: " & (obj.IPAddress(i)) & vbcr  
Next
End If
if Not IsNull(obj.IPSubnet) then
For i = LBound(obj.IPSubnet) to UBound(obj.IPSubnet)
li = li & "Subnetmaske: " & (obj.IPSubnet(i)) & vbcr  
Next
End If
if Not IsNull(obj.DefaultIPGateway) then
For i = LBound(obj.DefaultIPGateway) to UBound(obj.DefaultIPGateway)
li = li & "Gateway: " & (obj.DefaultIPGateway(i)) & vbcr  
Next
End If
li = li & vbcr
next
msgbox(li)

Gruß L.
Steffen2009
Steffen2009 09.06.2009 um 11:42:03 Uhr
Goto Top
Cool, vielen Dank. Ich habe es noch etwas abgeändert und es funktioniert.