vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB Skript (VBS)
Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: ananda
Datum: 18.03.10 09:32

Hallo,

Ich möchte die MAC-Adressen per VBScript in einer Liste anzeigen lassen und per Knopfdruck in die Zwischenablage kopieren.
Mein Problem ist, dass Ich mit VBScript es nich schaffe eine Liste auszugeben.
Im folgenden Beispiel muss Ich immer erst mit OK bestätigen um das nächste Objekt anzeigen zu lassen. Ich möchte aber alle Objekte auf einmal sehen.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_NetworkAdapterConfiguration",,48) 
For Each objItem In colItems
If NOT objItem.MACAddress = "" Then
  Wscript.Echo "MACAddress: " & objItem.MACAddress
  End If
 
Next
p.s. Ich weiß, dass es mit cmd oder C# funktioniert, aber cmd ist für die meisten User schon zu kompliziert und c# erfordert immer das .NET Framework.
Vielleicht hat ja Jemand eine Idee wie Ich das Lösen könnte.

Gruss ananda
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: vbInsider
Datum: 18.03.10 10:18

Hi Ananda,

das wscript.echo erzeugt eine Messagebox und die muss man immer wegklicken,
damit der Prozess weiter läuft.

Versuchs mal mit:
Response.write
mfg

vb@rchiv iGoogle Gadget gibts hier:
http://www.google.de/ig/directory?q=vbarchiv&hl=de&root=%2Fig&dpos=top&url=gadgets.hemken.org/gadgets/vbarchiv/vbarchivnews.xml

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: ananda
Datum: 23.03.10 09:32

Wenn Ich Response.write verwende erhalte Ich folgende Fehlermeldung:

Fehler: Objekt erforderlich: 'Response'
Code: 800A0A1A8
Quelle: Laufzeitfehler in Microsoft VBScript
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: vbInsider
Datum: 23.03.10 11:31

Also so kriegst du die MAC Adressen auf jeden Fall in eine Textdatei:
cscript c:\DiesesScript.vbs > c:\Ausgabe.txt

vb@rchiv iGoogle Gadget gibts hier:
http://www.google.de/ig/directory?q=vbarchiv&hl=de&root=%2Fig&dpos=top&url=gadgets.hemken.org/gadgets/vbarchiv/vbarchivnews.xml

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: Elwood
Datum: 23.03.10 11:45

Hallo ananda,
wir wissen leider nicht, was hinter "response" steht. Hier fehlt der Objekt-Verweis.
Du kannst natürlich Wscript.Echo verwenden, solltest dann aber den Script-Interpreter entweder umstellen, oder das Script (einfacher) wie folgt aufrufen:
cscript.exe DeinScript.vbs
Standardmäßig ist nämlich der Wscript.exe als Interpreter eingestellt und durch diesen Aufruf wird das Script mit dem Console-Script-Interpreter ausgeführt.
Das hat zur Folge, dass die Message-Boxen, die normalerweise durch Wscript.Echo erzeugt werden als Textausgaben nach Stdout (also in das Console-Fenster) ausgegeben werden

ciao
Elwood

Wer sp?ter bremst, ist l?nger schnell

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: ananda
Datum: 30.03.10 11:31

Mit cscript werden alle Werte in der Konsole angezeigt. Gibt es jetzt die Möglichkeit alle Werte in einem Windows-Fenster anzuzeigen? Wenn das nicht geht, kann Ich beim Ausführen der vbs-Datei automatisch cscript verwenden, ohne gleich den Interpreter im System umzustellen?

Das Script sieht folgendermaßen aus:

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_NetworkAdapterConfiguration",,48) 
 
For Each objItem in colItems
 
 if NOT objItem.MACAddress = "" Then
	Wscript.Echo "MACAddress: " & objItem.MACAddress
  end if
 
Next
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: mayho
Datum: 07.04.10 09:58

Hi!

Also ein Möglichkeit die mir einfällt wäre folgende.

