Jump to content

Gateway auslesen, in variable speichern und anpingen?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Also,

@ echo off

rem Ordner anlegen
cd..
cd..
cd temp
md Networkinformation


rem speichert IPconfig-all Ausgabe in Textdatei
Ipconfig -all >c:\temp\Networkinformation\Ipconfig_all.txt

rem Speichert Route Print Ausgabe in Textdatei
route print >c:\temp\Networkinformation\Route_Print.txt

rem Speichert Datum und Zeit in Textdatei
echo. | date | find "Aktuell" >> c:\temp\Networkinformation\time.txt
 echo. | time | find "Aktuell" >> c:\temp\Networkinformation\time.txt
 
 rem Speichert die Systeminformationen In Textdatei
 systeminfo >c:\temp\Networkinformation\systeminfo.txt
 
 
 rem Speichert Ping auf Gateway in Textdatei
for /f "tokens=12" %%i in ('ipconfig') do echo %%i

for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do echo %%i

for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do set Gateway=%%i
pause
ping %Gateway% >c:\temp\Networkinformation\Ping_Gateway.txt
pause

Diese Batch, geht in den Ordner Temp und legt den Ordner Netzwerkinformationen an.

 

Danach speichert sie die Ausgaben von Ipconfig -all, Route Print, mit Zeit und Datum jeweils in einer Datei *.txt ab.

 

Danach wird der Gateway gesucht und angepingt.

 

Was die genaue Prozedur ist, kann ich nicht sagen, da das meiste von der GW Geschichte hier aus dem Forum kopiert worden ist.

 

@ Testperson: Ja es waren bis jetzt nur deutschsprachige Systeme. 

 

Kann ich das mit dem Delims nutzen um es auch für englische Systeme zu nutzen?

 

MFG

Link zu diesem Kommentar
rem Ordner anlegen

cd..

cd..

Kennst Du "cd \"?

cd temp

...oder gleich "cd \temp"? Noch besser: "pushd %temp%" - und am Ende dann "popd".

rem speichert IPconfig-all Ausgabe in Textdatei
Ipconfig -all >c:\temp\Networkinformation\Ipconfig_all.txt

Warum Du hier den Pfad noch mal reinschreibst, in den Du oben schon gewechselt bist, weißt nur Du allein :-)

echo. | date | find "Aktuell" >> c:\temp\Networkinformation\time.txt
echo. | time | find "Aktuell" >> c:\temp\Networkinformation\time.txt

Wie wär's stattdessen mit "echo %date% %time%>>xyz.txt"?

for /f "tokens=12" %%i in ('ipconfig') do echo %%i
for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do echo %%i

Warum gibst Du das erst mal auf dem Bildschirm noch aus statt einfach nur das Gateway zu suchen?

for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do set Gateway=%%i

Wie schon geschrieben: Funktioniert garantiert nur auf einem deutschen System... Da es i.d.R. aber nur eine Zeile mit "gateway" gibt, wäre folgendes wohl die bessere Lösung - wenn es denn ein Batch sein muß:

for /f "delims=:" %i in ('ipconfig ^| find /i "gateway"' ) do set GWIP=%j & set GWIP=%GWIP: =%

Geht in deutsch und englisch und liefert in %GWIP% die gefundene IP-Adresse ohne Leerzeichen zurück. Für Batchverwendung dann bitte %%i und %%j statt %i und %j. Und wenn es immer deutsch ist und ggf. mehrere Interfaces mit Gateway gibt, dann halt doch "standardgateway" statt nur "gateway".

 

Was willst Du mit dem ganzen Konstrukt eigentlich erreichen? Also "was ist die Aufgabe"?

Link zu diesem Kommentar

Probiere ich mal aus.

 

Zweck ist folgender:

Wir haben viele Server, Rechner und andere Windowssysteme.

 

Wir sind international tätig.

 

Manche Systeme haben noch WinXP.

 

Dies dient einfach dazu, alles erforderlichen Infos zu sammeln, wenn es irgendwo Probleme gibt. Kollegen sind im Ausland unterwegs und benötigen dann meist schnell Support. Um dann Themen wie Verkabelung, Netzwerkinfrastrucktur und Ip Konfig direkt auszuschließen, möchte ich das alles per Batch machen.

 

WinXP kennt meiner Meinung nach keine Powershell.

for /f "delims=:" %%i in ('ipconfig ^| find /i "gateway"' ) do set GWIP=%%j & set GWIP=%GWIP: =%

ist die Variable jetzt "GWIP", "%GWIP: =%" ?

 

will mir die mit echo ausgeben

 

echo %GWIP% ?

 

mit echo %GWIP% bekomme ich nämlich:

 

echo   =

 

ausgegeben

bearbeitet von steckerleiste
Link zu diesem Kommentar

das ist so nicht richtig.

 

den temp ordner gibt es (bei uns standardmäßig) immer. 

 

wenn du bei C:/ angekommen bist und wieder cd.. eingibst dann sagt er nur geht nicht, das script macht dann aber direkt weiter mit md Netzwerkinformationen.

 

Es ist und bleibt unsauber. Ich mußte schon oft genug solche Krücken wieder zum laufen bringen, also benutze das, was das OS bereits für dich vorhält.

Link zu diesem Kommentar

Also,

 

das mit dem tokens geht,

 

nur habe ich das 

& set GWIP=%GWIP: =%

raus genommen, und 

ping  %GWIP%

genommen. Funktioniert so wie ich das möchte....

 

mit %TEMP%

 

komme ich aber nicht dahin wo ich hin möchte...

 

siehe dazu bitte im Anhang

 

ich möchte nicht nach appdata\temp sondern nach c:/temp

 

 

LG

post-69627-0-67801700-1414150469_thumb.jpg

bearbeitet von steckerleiste
Link zu diesem Kommentar

mit %TEMP%

 

komme ich aber nicht dahin wo ich hin möchte...

 

siehe dazu bitte im Anhang

 

ich möchte nicht nach appdata\temp sondern nach c:/temp

 

Und weshalb muss es C:\Temp sein? Was ist daran anders? Soll es Benutzer übergreifend sein? Wenn du/ihr eine einheitliche Verzeichnisstruktur dafür braucht/haben wollt, dann leg sie per Script an. Zuerst prüfen ob schon alles vorhanden ist, wenn nein, anlegen.

Link zu diesem Kommentar

Und weshalb muss es C:\Temp sein? Was ist daran anders? Soll es Benutzer übergreifend sein? Wenn du/ihr eine einheitliche Verzeichnisstruktur dafür braucht/haben wollt, dann leg sie per Script an. Zuerst prüfen ob schon alles vorhanden ist, wenn nein, anlegen.

Letzten Endes hast du recht. 

Jedoch sind die Mitarbeiter daran gewöhnt, alles in c:/temp zu schieben, finden, usw..

da bietet es sich an den ordner dahin zu legen.

 

ist einfach zur gewohnheit geworden ;)

Link zu diesem Kommentar

Letzten Endes hast du recht. 

Jedoch sind die Mitarbeiter daran gewöhnt, alles in c:/temp zu schieben, finden, usw..

da bietet es sich an den ordner dahin zu legen.

 

ist einfach zur gewohnheit geworden ;)

 

Ganz schlechte Angwohnheit. Wenn der *normale* Benutzer da nichts verloren hat, dann lasst doch lieber das Verzeichnis verteckt und benennt es vernünftig. Es gibt viele die solche Temp-Verzeichniss gerne mal leeren, und dann? Wenn es nur für euch Admins sein soll, dann benenn ihn um und versteck ihn. ;)

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...