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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 117721
Url: https://administrator.de/contentid/117721
Printed on: April 23, 2024 at 16:04 o'clock
2 Comments
Latest comment
Moin moin
Ich hab in meiner "Grabbelkiste" diese VBS Skript gefunden.
Das soltest du eigentlich "umsetzen" können.
Gruß L.
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.