CMD/Powershell: Ping-Ergebnis mit Errorlevel auswerten

Auch jeder Hobby-Computerbastler dürfte den Ping-Befehl kennen, mit dem man prüfen kann ob ein Computer bzw. Netzwerkgerät erreichbar ist. Schließlich ist dies der erste naheliegende Test wenn irgendetwas im Netzwerk nicht funktioniert. Zumindest um herauszufinden ob das Gerät überhaupt richtig im Netzwerk eingebunden ist. Mit Hilfe des Befehls kann man aber in Skripten durchaus komplexere Dinge bewerkstelligen, wenn man die Prüfung in einer if-Abfrage verwendet.
Read more

Powershell-Skript als Benutzer-Anmeldeskript in einer Domäne nutzen?

Dass man mit der Powershell wesentlich komfortabler programmieren und Aufgaben erledigen kann, als mit der guten alten Kommandozeile bzw. Batch-Dateien, dürfte seit langem kein Geheimnis mehr sein. Daher ist es naheliegend, insbesondere wenn die entsprechenden Aufgaben sonst nicht gut umsetzbar sind, auch für ein Benutzer-Anmeldeskript innerhalb einer Windows-Domäne auf die Powershell zurückzugreifen. Dies geht allerdings nicht ohne einen kleinen Trick.

Read more

Umlaute in Batch-Dateien – immer wieder schön

Vor einiger Zeit habe ich in einem anderen Artikel von einer Batch-Datei geschrieben, mit der man einen Benutzer zur Gruppe „Domain Admins“ bzw. in deutschsprachigen Betriebssystem-Versionen zur Gruppe „Domänen-Admins“ hinzufügt. Leider ist der Umlaut „Ä“ beim Abspeichern mal wieder problematisch, selbst bei einem Windows Server 2016!

Read more

While- und Until-Schleifen in Batch-Dateien

In Batch-Dateien ist vieles nicht vorgesehen gewesen und mit Bordmitteln auch nicht möglich. So gibt es keine standardmäßigen Möglichkeiten Schleifen mit Abbruchbedingungen einzusetzen. Außer einer For-Schleife steht nichts zur Auswahl. Ich benötigte eine Schleife mit einer bestimmten maximalen Anzahl an Durchläufen. Diese sollte aber beim erwarteten Ergebnis auch schon früher abbrechen. Das lässt sich mit einer For-Schleife nicht realisieren. Denn man kann aus dieser nicht per goto-Befehl „ausbrechen“ . Bei Batch-Dateien ist dies nicht vorgesehen. Somit würde die Maximalanzahl an Durchläufen immer durchgeführt werden. Auch wenn das eigentliche Ziel schon beim ersten Versuch erreicht wurde. Mit Powershell wäre das einfach gewesen, steht aber leider auf den Zielsystemen nicht zur Verfügung. Das ist aber trotzdem kein Problem.

Read more

Client-Rechner und Anwendungen von Netzlaufwerken

Mir wird es nie einleuchten, warum Softwarehersteller sich so an der Nutzung von Netzlaufwerken festklammern, grade auch wenn die Ausführung von Programmen von diesen selbst von Microsoft selber nicht empfohlen wird, aber egal.

Wenn das ganze dann auch noch auf Client-Rechnern in einer Außenstelle zum Einsatz kommt, wo das Verzeichnis sogar lokal auf dem Rechner liegt und auf diesem selber als Netzlaufwerk eingebunden wird, und der zweite Client-Rechner zwecks Datensynchronität das Netzlaufwek vom ersten Client-Rechner einbinden muss, dann kann es zu Problemen kommen, die ich in diesem Artikel erläutere.

Read more

Grausame Batch-Syntax: if und else

Heute musste ich wieder einmal länger überlegen warum mein Batch-Skript nicht funktionierte. Dies ist der super intuitiven Syntax geschuldet, die ich ab und an wieder vergesse wenn ich länger nichts größeres damit machen musste. Grundsätzlich sind komplexere Sachen in Batch eher „schwierig“ umzusetzen und werden leicht zu Spaghetti-Code. Das ändert aber die meisten Softwarehersteller auch im Jahr 2019 nicht daran einige Teile ihrer Softwarelösung mit Hilfe eines ganzen Haufens von Batch-Skripten zu realisieren, die sich dann auch noch gegenseitigt mit irgendwelchen Parametern aufrufen. Dann braucht man sich als Admin auch nicht schlecht fühlen so etwas zu machen 😀

Read more

Wochentag in einer Batch-Datei ermitteln

Auch wenn es mittlerweile Ur-Alt-Technologie ist, ab und zu braucht man gute alte Batch-Dateien. Diesmal brauchte ich eine Batch-Datei die je nach Wochentag anders agiert. Dafür hätte man auch einzelne Batch-Dateien erstellen können und dann entsprechend für jeden Wochentag eine Aufgabe in der Windows-Aufgabenplanung anlegen können. Aber da der Aufgabendialog meiner Meinung nach immer noch relativ bescheiden gestaltet ist, habe ich dort lieber nur wenige Einträge zu verwalten 😀

Read more

Anmeldeinformationen für freigegebene Ordner speichern

Für den Zugriff auf viele Ordnerfreigaben, die auf Rechnern außerhalb der Domäne liegen, war es nötig die Anmeldeinformationen dauerhaft auf dem Server zu hinterlegen. In der Regel müssen diese nach einiger Zeit neu eingegeben werden. Das Problem ist, dass die Software die diese Freigaben nutzen soll, leider selber nicht die entsprechenden Anmeldeinformationen übergeben kann, sondern einen Pfad erwartet, auf den sie sofort zugreifen kann.

Read more

Verbesserung des Skripts zur automatischen IP-Ermittlung

Vor einiger Zeit habe ich einen Artikel über die Verwendung eines beliebigen DynDNS-Dienstes hinter einem Router, der selber keine Möglichkeit bietet diesen Dienst zu nutzen, geschrieben.

Bei meinem ursprünglichen Skript war es nötig das Linux-Tool wget unter Windows zu verwenden und auf ein eigenes PHP-Skript, das einen eigenen Webspace voraussetzt, zu nutzen. Bei diesem Skript hingegen wird mittels Visual Basic Script die Aufgabe von wget übernommen und die Ausgabe der Webseite http://checkip.dyndns.com/ geladen. Da diese Seite nicht nur die IP-Adresse, sondern auch anderen Quellcode ausgibt, muss dieser noch gefiltert und zurecht gestutzt werden.

Read more

Automatischer Backup-Download per WinSCP und das aktualisierte Server-Zertifikat

Vor einiger Zeit habe ich darüber berichtet, wie man sich ein automatisches Backup der MySQL-Datenbanken bei All-Inkl und einen automatisierten Download der Backups auf den heimischen Rechner einrichten kann. Nun gibt es diesbezüglich noch ein Problem, das mir jetzt aufegfallen ist. Seit Ende Februar sind anscheinend die Dateien gar nicht mehr heruntergeladen worden. Der einfache Grund: Der Provider, in meinem Fall -All-Inkl, hat allem Anschein nach das SSL-Zertifikat gewechselt oder erneuert. Auf jeden Fall hat sich der „Fingerabdruck“ des Zertifikats geändert und WinSCP vertraut diesem nun nicht mehr, da es sich nicht mehr um den in der Batch-Datei hinterlegten Fingerabdruck handelt.

Read more