kkboy94
Goto Top

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

@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

Content-ID: 145888

Url: https://administrator.de/contentid/145888

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

BigWim
BigWim 29.06.2010 um 15:11:44 Uhr
Goto Top
Hallo Karsten,

sieh Dir mal dsquery /? und im speziellen dsquery computer /?.

Beispiele, die Du anpassen kannst, wirst Du genug finden. Mit dsquery ... würde ich eine Liste der Computer schreiben, die dann per for /f ... in (<Dateiname>) ... abgearbeitet wird.

Markus
kkboy94
kkboy94 29.06.2010 um 15:18:55 Uhr
Goto Top
Hmm der Befehl scheint in meinem Windows nicht vorhanden zu sein.
BigWim
BigWim 29.06.2010 um 15:24:12 Uhr
Goto Top
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.
kkboy94
kkboy94 29.06.2010 um 15:49:30 Uhr
Goto Top
Hmm ne . Egal welche Variante ich probiere, CMD sagt mir:
Der Befehl "dsquery" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Hat sonst noch jemand eine Idee
Danke für den leider nicht hilfebringenden Tipp

MfG Karsten
BigWim
BigWim 29.06.2010 um 15:53:51 Uhr
Goto Top
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.

Vielleicht kannst Du ja mal etwas mehr zu Deiner Umgebung schreiben, ansonsten wird das nämlich ein mühseliges Ratespiel ....

Markus
kkboy94
kkboy94 29.06.2010 um 16:02:30 Uhr
Goto Top
Was meinst du mit Umgebung?
Ich benutze Windows XP professional SP3 Version 2002 Build 5.1.2600

Meinst du das?
60730
60730 29.06.2010 um 16:04:58 Uhr
Goto Top
Moin,

fangen wir mal "neu" an - obwohl das olle kammellen sind face-wink
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
kkboy94
kkboy94 29.06.2010 um 16:36:49 Uhr
Goto Top
Was ist denn der Rest? Und was bedeutet jeweils die 1 und die 2 vor dem %log% (1%log% 2%log%) ?

MfG Karsten
60730
60730 29.06.2010 um 16:57:24 Uhr
Goto Top
Zitat von @kkboy94:
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 face-wink

MfG Karsten

zurück . und - wenn ich "zum spielen" schreibe - erwarte ich das dann auch und keine Gegenfragen vorm "test"....
kkboy94
kkboy94 29.06.2010 um 21:38:30 Uhr
Goto Top
Getestet hab ichs ja....
Und es funktioniert nach einigen Anpassungen


Danke für die Hilfe

PS: Das sollt nicht unhöflich klingen


MfG Karsten