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

gelöst Batch - IP-Adresse auslesen

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

12.03.2007, aktualisiert 21:03 Uhr, 15594 Aufrufe, 3 Kommentare

Guten Abend zusammen,

habe mal wieder ein kleines *gg* Problem.
Folgende Situation: Einige Rechner haben mehrere IP-Adressen. Zum Teil dadurch, dass es zur LAN-Karte noch eine WLAN-Karte gibt => beide sind online! Desweitern noch 1 bzw. 2 virtuelle von einigen Geräten.

Nun haben wir in einem bestimmtes Script, dass nur ein bestimmter IP-Bereich dieses Script ausführen darf.

Nun haben wir weiter festgestellt, dass immer die letzte aufgelistete IP genommen wird. Diese ist meistens aber eine Adresse von einem virtuellen Netzwerkadapter und somit wird das Script gestoppt.

Hier ein kl. Beispiel:
01.
Ethernetadapter WLAN-Verbindung: 
02.
        Verbindungsspezifisches DNS-Suffix: xxxxx.local 
03.
        IP-Adresse. . . . . . . . . . . . : 192.168.0.11 
04.
        Subnetzmaske. . . . . . . . . . . : 255.255.255.0 
05.
        Standardgateway . . . . . . . . . : 192.168.0.1 
06.
 
07.
Ethernetadapter LAN-Verbindung: 
08.
        Verbindungsspezifisches DNS-Suffix:xxxxx.local 
09.
        IP-Adresse. . . . . . . . . . . . : 192.168.0.10 
10.
        Subnetzmaske. . . . . . . . . . . : 255.255.255.0 
11.
        Standardgateway . . . . . . . . . : 192.168.0.1 
12.
 
13.
Ethernetadapter TEST-Verbindung: 
14.
        Verbindungsspezifisches DNS-Suffix: 
15.
        IP-Adresse (Autokonfig.). . . . . : 0.1.0.5 
16.
        Subnetzmaske. . . . . . . . . . . : 255.255.255.255 
17.
        Standardgateway . . . . . . . . . :
ES geht immer um die IP-Adresse der "LAN-Verbindung" bzw. um die "WLAN-Verbindung". Diese beiden Verbindungen heißen immer gleich. Also wenn LAN nicht verbunden ist, soll er die WLAN IP-Adresse auslesen.
Ich brauch legendlich eine der beiden IP-Adressen. Zuerst die von LAN ansonsten die von WLAN! Der Rest soll nicht beachtet werden.
Mit meinem Batchkenntnissen bzw. Fähigkeiten komm ich leider nicht weiter...


Grüße
Dani
Mitglied: Biber
12.03.2007 um 19:55 Uhr
Moin Dani,

ich würde (wahrrscheinlich) ungefähr diese Strategie wählen, wenn nur diese IpConfig/all-Ausgabe zur Verfügung steht.

01.
::-------- snipp GetDanisIP.bat ------ 
02.
@echo off & setlocal 
03.
IpConfig /all >%temp%\DanisIp.txt 
04.
REM -Jeweils die Zeile ermitteln, in der "Ethernetadapter WLAN-Verbindung:"  
05.
REM --  bzw. "Ethernetadapter LAN-Verbindung: steht 
06.
for /f "delims=:" %%i in ('findstr /n "\<LAN" %temp%\DanisIp.txt') do Set /a Blockstart=%%i 
07.
If not defined BlockStart for /f "delims=:" %%i in ('findstr /n "WLAN" %temp%\DanisIp.txt') do set /a Blockstart=%%i 
08.
Set /a BlockStart+=2 
09.
for /f "delims=: tokens=3" %%i in ('findstr /n "." %temp%\DanisIp.txt^|findstr "%blockstart%:"') do set "theIp=%%i" 
10.
echo Ermittelte IP ist [%theIP%] 
11.
pause 
12.
del %temp%\DanisIp.txt 
13.
::-------- snapp GetDanisIP.bat ------
[wie immer ungetestete Skizze]

Gruss
Biber
P.S. Nachtrag:
"... wenn nur diese IpConfig/all-Ausgabe zur Verfügung steht..." ....
...sollte heißen: ich würde es lieber mit etwas ermitteln, was gezielt die IP bezogen auf eine konkrete Verbindung abfragen kann (z.B. WMI).
Dieses "Finde den Beginn des Blocks, dann steht zwei Zeilen tiefer die IP-Adresse..." *hmmmmmmm*....ist nicht wirklich zeitlos elegant.
Bitte warten ..
Mitglied: Dani
12.03.2007 um 20:26 Uhr
G' Aben Biber,
wunderbar....2 Fehler waren noch drinne, aber ich habe grad noch so gefunden! *gg*

Hier die FInalversion:
01.
::-------- snipp GetDanisIP.bat ------ 
02.
@echo off & setlocal 
03.
ipconfig >%temp%\DanisIp.txt 
04.
 
05.
REM --  bzw. "Ethernetadapter LAN-Verbindung: steht 
06.
REM - Die Zeilennummer wird in Blockstart gespeichert 
07.
for /f "delims=:" %%i in ('findstr /n "\<LAN" %temp%\DanisIp.txt') do set /a Blockstart=%%i 
08.
echo %Blockstart% 
09.
pause 
10.
 
