Erst alle Netzwerkbenutzer auslesen, dann diese anpingen und in ein Logfile schreiben
Hallo Admins,
Ich weiß ja, dass diese frag schon öfters aufgetaucht ist aber bei den anderen beiträgen habe ich noch nicht ganz das gefunden, was ich brauche
Das ist das was ich bis jetzt zustande gebracht hab.
Die for-Schleife (und damit der größte Teil) habe ich mir aus Biber's 2. Tutorial genommen.
Jetzt soll die Batch (oder heißt es der Batch/das Batch??) aber alle PC-Namen, welche im gesamten netzwerk gefunden werden anpingen, und dann die passende Nachricht ins Log schreiben.
ich weiß auch nicht ob der Befehl "net view" dazu geeignet ist, da der ja eigentlich nur die Arbeitsgruppen-Computer anzeigt.
Welcher befehl würde nun meinen Wünschen entsprechen?
Danke schonmal im Voraus
MfG Karsten
Ich weiß ja, dass diese frag schon öfters aufgetaucht ist aber bei den anderen beiträgen habe ich noch nicht ganz das gefunden, was ich brauche
@echo off & setlocal
:start
::(dt. Bei US-Version "Reply" statt "Antwort")::
net view
> "net-pcs.txt" net view
echo.
set /p computername=Computernamen angeben:
for /F "Tokens=3 Delims=: " %%i in ('ping -n 1 "%computername%"^|Find "Antwort"') do ( set IP=%%i )
if not defined IP goto :start
echo %ip%
> "network_ping_test.log" echo Die IP %IP% gehört zu %computername% & echo.
pause
Das ist das was ich bis jetzt zustande gebracht hab.
Die for-Schleife (und damit der größte Teil) habe ich mir aus Biber's 2. Tutorial genommen.
Jetzt soll die Batch (oder heißt es der Batch/das Batch??) aber alle PC-Namen, welche im gesamten netzwerk gefunden werden anpingen, und dann die passende Nachricht ins Log schreiben.
ich weiß auch nicht ob der Befehl "net view" dazu geeignet ist, da der ja eigentlich nur die Arbeitsgruppen-Computer anzeigt.
Welcher befehl würde nun meinen Wünschen entsprechen?
Danke schonmal im Voraus
MfG Karsten
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145888
Url: https://administrator.de/contentid/145888
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
10 Kommentare
Neuester Kommentar
das bekomme ich, wenn ich dsquery /? eintippe:
Beschreibung: Die Befehle dieser Toolsammlung ermöglichen Ihnen, das Verzeichnis
laut angegebener Suchkriterien zu durchsuchen. Jeder der folgenden
dsquery-Befehle sucht nach Objekten eines bestimmten Objekttyps;
nur dsquery * sucht nach allen Objekttypen:
dsquery computer - Sucht nach Computern im Verzeichnis.
dsquery contact - Sucht nach Kontakten im Verzeichnis.
dsquery subnet - Sucht nach Subnetzen im Verzeichnis.
dsquery group - Sucht nach Gruppen im Verzeichnis.
dsquery ou - Sucht nach Organisationseinheiten im Verzeichnis.
dsquery site - Sucht nach Standorten im Verzeichnis.
dsquery server - Sucht nach Servern im Verzeichnis.
dsquery user - Sucht nach Benutzern im Verzeichnis.
dsquery quota - Sucht nach Spezifikation für Datenträgerkontingente
im Verzeichnis.
dsquery partition - Sucht nach Partitionen im Verzeichnis.
dsquery * - Sucht nach Objekten im Verzeichnis mit einer
Standard-LDAP-Abfrage Verzeichnis.
Geben Sie "dsquery <Objekttyp> /?" zum Anzeigen einer bestimmten
Befehlsyntax, wobei <Objekttyp> einer der oben angezeigten Objekttypen ist,
z. B. dsquery ou /?.
Anmerkungen:
Die dsquery-Befehle ermöglichen Ihnen, nach Objekten im Verzeichnis
laut angegebener Suchkriterien zu suchen: die Eingabe bei dsquery ist
eine Suchkriterie und die Ausgabe ist eine Liste der übereinstimmenden
Objekte. Verwenden Sie die dsget-Befehle (dsget /?), um die
Eigenschaften eines bestimmten Objekts abzurufen.
Die Ergebnisse eines dsquery-Befehls können in eines der anderen
Verzeichnisdienst-Befehlszeilenprogramm, wie z. B. dsmod, dsget, dsrm
oder dsmove, weitergeleitet werden.
Kommas, die nicht als Trennzeichen in definierten Namen verwendet werden,
müssen einem umgekehrten Schrägstrich folgen ("\") (z. B.
"CN=Firma\, GmbH,CN=Benutzer,DC=microsoft,DC=com"). Umgekehrte
Schrägstriche in definierten Namen müssen einem umgekehrten Schrägstrich
folgen (z. B.
"CN=Verkauf\\Südamerika,OU=Verteilungslisten,
DC=microsoft,DC=com").
Beispiele:
Der folgende Befehl sucht nach allen Computern, die in den letzten vier
Wochen nicht aktiv waren und entfernt diese aus dem Verzeichnis:
dsquery computer -inactive 4 | dsrm
Der folgende Befehl sucht nach allen Organisationseinheiten
"ou=Marketing,dc=microsoft,dc=com" und fügt diese der
Marketingmitarbeitergruppe hinzu:
dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod group
"cn=Marketingmitarbeiter,ou=Marketing,dc=microsoft,dc=com" -addmbr
Der folgende Befehl sucht nach allen Benutzern, deren Namen mit "Jens"
beginnen, und zeigt deren Büronummern an:
dsquery user -name Jens* | dsget user -office
Verwenden Sie den Befehl "dsquery *" um einen zufälligen Attributsatz
eines angegebenen Objekts im Verzeichnis anzuzeigen. Der folgenden Befehl
zeigt den SAM-Kontonamen, Benutzerprinzipalnamen und Abteilungsattribute
des Objekts mit DN gleich ou=Test,dc=microsoft,dc=com an:
dsquery * ou=Test,dc=microsoft,dc=com -scope base
-attr sAMAccountName userPrincipalName department
Folgender Befehl zeigt alle Attribute des Objekts mit DN gleich
ou=Test,dc=microsoft,dc=com an:
dsquery * ou=Test,dc=microsoft,dc=com -scope base -attr *
Hilfe der Verzeichnisdienst-Befehlszeilenprogramme:
dsadd /? - Zeigt die Hilfe für das Hinzufügen von Objekten an.
dsget /? - Zeigt die Hilfe für das Anzeigen von Objekten an.
dsmod /? - Zeigt die Hilfe für das Bearbeiten von Objekten an.
dsmove /? - Zeigt die Hilfe für das Verschieben von Objekten an.
dsquery /? - Zeigt die Hilfe für das Suchen von Objekten an, die mit
den Suchkriterien übereinstimmen.
dsrm /? - Zeigt die Hilfe für das Löschen von Objekten an.
Beschreibung: Die Befehle dieser Toolsammlung ermöglichen Ihnen, das Verzeichnis
laut angegebener Suchkriterien zu durchsuchen. Jeder der folgenden
dsquery-Befehle sucht nach Objekten eines bestimmten Objekttyps;
nur dsquery * sucht nach allen Objekttypen:
dsquery computer - Sucht nach Computern im Verzeichnis.
dsquery contact - Sucht nach Kontakten im Verzeichnis.
dsquery subnet - Sucht nach Subnetzen im Verzeichnis.
dsquery group - Sucht nach Gruppen im Verzeichnis.
dsquery ou - Sucht nach Organisationseinheiten im Verzeichnis.
dsquery site - Sucht nach Standorten im Verzeichnis.
dsquery server - Sucht nach Servern im Verzeichnis.
dsquery user - Sucht nach Benutzern im Verzeichnis.
dsquery quota - Sucht nach Spezifikation für Datenträgerkontingente
im Verzeichnis.
dsquery partition - Sucht nach Partitionen im Verzeichnis.
dsquery * - Sucht nach Objekten im Verzeichnis mit einer
Standard-LDAP-Abfrage Verzeichnis.
Geben Sie "dsquery <Objekttyp> /?" zum Anzeigen einer bestimmten
Befehlsyntax, wobei <Objekttyp> einer der oben angezeigten Objekttypen ist,
z. B. dsquery ou /?.
Anmerkungen:
Die dsquery-Befehle ermöglichen Ihnen, nach Objekten im Verzeichnis
laut angegebener Suchkriterien zu suchen: die Eingabe bei dsquery ist
eine Suchkriterie und die Ausgabe ist eine Liste der übereinstimmenden
Objekte. Verwenden Sie die dsget-Befehle (dsget /?), um die
Eigenschaften eines bestimmten Objekts abzurufen.
Die Ergebnisse eines dsquery-Befehls können in eines der anderen
Verzeichnisdienst-Befehlszeilenprogramm, wie z. B. dsmod, dsget, dsrm
oder dsmove, weitergeleitet werden.
Kommas, die nicht als Trennzeichen in definierten Namen verwendet werden,
müssen einem umgekehrten Schrägstrich folgen ("\") (z. B.
"CN=Firma\, GmbH,CN=Benutzer,DC=microsoft,DC=com"). Umgekehrte
Schrägstriche in definierten Namen müssen einem umgekehrten Schrägstrich
folgen (z. B.
"CN=Verkauf\\Südamerika,OU=Verteilungslisten,
DC=microsoft,DC=com").
Beispiele:
Der folgende Befehl sucht nach allen Computern, die in den letzten vier
Wochen nicht aktiv waren und entfernt diese aus dem Verzeichnis:
dsquery computer -inactive 4 | dsrm
Der folgende Befehl sucht nach allen Organisationseinheiten
"ou=Marketing,dc=microsoft,dc=com" und fügt diese der
Marketingmitarbeitergruppe hinzu:
dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod group
"cn=Marketingmitarbeiter,ou=Marketing,dc=microsoft,dc=com" -addmbr
Der folgende Befehl sucht nach allen Benutzern, deren Namen mit "Jens"
beginnen, und zeigt deren Büronummern an:
dsquery user -name Jens* | dsget user -office
Verwenden Sie den Befehl "dsquery *" um einen zufälligen Attributsatz
eines angegebenen Objekts im Verzeichnis anzuzeigen. Der folgenden Befehl
zeigt den SAM-Kontonamen, Benutzerprinzipalnamen und Abteilungsattribute
des Objekts mit DN gleich ou=Test,dc=microsoft,dc=com an:
dsquery * ou=Test,dc=microsoft,dc=com -scope base
-attr sAMAccountName userPrincipalName department
Folgender Befehl zeigt alle Attribute des Objekts mit DN gleich
ou=Test,dc=microsoft,dc=com an:
dsquery * ou=Test,dc=microsoft,dc=com -scope base -attr *
Hilfe der Verzeichnisdienst-Befehlszeilenprogramme:
dsadd /? - Zeigt die Hilfe für das Hinzufügen von Objekten an.
dsget /? - Zeigt die Hilfe für das Anzeigen von Objekten an.
dsmod /? - Zeigt die Hilfe für das Bearbeiten von Objekten an.
dsmove /? - Zeigt die Hilfe für das Verschieben von Objekten an.
dsquery /? - Zeigt die Hilfe für das Suchen von Objekten an, die mit
den Suchkriterien übereinstimmen.
dsrm /? - Zeigt die Hilfe für das Löschen von Objekten an.
Zitat von @kkboy94:
Hmm ne . Egal welche Variante ich probiere, CMD sagt mir:
Der Befehl "dsquery" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Hmm ne . Egal welche Variante ich probiere, CMD sagt mir:
Der Befehl "dsquery" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Vielleicht kannst Du ja mal etwas mehr zu Deiner Umgebung schreiben, ansonsten wird das nämlich ein mühseliges Ratespiel ....
Markus
Moin,
fangen wir mal "neu" an - obwohl das olle kammellen sind
Der parameter ipbase sind deine ersten 3. oktette gefolgt von einem Punkt. -das bitte anpassen.
Ich denke mal damit kannst alles mögliche draus bauen und rumspielen - und beim Rest einfach mal nach [batch Log Ping] suchen - da findet sich alles mögliche.
Gruß
edit ok..... und das ich dem lot seine Pings jetzt vorweggenommen hab - das hätte ich nicht erwartet...
...und das ich das Ding teilweise als batch und teilweise als kommdozeilenbefehl (ein % statt zwei %%) geschrieben habe -liegt am Wetter
fangen wir mal "neu" an - obwohl das olle kammellen sind
Der parameter ipbase sind deine ersten 3. oktette gefolgt von einem Punkt. -das bitte anpassen.
SET ipbase=192.168.1.
SET log=netz.txt
FOR /L %%i IN (1,1,254) do ping -n 1 -w 5 %ip%%%i|find "TTL=" && ECHO %ipbase%%%i>> A%log%
echo mit diesem Teil bekommst du mal alle Treffer - die zur Zeit an sind.
echo nur als Beispiel
echo und mit Net View - vereinfacht mit zwei getrennten Schleifen - die ein logfile benutzen, damits nicht noch "komplexer wird"
echo ist ja nur ne lauffähige Demo - oder proof of concept
for /f "skip=3 tokens=1,* delims=\" %%a in ('"net view"') do ping %%a -n 1 |find "[">>B%log%
for /f "tokens=2,3" %%a in (B%log%) do echo %%a %%b>>C%log%
Ich denke mal damit kannst alles mögliche draus bauen und rumspielen - und beim Rest einfach mal nach [batch Log Ping] suchen - da findet sich alles mögliche.
Gruß
edit ok..... und das ich dem lot seine Pings jetzt vorweggenommen hab - das hätte ich nicht erwartet...
...und das ich das Ding teilweise als batch und teilweise als kommdozeilenbefehl (ein % statt zwei %%) geschrieben habe -liegt am Wetter
Zitat von @kkboy94:
Was ist denn der Rest? Und was bedeutet jeweils die 1 und die 2 vor dem %log% (1%log% 2%log%) ?
Was ist denn der Rest? Und was bedeutet jeweils die 1 und die 2 vor dem %log% (1%log% 2%log%) ?
- welcher "rest"
- wenn ich dir - obwohl ich dir den Suchmachineneingabewert genannt habe - wo du alles findest zwei unterschiedliche Wege zu deinem persönlichen Rom liefere, dann kann ich die logfilebenamung doch - wie den rest der Beispiele - selber bestimmen
MfG Karsten
zurück . und - wenn ich "zum spielen" schreibe - erwarte ich das dann auch und keine Gegenfragen vorm "test"....