predator1402
Goto Top

MAC Adresse bekannt, IP Adresse ändern

Hallo liebe Mitglieder,

ich habe eine frage bezüglich Batch-Dateien und IP Adresse einer Netzwerkkarte ändern. Leider habe ich diesbezüglich nichts im Netz gefunden und deshalb möchte ich hier meine Frage stellen.

Ich möchte mittels einer Batch-Datei die IP Adresse meiner Netzwerkkarte ändern, da ich mit dem Firmenlaptop in verschiedenen Netzwerken unterwegs bin. Das man die IP über den Namen der Netzwerkkarte ändern kann, weiß ich mittlerweile und es funktioniert auch. Jetzt zu meinem eigentlichen Problem. Kann man die IP Adresse einer Netzwerkkarte auch über die MAC Adresse ändern. Soll heißen, ich lese die MAC Adresse aus und änder, durch ansprechen der MAC, die IP der jeweiligen Karte.

Vielen Dank für Eure Hilfe

Predator1402

Content-ID: 203413

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

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 15.03.2013 um 17:13:20 Uhr
Goto Top
ifconfig -a  |  grep "00:11:22:33:44:55"  | gawk ' { print $1 } '  | xargs -l1 -I XXXX ifconfig XXXX 1.2.3.4/24 up
Predator1402
Predator1402 15.03.2013 aktualisiert um 22:31:33 Uhr
Goto Top
Danke für die Antwort, aber äh... leider kann ich damit nix anfangen. Die MAC Adresse hab ich angepasst, wie auch die zu ändernde IP. Muss das im Zusammenhang mit dem Befehl "netsh" benutzt werden oder mit einem ganz anderen Befehl.
Ich habe zum ändern den Aufruf:
netsh interface ip set address name="Netzwerkkartenname" source=static addr=xxx.xxx.xxx.xxx mask=xxx.xxx.xxx.xxx gateway=xxx.xxx.xxx.xxx gwmetric=1
netsh interface ip set dns name="Netzwerkkartenname" source=static addr=xxx.xxx.xxx.xxx register=PRIMARY
benutzt. Mein Gedanke war jetzt den Parameter "name" gegen "mac" auszutauschen und dann die ip anhand der MAC neu vergeben. Bitte um weitere Unterstützung. Danke

Sorry, mein BS ist Windows 7. Sollte vielleicht erwähnt werden face-wink
filippg
filippg 15.03.2013 aktualisiert um 22:53:24 Uhr
Goto Top
Hallo,

da würde ich doch mal nach dem Grund fragen wollen. Bist du dir sicher, dass du das über die Mac brauchst, und der Name nicht reicht? "Name" gibt hier nicht etwa den Name des verbundenen WLAN-Netzes o.ä. an, sondern den des Adapters. Will heißen: er ist ähnlich "Stabil" wie eine Mac.

Gruß

Filipp
aqui
aqui 16.03.2013 aktualisiert um 10:37:10 Uhr
Goto Top
Die Frage ist warum er sich das Leben so schwer macht und nicht einen der millionenfachen IP Profilswitcher Tools verwendet ??
Free IP-Switcher - Tool um verschiedene IP-Config Sets auf dem lokalen PC zu verwalten (...die Suchfunktion lässt grüßen !!)
oder auch
http://www.eusing.com/ipswitch/free_ip_switcher.htm
Damit kann man sich für jedes Netzwerk wo man arbeitet ein festes Profil anlegen was man per Mausklick aktiviert.
Einfacher gehts ja wohl nun kaum, oder ?
Predator1402
Predator1402 16.03.2013 aktualisiert um 11:00:10 Uhr
Goto Top
Das "Name" den Adapter bezeichnet ist mir bewusst. Das Problem ist, wenn ich den Batch auf einem anderen Rechner ausführen möchte, weiß ich ja nicht, wie da der Adapter bezeichnet ist. Deshalb wollte ich die MAC Adresse des Adapters auslesen und anhand der MAC die IP ändern. Außer es gibt eine Möglichkeit den Adapternamen auszulesen. Am Ende möchte ich das mal alles in Excel per VBA zum laufen bringen.
Danke für weitere Antworten.