11.
REM -Jeweils die Zeile ermitteln, in der "Ethernetadapter WLAN-Verbindung:"  
12.
REM - Die Zeilennummer wird in Blockstart gespeichert 
13.
if not defined BlockStart for /f "delims=:" %%i in ('findstr /n "WLAN" %temp%\DanisIp.txt') do set /a Blockstart=%%i 
14.
echo %Blockstart% 
15.
pause 
16.
 
17.
REM Zeilen überspringen 
18.
set /a BlockStart+=3 
19.
 
20.
REM Aus der entsprechenden Zeile die IP-Adresse auslesen bzw. splitten 
21.
for /f "tokens=14 delims=: " %%i in ('findstr /n "." %temp%\DanisIp.txt^|findstr "%blockstart%:"') do set "theIp=%%i" 
22.
echo Ermittelte IP ist [%theIP%] 
23.
pause 
24.
del %temp%\DanisIp.txt 
25.
::-------- snapp GetDanisIP.bat ------
Und diese Funktioniert!!! *gg* Vielen Dank...

Achja Fehler:
for /f "delims= : tokens=3"
Statt der 3 muss dort die 14 stehen. Bei "delims" habe ich das Leezeichen noch hinzugefügt, da sonst bei der IP-Adresse noch ein Leerzeichen davor war.

Set /a BlockStart+=2
Mit der 3 geht es einfacher.....aus dem DNS-Suffix kann ich einfach nicht die IP auslesen! *gg*


Grüße
Dani
Bitte warten ..
Mitglied: Biber
12.03.2007 um 21:03 Uhr
Danke für die Rückmeldung, Dani,

ich hatte mich natürlich an Deiner geposteten Ausgabe orientiert.
Deshalb kam ich auf das "zwei Zeilen später" statt "drei Zeilen später".

Egal, hast es ja verstanden, was ich meinte...

Bei dem anderen Fehler kann ich erstmal aber kein Problem feststellen:
Bei der oben geposteten Vorgabe...
01.
>findstr /n "." f:\temp\DanisIp.txt 
02.
1:Ethernetadapter WLAN-Verbindung: 
03.
2:        Verbindungsspezifisches DNS-Suffix: xxxxx.local 
04.
3:        IP-Adresse. . . . . . . . . . . . : 192.168.0.11 
05.
4:        Subnetzmaske. . . . . . . . . . . : 255.255.255.0 
06.
5:        Standardgateway . . . . . . . . . : 192.168.0.1 
07.
7:Ethernetadapter LAN-Verbindung: 
08.
8:        Verbindungsspezifisches DNS-Suffix:xxxxx.local 
09.
9:        IP-Adresse. . . . . . . . . . . . : 192.168.0.10 
10.
10:        Subnetzmaske. . . . . . . . . . . : 255.255.255.0 
11.
11:        Standardgateway . . . . . . . . . : 192.168.0.1 
12.
13:Ethernetadapter TEST-Verbindung: 
13.
14:        Verbindungsspezifisches DNS-Suffix: 
14.
15:        IP-Adresse (Autokonfig.). . . . . : 0.1.0.5 
15.
16:        Subnetzmaske. . . . . . . . . . . : 255.255.255.255 
16.
17:        Standardgateway . . . . . . . . . : 
17.
 
18.
(=21:02:26  D:\temp=) 
19.
>for /f "delims=: tokens=3" %i in ('findstr /n "." f:\temp\DanisIp.txt^|findstr "3:"') do @echo %i 
20.
 192.168.0.11
.... kommt schon das erhoffte Ergebnis.
Aber was soll's, viele Wege führen nach Redmond.... Hauptsache, mindestens eine Lösung klappt.

Gruss
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
IP-Adresse in Batch, CMD
gelöst Frage von MaxophoniBatch & Shell12 Kommentare

Hallo, ich möchte in einer Batch-Datei eine Variable einfügen, die nur die IP-Adresse anzeigt. Dies funktioniert mittels ipconfig, doch ...

Batch & Shell
IP Adressen aus Hosts Tabelle auslesen
gelöst Frage von makroll10Batch & Shell2 Kommentare

Hallo, die Werte aus einer Hosts Tabelle möchte ich mit Hilfe eines Batch, wie u.a. auslesen: Beispiel: 192.155.200.1 GSMROUTER ...

PHP
PHP IP adresse aus TXT Datei auslesen
gelöst Frage von gamerffPHP2 Kommentare

Hallo Forum, kann mir jemand zum Theme: IP Adresse aus txt datei auslesen weiterhelfen. Ich habe eine Quellcode mit ...

Windows 7

Bereits eingebundener Drucker - IP Adresse lokal auslesen

gelöst Frage von harald.schmidtWindows 717 Kommentare

Hallo! Ich hab da eine wahrscheinlich dumme Frage, aber wie zum Teufel kann ich bei einem eingebundenen Netzwerkdrucker dessen ...

Neue Wissensbeiträge
CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 16 MinutenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 20 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung23 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...