Zum Inhalt wechseln


Foto

Gateway auslesen, in variable speichern und anpingen?


  • Bitte melde dich an um zu Antworten
29 Antworten in diesem Thema

#16 steckerleiste

steckerleiste

    Newbie

  • 13 Beiträge

 

Geschrieben 24. Oktober 2014 - 05:02

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


A bus station is where a bus stops.

 

A train station is where a train stops.

 

On my desk, i have a workstation


#17 Sunny61

Sunny61

    Expert Member

  • 22.107 Beiträge

 

Geschrieben 24. Oktober 2014 - 06:34

Wenn es den Ordner C:\Temp und darunter so nicht gibt, fällt dein Script auf die Nase. Genau dafür gibt es die Umgebungsvariablen, nutze sie.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#18 steckerleiste

steckerleiste

    Newbie

  • 13 Beiträge

 

Geschrieben 24. Oktober 2014 - 06:50

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.


A bus station is where a bus stops.

 

A train station is where a train stops.

 

On my desk, i have a workstation


#19 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 24. Oktober 2014 - 06:53

Zu Deiner Frage "Verbesserungsvorschläge?": Powershell ist also keine Alternative für Dich? ... is ja inzwischen nicht mehr so, dass das was sooo Neues wäre ;)


My name is Frank, you can say you to me.

#20 daabm

daabm

    Expert Member

  • 2.110 Beiträge

 

Geschrieben 24. Oktober 2014 - 07:04

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"?


Greetings/Grüße, Martin

Mal ein gutes Buch über GPOs lesen? Oder ein kleines, aber feines Blog darüber?

Und wenn mir die IT mal auf die Nerven geht - coke bottle design refreshment (-:


#21 steckerleiste

steckerleiste

    Newbie

  • 13 Beiträge

 

Geschrieben 24. Oktober 2014 - 07:14

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, 24. Oktober 2014 - 08:00.

A bus station is where a bus stops.

 

A train station is where a train stops.

 

On my desk, i have a workstation


#22 Sunny61

Sunny61

    Expert Member

  • 22.107 Beiträge

 

Geschrieben 24. Oktober 2014 - 08:06

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.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#23 steckerleiste

steckerleiste

    Newbie

  • 13 Beiträge

 

Geschrieben 24. Oktober 2014 - 11:15

wie bekomme ich die denn da rein?

und was ist das für ein Fall, wenn die Systemvariable nicht bei allen Systemen so ist?


A bus station is where a bus stops.

 

A train station is where a train stops.

 

On my desk, i have a workstation


#24 daabm

daabm

    Expert Member

  • 2.110 Beiträge

 

Geschrieben 24. Oktober 2014 - 11:21

%temp% gibt es immer und ist immer schreibbar. Da mußt Du nix "reinbekommen".

 

mit echo %GWIP% bekomme ich nämlich:

echo   =

 

Mein Fehler, da fehlt "tokens"...

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

Greetings/Grüße, Martin

Mal ein gutes Buch über GPOs lesen? Oder ein kleines, aber feines Blog darüber?

Und wenn mir die IT mal auf die Nerven geht - coke bottle design refreshment (-:


#25 steckerleiste

steckerleiste

    Newbie

  • 13 Beiträge

 

Geschrieben 24. Oktober 2014 - 11:34

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

Angehängte Dateien

  • Angehängte Datei  lol.JPG   36,68K   0 Mal heruntergeladen

Bearbeitet von steckerleiste, 24. Oktober 2014 - 11:35.

A bus station is where a bus stops.

 

A train station is where a train stops.

 

On my desk, i have a workstation


#26 Sunny61

Sunny61

    Expert Member

  • 22.107 Beiträge

 

Geschrieben 24. Oktober 2014 - 11:50

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.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#27 steckerleiste

steckerleiste

    Newbie

  • 13 Beiträge

 

Geschrieben 24. Oktober 2014 - 12:08

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 ;)


A bus station is where a bus stops.

 

A train station is where a train stops.

 

On my desk, i have a workstation


#28 daabm

daabm

    Expert Member

  • 2.110 Beiträge

 

Geschrieben 24. Oktober 2014 - 13:34

Aha - und in C:\Temp schreibt jeder nach Lust und Laune rein? Stichwort "Trennen von Benutzerdaten"...

Das mit "set GWIP=%GWIP: =%" dient nur dazu, führende und folgende Leerzeichen zu entfernen - damit ist die IP wirklich nur noch die IP und kein Text mehr drum herum. Fürs Anpingen allerdings egal :cool:


Greetings/Grüße, Martin

Mal ein gutes Buch über GPOs lesen? Oder ein kleines, aber feines Blog darüber?

Und wenn mir die IT mal auf die Nerven geht - coke bottle design refreshment (-:


#29 steckerleiste

steckerleiste

    Newbie

  • 13 Beiträge

 

Geschrieben 24. Oktober 2014 - 15:34

Nicht jeder nur Inbetriebnahme. Die wissen was sie da machen also ist es egal. Und ja soll von jeden Nutzer was rein. Xd ihr habt mir hier gut geholfen, danke euch :)

A bus station is where a bus stops.

 

A train station is where a train stops.

 

On my desk, i have a workstation


#30 Sunny61

Sunny61

    Expert Member

  • 22.107 Beiträge

 

Geschrieben 25. Oktober 2014 - 19:18

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. ;)
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/