Netzwerk - TecChannel
Netzwerk - TecChannel
Netzwerk - TecChannel
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
1. <strong>Netzwerk</strong>-Praxis<br />
die den Inhalt von action auf den Wert „getDesc“ setzt. Beim nächsten Durchlauf<br />
wissen wir also, dass es sich um eine Beschreibungszeile handeln muss.<br />
Die beiden Codeblöcke nach :getDesc und :getMac sind sehr ähnlich. Die<br />
übergebene Zeile wird mit einer for-Schleife am Doppelpunkt aufgetrennt und<br />
das zweite Wort verwendet. In der Variablen output wird der String aus Mac-<br />
Adresse und Beschreibung des Adapters zusammengestellt. Nach der Ausgabe<br />
beim Block von :getMac wird die Variable action wieder gelöscht, sodass der<br />
Zyklus von Neuem beginnen kann.<br />
1.3.4 Ping-Liste<br />
Mit dem folgenden Script können Sie feststellen, welche Rechner innerhalb des<br />
Subnets gerade online sind. Als Ergebnis erhalten Sie eine Liste mit IP-Adressen.<br />
Diese könnten dann von einem anderen Script weiterverarbeitet werden.<br />
Mithilfe einer Zählschleife (for /L) wird der Bereich von 1 bis 254 in Einerschritten<br />
durchlaufen. Für jeden Wert wird ein einzelnes Ping (-n 1) ausgeführt. Die Ausgabe<br />
der gesamten Schleife (deshalb die runden Klammern) wird per Piping an den<br />
fi nd-Filter übergeben, der alle Rechner heraussucht, die geantwortet haben. Bei<br />
einem englischen Windows müssen Sie den Text „Antwort“ bei fi nd durch „reply“<br />
ersetzen. Durch die Option /i ist die Schreibweise (groß oder klein) gleichgültig.<br />
Das Ergebnis dieser Filterung wird in eine temporäre Datei geschrieben. Diese Datei<br />
(%temp%\tmp.dat) wird dann von einer weiteren Schleife Zeile für Zeile gelesen,<br />
wobei die Angabe „tokens=3“ dafür sorgt, dass nur jeweils das dritte Wort<br />
(die IP-Adresse) gelesen wird. Mit jedem gelesenen Wort wird nun das Label :output<br />
als Unterroutine angesprungen. Der übergebene Parameter stellt die IP-Adresse<br />
dar, die allerdings am Ende noch den Doppelpunkt der ping-Ausgabe trägt.<br />
Antwort von 192.168.1.11: Bytes=32 Zeit %temp%\tmp.dat<br />
echo == Online sind folgende Rechner ==<br />
for /F "tokens=3" %%f in (%temp%\tmp.dat) do @call<br />
:output %%f<br />
endlocal<br />
goto :eof<br />
:output<br />
34 www.<strong>TecChannel</strong>.de