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-Key: 117721

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

Printed on: April 19, 2024 at 23:04 o'clock

Member: Logan000
Logan000 Jun 08, 2009 at 13:30:20 (UTC)
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.
Member: Steffen2009
Steffen2009 Jun 09, 2009 at 09:42:03 (UTC)
Goto Top
Cool, vielen Dank. Ich habe es noch etwas abgeändert und es funktioniert.