Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Wie kann man mit VBS eine MAC Adresse in eine Var schreiben?

Mitglied: MichaZ

MichaZ (Level 1) - Jetzt verbinden

15.08.2007, aktualisiert 17.08.2007, 7439 Aufrufe, 7 Kommentare

Hallo Leute...

suche eine einfache Möglichkeit per VBS die Lokale MAC des Hosts in eine Variable zu schreiben...

mfg
michA
Mitglied: gemini
15.08.2007 um 10:22 Uhr
Hallo MichaZ,

01.
Option Explicit 
02.
Dim objWMIService, colAdapters, objAdapter, strMAC, strComputer 
03.
strComputer = "." 
04.
Set objWMIService = GetObject("winmgmts:" _ 
05.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
06.
Set colAdapters = objWMIService.ExecQuery _ 
07.
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 
08.
For Each objAdapter in colAdapters 
09.
   strMAC = objAdapter.MACAddress 
10.
MsgBox strMAC 
11.
Next
Wenn mehrere Netzwerkkarten aktiv sind, wird strMAC jeweils überschrieben.
In solch einem Fall könntest du WHERE entspr. einschränken, je nachdem welche Informationen der Konfiguration dir vorliegen. Bspw.
01.
WHERE IPAddress = aaa.bbb.ccc.ddd 
02.
WHERE Caption = xxxxxxxxxxxx 
03.
WHERE Description = xxxxxxxxxxx
HTH,
gemini
Bitte warten ..
Mitglied: MichaZ
15.08.2007 um 11:18 Uhr
Hallo "gemini

Danke erst mal für die Hilfe

naja es sollte immer die erste Karte sein

also müsste man dann mit WHERE Description = LAN-Verbindung
arbeiten ?!?!
Bitte warten ..
Mitglied: gemini
15.08.2007 um 11:55 Uhr
Hi,

teste doch einfach, was zurückgegeben wird.

Wenn nur eine Karte eingebaut ist, onboard- und virtuelle Karten (Cisco-Client, VMware etc.) zählen hier mit, kann WHERE ... auch ganz weggelassen werden.

Gruß,
gemini
Bitte warten ..
Mitglied: MichaZ
15.08.2007 um 13:56 Uhr
er gibt alle MAC's der Reihe nach zurück...

muss mal schaun ob das etwas ausmacht...
brauche den Wert der ersten für eine SQL-Abfrage...
aber da bastel ich gerade noch dran... das klappt noch nich..
Bitte warten ..
Mitglied: bastla
15.08.2007 um 18:30 Uhr
Hallo MichaZ!

Wenn's nur der erste Wert sein soll, könntest Du ja einfach
01.
strMAC = objAdapter.MACAddress
durch
01.
If strMAC = "" Then strMAC = objAdapter.MACAddress
ersetzen ...

Grüße
bastla
Bitte warten ..
Mitglied: MichaZ
16.08.2007 um 08:17 Uhr
Danke bastla für die Hilfe...

kannst du mir das vielleicht noch kurz erklären wie das ganze geht???

mfg
michA
Bitte warten ..
Mitglied: bastla
17.08.2007 um 21:41 Uhr
Hallo MichaZ!

Das "Ganze" ist in erster Linie eine WMI-Abfrage (schau Dir dazu einmal WMI Code Creator oder Scriptomatic und für den Background zB die msdn WMI Reference an), welche eine Collection (Aufzählung) liefert - in diesem Fall eben alle "NetworkAdapter". Mit einer "For Each"-Schleife kannst Du die alle durchgehen und die gewünschte(n) Eigenschafte(n) - im konkreten Fall etwa "MACAddress" - jedes Elements auslesen.

Da Du nur vom ersten Element den Wert mitnehmen wolltest, prüft meine "If"-Zeile einfach, ob schon eine MAC-Adresse in der Variablen "strMAC" steht und nur, wenn noch keine da ist, wird die Adresse des aktuellen Elements in die Variable geschrieben. Ohne diese Prüfung (und ohne Verwendung eines Arrays) würde bei jedem Schleifendurchlauf der Variableninhalt neu gesetzt, so dass am Schluss eben die letzte gefundene MAC-Adresse gespeichert wäre.

Zumeist wird es aber sinnvoller sein, wie von gemini vorgeschlagen, entweder bei der WMI-Abfrage schon eine Bedingung einzubauen oder in der Auswertungsschleife noch eine andere Eigenschaft, etwa "Caption", abzufragen, sodass Du Dich nicht auf die Reihenfolge verlassen musst. Ein Beispiel (für die zweite Möglichkeit) könnte so aussehen:
01.
If InStr(1, objAdapter.Caption, "Broadcom", vbTextCompare) > 0 Then strMAC = objAdapter.MACAddress
Damit würden nur Netzwerkgeräte mit einer Bezeichnung, die "Broadcom" enthält (das "vbTextCompare" sorgt dafür, dass Groß- und Kleinschreibung keine Rolle spielt), berücksichtigt werden.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
MAC Adresse - Virtuelle MAC Adresse
gelöst Frage von DerHahntrutNetzwerkgrundlagen7 Kommentare

Hallo Verbinde ich ein Wireless Gerät mit dem WLAN so sehe ich auf dem GW in der ARP eine ...

Batch & Shell

Ausgegebene Information einer var zuordnen und var mit Text vergleichen

Frage von iGriefU1Batch & Shell2 Kommentare

Ich möchte ein Unterprogramm machen: Es soll prüfen, ob ich einen WLAN HotSpot erstellen kann. Da habe ich die ...

Batch & Shell

Teilstring nach Splitten in Variablen schreiben vbs

gelöst Frage von goodbytesBatch & Shell2 Kommentare

Hallo, das Aufsplitten des Strings mittels Regular Expressions funktioniert bereits hiermit: Danach habe ich Vieles hin und her probiert ...

Netzwerkmanagement

MAC Adresse verändert sich?

gelöst Frage von voidcountNetzwerkmanagement35 Kommentare

Hallo :) ich habe ein sehr kurioses Phänomen. 2 Geräte ( Firestick / Nexus Tablet ) tauchen im DHCP ...

Neue Wissensbeiträge
Windows Userverwaltung

Passwortwechsel in der Domain bei Anmeldung erzwingen

Anleitung von Looser27 vor 8 StundenWindows Userverwaltung5 Kommentare

Nachdem es immer wieder User geschafft haben, sich während des laufenden Betriebes auszusperren, habe ich nach einer Möglichkeit gesucht, ...

Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 3 TagenAusbildung38 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 5 TagenSpeicherkarten6 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 5 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
gelöst Frage von Looser27Windows Userverwaltung32 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Microsoft
Netzlaufwerksordner Berechtigungen Speichern unter aus Programmen
gelöst Frage von ITler7Microsoft19 Kommentare

Moin, bin in ein neues Unternehmen eingetreten und habe die Anforderung bekommen Berechtigungen auf einige Ordner anzupassen, da bisher ...

Windows Server
Probleme im AD am Außenstandort
gelöst Frage von emeriksWindows Server19 Kommentare

Hi, wir haben ein Problem mit AD und GPO am Außenstandort und ich stehe momentan mächtig auf dem Schlauch. ...

Flatrates
Geschwindikeitsprobleme zwischen 1 und 1 - Vodafone Heimnetz
Frage von muenchhausenFlatrates15 Kommentare

Moin erstmal, Vorweg mein Setup 1. Wohnsitz Vodafone 400K Leitung (kommt sogar komplett an, auch um 18 Uhr) 2. ...