suche Batch Befehl Domänencontroller erreichbar
Ich möchte eine Batchdatei schreiben, welche verschiedene Aufgaben erfüllt, SOFERN der Domänencontroller erreichbar ist. Die Batch soll auf Laptops laufen, welche nicht immer im Hause sind und somit nicht ständig die Domäne erreichen. Mit welchen Befehl kann ich prüfen, ob die Domäne erreichbar ist? Ein Ping auf den %LOGONSERVER% kann ich nicht prüfen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 96532
Url: https://administrator.de/contentid/96532
Ausgedruckt am: 16.11.2024 um 01:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo "mexx",
Du solltest in der Lage sein deine Domäne „anzupingen“, Wenn das nicht klappt könntest du immer noch den DC „anpingen“. Wenn ich bei uns im Netzwerk die Variable %LOGONSERVER% pinge, wird der DC nicht gefunden, warum auch immer. Versuch doch wie gesagt anstelle die Variable den DC selbst bzw. die Domäne anzupingen.
Grüße aus Kirn
Lukas Lowartz
Du solltest in der Lage sein deine Domäne „anzupingen“, Wenn das nicht klappt könntest du immer noch den DC „anpingen“. Wenn ich bei uns im Netzwerk die Variable %LOGONSERVER% pinge, wird der DC nicht gefunden, warum auch immer. Versuch doch wie gesagt anstelle die Variable den DC selbst bzw. die Domäne anzupingen.
Grüße aus Kirn
Lukas Lowartz
Hallo Mexx,
ja ... das geht, und zwar über eine Errorlevel abfrage. Dafür empfehle ich dir zwei Dateien zu erstellen. Die erste die den DC anpingt (Subprozess) und die zweite die, die Ergebnisse auswertet.
Datei1
call c:\Datei2.cmd
If %Errorlevel% EQU 0 echo Ping Fehlgeschlagen >c:\Logdatei.txt
Datei2
for %i in (%LOGONSERVER%) do ping %~ni
In die Datei "Logdatei.txt" sollte stehen wenn der Ping fehlgeschlagen ist. Du kannst natürlich die Ausgabe mit Datum und und und erweitern.
Grüße
Lukas Lowartz
ja ... das geht, und zwar über eine Errorlevel abfrage. Dafür empfehle ich dir zwei Dateien zu erstellen. Die erste die den DC anpingt (Subprozess) und die zweite die, die Ergebnisse auswertet.
Datei1
call c:\Datei2.cmd
If %Errorlevel% EQU 0 echo Ping Fehlgeschlagen >c:\Logdatei.txt
Datei2
for %i in (%LOGONSERVER%) do ping %~ni
In die Datei "Logdatei.txt" sollte stehen wenn der Ping fehlgeschlagen ist. Du kannst natürlich die Ausgabe mit Datum und und und erweitern.
Grüße
Lukas Lowartz
Also .. %i stellt erst mal ein Eintrag in der Variable dar. Da ich aber den Eintrag ohne die "\\" haben mag, nutze ich die for schleife und die Darstellung von "%i" mit Hilfe der Option %~ni (Also denk das System es handelt sich bei %i um eine Datei und versuch NUR den Namen darzustellen, also ohne \\)
Weitere Optionen
%~ - Expandiert %I und entfernt alle umschließenden Anführungszeichen (").
%~fI - Expandiert %I zu einem vollständigen Dateinamen.
%~dI - erstellt nur den Laufwerkbuchstaben von %I.
%~pI - erstellt nur den Pfad von %I.
%~nI - erstellt nur den Dateinamen von %I.
%~xI - erstellt nur die Dateierweiterung von %I.
%~sI - erstellter Pfad enthält nur kurze Dateinamen.
%~aI - erstellt die Dateiattribute von %I.
%~tI - erstellt Datum und Zeit von %I.
%~zI - erstellt die Dateigröße von %I.
%~$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen angegebenen Verzeichnisse und expandiert die erste
%~dpI - erstellt den Laufwerkbuchstaben und Pfad von %I.
%~nxI - erstellt den Dateinamen und die Dateierweiterung von %I.
%~fsI - Expandiert %I zu einem vollständigen Namen, der nur kurze Dateinamen enthält.
%~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen angegebenen Verzeichnisse nach %I und erstellt den Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
%~ftzaI - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-Befehls entspricht. gefundene Datei %I zu dem vollständigen Dateinamen.
Weitere Optionen
%~ - Expandiert %I und entfernt alle umschließenden Anführungszeichen (").
%~fI - Expandiert %I zu einem vollständigen Dateinamen.
%~dI - erstellt nur den Laufwerkbuchstaben von %I.
%~pI - erstellt nur den Pfad von %I.
%~nI - erstellt nur den Dateinamen von %I.
%~xI - erstellt nur die Dateierweiterung von %I.
%~sI - erstellter Pfad enthält nur kurze Dateinamen.
%~aI - erstellt die Dateiattribute von %I.
%~tI - erstellt Datum und Zeit von %I.
%~zI - erstellt die Dateigröße von %I.
%~$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen angegebenen Verzeichnisse und expandiert die erste
%~dpI - erstellt den Laufwerkbuchstaben und Pfad von %I.
%~nxI - erstellt den Dateinamen und die Dateierweiterung von %I.
%~fsI - Expandiert %I zu einem vollständigen Namen, der nur kurze Dateinamen enthält.
%~dp$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen angegebenen Verzeichnisse nach %I und erstellt den Laufwerkbuchstaben und Pfad der ersten gefundenen Datei.
%~ftzaI - Expandiert %I zu einer Zeile, die der Ausgabe des DIR-Befehls entspricht. gefundene Datei %I zu dem vollständigen Dateinamen.
Hi Mexx,
1. wenn die die IP direkt anpingst, brauchst du die Variable %LOGONSERVER% nicht.
2. Datei2 pingt den %LOGONSERVER% an (aber ohne die anführende "\\" Zeichen)
3. EQU ist das gleiche wie "==" (NICHT "=")
4. Wenn ein Ping erfolgt, wird keine Fehlermeldung in die Logdatei geschrieben.
Das ganze kann auch so verfeinert werden, dass mit Datum und Zeit angeben im Log gemacht werden, wann ein Ping erfolgt ist, ob er erfolgreich oder nicht und vieles mehr. Das was oben steht sollte nur ein Grundgerüst sein. Wenn du magst können wir ein solches Script gemeinsam entwickeln.
Grüße
Lukas Lowartz
1. wenn die die IP direkt anpingst, brauchst du die Variable %LOGONSERVER% nicht.
2. Datei2 pingt den %LOGONSERVER% an (aber ohne die anführende "\\" Zeichen)
3. EQU ist das gleiche wie "==" (NICHT "=")
4. Wenn ein Ping erfolgt, wird keine Fehlermeldung in die Logdatei geschrieben.
Das ganze kann auch so verfeinert werden, dass mit Datum und Zeit angeben im Log gemacht werden, wann ein Ping erfolgt ist, ob er erfolgreich oder nicht und vieles mehr. Das was oben steht sollte nur ein Grundgerüst sein. Wenn du magst können wir ein solches Script gemeinsam entwickeln.
Grüße
Lukas Lowartz
Hallo mexx,
...
Grüße, Steffen
if exist \\%LOGONSERVER%\NETLOGON\.
...
Grüße, Steffen