Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

suche Batch Befehl Domänencontroller erreichbar

Frage Microsoft

Mitglied: mexx

mexx (Level 2) - Jetzt verbinden

10.09.2008, aktualisiert 22:02 Uhr, 7746 Aufrufe, 10 Kommentare

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.
Mitglied: llowartz
10.09.2008 um 09:14 Uhr
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
Bitte warten ..
Mitglied: llowartz
10.09.2008 um 09:39 Uhr
Hallo "mexx",

in der Variable %LOGONSERVER% verbirgt sich der DC aber mit führende "\\" zeichen. Die lassen sich nicht anpingen. Der server onhe die führende "\\" Zeichen ist allerdings anpingbar.

Du könntest es hiermit versuchen: "for %i in (%LOGONSERVER%) do ping %~ni" (Ohne "")

Grüße Lukas Lowartz
Bitte warten ..
Mitglied: mexx
10.09.2008 um 09:52 Uhr
Ja okay, also mit dem Ping die Konektivität herrauszubekommen, ist schon klar, aber kann ich die Ergebnissmenge des Pings auch in einen IF THEN ELSE Zweig verwenden?
Bitte warten ..
Mitglied: llowartz
10.09.2008 um 11:12 Uhr
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
Bitte warten ..
Mitglied: mexx
10.09.2008 um 11:35 Uhr
Ich verstehe diese Anweisung nicht ganz. For-Scheifen sind mir bekannt, aber %~ni kenne ich nicht.
Bitte warten ..
Mitglied: llowartz
10.09.2008 um 12:03 Uhr
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.
Bitte warten ..
Mitglied: llowartz
10.09.2008 um 12:05 Uhr
NACHTRAG ....

Wenn du die Anweisung in eine Datei speichert und dann ausführen willst, wird es so nicht fubktionieren. Dafür musst du alle "%" Zeichen mit "%%" ersetzen.

Grüße
Lukas Lowartz
Bitte warten ..
Mitglied: mexx
10.09.2008 um 13:56 Uhr
Die Datei2 funktioniert nicht. Ich ersetzte diese Stringverarbeitung zunächst durch einen direkten Ping auf die IP des %LOGONSERVER%. Ich verstehe nicht, wie ich die Ergebnissmenge der Datei2 verarbeite. Was ist EQU 0? Wie weiß ich, dass kein Ping erfolgte?
Bitte warten ..
Mitglied: llowartz
10.09.2008 um 14:24 Uhr
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
Bitte warten ..
Mitglied: 51705
10.09.2008 um 22:01 Uhr
Hallo mexx,

if exist \\%LOGONSERVER%\NETLOGON\.

...

Grüße, Steffen
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Tools
Suche Batch Scheduler (.bat .cmd .exe) (8)

Frage von hf1965 zum Thema Windows Tools ...

Batch & Shell
gelöst BATCH: Minuszeichen in set-Befehl (3)

Frage von Schottenrock zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...