Das es dafür Programme gibt, dass weiß ich schon. Habe im privaten auch NetSetMan im Gebrauch, aber im geschäftlichen Bereich sieht es anders aus. Da muß man eine Software installieren und mit den Lizenzen ist es da immer so eine Sache.
rubberman
rubberman 16.03.2013 um 12:41:51 Uhr
Goto Top
Hallo Predator1402.

Am Ende möchte ich das mal alles in Excel per VBA zum laufen bringen.

Dann frage ich mich was du mit Batch willst? VBA und WMI wären demnach das, was du benötigst.

Verwirrte Grüße
rubberman
Predator1402
Predator1402 16.03.2013 um 12:52:16 Uhr
Goto Top
Ich weiß nicht ob ich mit Excel direkt die IP Adresse einer Netzwerkverbindung ändern kann. Deshalb war mein Gedanke mit Excel die Daten aus der Netzwerkkarte auslesen, eine Batch Datei erstellen lassen und mit Shell die Datei ausführen. Die Grundlagen sind auch schon alle fertig, bis auf das Problem über die MAC Adresse die IP zu ändern. Momentan hab ich das Problem in Excel, das ich den Namen noch nicht ausgelesen bekomme und noch nicht weiß, wie ich über die MAC die IP ändern kann.

Danke weiterhin
Predator1402

PS: kann man irgendwo die Signatur einstellen?
rubberman
rubberman 16.03.2013 aktualisiert um 13:53:08 Uhr
Goto Top
Hallo Predator1402.

Hier ein Beispiel für VBS. Ich gehe davon aus, dass du das in VBA ziemlich 1:1 verwenden kannst.
Ggf. kannst du mit einer zusätzlichen Bedingung (WHERE im WQL Statement) gleich auf eine spezifische MACAddress Eigenschaft einschränken.

Grüße
rubberman
Predator1402
Predator1402 16.03.2013 um 22:45:40 Uhr
Goto Top
Hallo,

vielen Dank für den Link. Den Code muss ich mir mal in Ruhe anschauen, was man daraus basteln kann. Hab Ihn schon im VB eingefügt und bis jetzt bringt Er mir noch die Fehlermeldung: "Laufzeitfehler'424': Objekt erforderlich". Scheint nicht der komplette Code zu sein. Aber ich werde mal damit bisschen rumspielen.
Falls noch jemand Lösungen zu bieten hat, so sind Diese herzlich Willkommen.

viele Grüße
Predator1402
format-c
format-c 23.03.2013 aktualisiert um 11:09:25 Uhr
Goto Top
Zitat von @Predator1402:
Das Problem ist, wenn ich den Batch auf einem anderen Rechner
ausführen möchte, weiß ich ja nicht, wie da der Adapter bezeichnet ist.
Deshalb wollte ich die MAC Adresse des Adapters auslesen ...


Hallo Predator1402.

Den Namen des Netzwerkadapters erfährst du über seine Indexnummer
netsh interface ipv4 show interfaces
Und den Index kannst du versuchen über die Routingtabelle zu erfahren
netsh interface ipv4 show route
Das funktioniert aber nur dann, wenn das Netzwekkabel eingesteckt ist, oder wenn der Rechner seit dem letzten Netzwerk nicht neugestartet wurde.

Da gibt es zwei Fälle.
Fall a): Das Netzwerk hat einen DHCP-Server. Du hast den Rechner frisch gebootet und entweder das NW-Kabel eingesteckt oder den WLAN-Adapter aktiviert. Dein Lappie bekommt irgendeine IP-Adresse. In diesem Fall steht der gesuchte NW-Adapter an erster stelle und du kannst mit
... | find "0.0.0.0/0"
diese Zeile isolieren.

Fall b): Das Netz hat keinen DHCP. Du hast den Rechner frisch gebootet und entweder das NW-Kabel eingesteckt oder den WLAN-Adapter aktiviert. Dann gibt der NW-Adapter sich slbst eine IP-Adresse die mit 169.254. beginnt. In diesem Fall kann man die Routingtabelle nach "169.254.0.0/16" durchsuchen. Hier bekommst du den Namen des NW-Adapters sogar sofort.

Wenn dein Rechner seit dem Start bereits einmal eine IP-Adresse hatte, trifft der Fall a) ein.


Grüße
format-c