######CODE
Dim Ausgabe
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_NetworkAdapterConfiguration",,48)
For Each objItem In colItems
If NOT objItem.MACAddress = "" Then
Ausgabe = "MACAddress: " & objItem.MACAddress & vbcrlf
End If

Next

msgbox Ausgabe
#####Code

Bei jedem Durchlauf der For Each- Schleife speicherst du eine Zeile und bewirkst einen Zeilenvorschub mit vbcrlf

in der Ausgabe sieht das dann schön formatiert aus

Wer sagt: "Alles ist m?glich!" ist entweder ein Genie oder dem Wahnsinn verfallen. Ich bin ein Genie!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: ananda
Datum: 07.04.10 10:36

Hab es gerade unter Windows 7 getestet. Jetzt wird nur noch eine von sechs Mac-Adressen angezeigt. Nach Klick auf OK beendet sich das Script.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: mayho
Datum: 07.04.10 12:13

Hi!

Bei mir lest das Scriopt alle Adapter aus.
Du hast nur den localen Adapter abgefragt. Willst du alle PC aus einer Range abfragen musst du das explizit angeben bei strComputer = "."

Bsp:

Dim Ausgabe
strComputer = ".|IP1|IP2|IP3" 'hier die IP der PC eintragen die du auslesen willst. der Punkt ist der locale PC

Computers = Split(strComputer, "|") 'Teilt strComputer in ein array auf
lencomputers = UBound(computers) 'liest die Menge des Array

x = 0
Do Until x >= lencomputers +1
Set objWMIService = GetObject("winmgmts:\\" & Computers(x) & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_NetworkAdapterConfiguration",,48)
For Each objItem In colItems
If NOT objItem.MACAddress = "" Then
Ausgabe = Ausgabe & "MACAddress: " & objItem.MACAddress & vbcrlf
End If

Next
x = x + 1
Loop
msgbox Ausgabe

Der Rest ist eine formatierungssache

MAyho

Wer sagt: "Alles ist m?glich!" ist entweder ein Genie oder dem Wahnsinn verfallen. Ich bin ein Genie!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: ananda
Datum: 09.04.10 09:43

Schon mal vielen Dank für deine Hilfe.
Ich möchte nur die MAC-Adressen vom lokalen PC auslesen. Der Code von deinem Beitrag zeigt mir aber nur eine Mac-Adresse an, obwol der lokale PC 5 Mac-Adressen hat. Unter XP mit zwei MAC-Adressen wird ebenfalls nur eine Adresse angezeigt.
Das Script soll alle MAC-Adressen vom PC gleichzeitig in einem Fenster anzeigen.

Hier noch mal der Code, der nur eine MAC vom lokalen PC anzeigt:

Dim Ausgabe
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_NetworkAdapterConfiguration",,48)
For Each objItem In colItems
If NOT objItem.MACAddress = "" Then
Ausgabe = "MACAddress: " & objItem.MACAddress & vbcrlf
End If
 
Next
 
msgbox Ausgabe


Beitrag wurde zuletzt am 09.04.10 um 09:55:46 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: mayho
Datum: 09.04.10 12:49

Hm. Interessant. Ich habs unter XP Pro uner W7 Ultimate versucht und da ließt er brach alle MACs aus. Eventuell sind die Adapter deaktiviert?

Wer sagt: "Alles ist m?glich!" ist entweder ein Genie oder dem Wahnsinn verfallen. Ich bin ein Genie!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Alle MAC-Adressen mit VBScript in einer Liste anzeigen? 
Autor: ananda
Datum: 13.04.10 14:17

Nein, deaktiviert sind diese nicht.
Das folgende Script gibt die Adressen immer noch nacheinander aus, sprich an den Netzwerkadaptern kann es nicht liegen.
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_NetworkAdapterConfiguration",,48) 
For Each objItem in colItems
' 00:1F:D0:2E:AE:B6
 
' if objItem.MACAddress <> "" Then'
 if NOT objItem.MACAddress = "" Then
  Wscript.Echo "MACAddress: " & objItem.MACAddress
  end if
 
Next
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel