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

Frage Entwicklung Batch & Shell

GELÖST

Batch - IP-Adresse auslesen

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

12.03.2007, aktualisiert 21:03 Uhr, 15366 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
Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 3 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 7 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement21 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...