Hier ist die korrigierte Version:
====== Alle Computer automatisch hochfahren ======
Dieser Guide setzt voraus, dass alle Schritte des Guides [[sonstiges:alle_computer_gleichzeitig_hochfahren|"Alle Computer gleichzeitig hochfahren"]] bereits durchgeführt wurden.
Im Folgenden wird erklärt, wie man einstellen kann, dass an normalen Werktagen Aposoft am Server sowie alle Computer in der Apotheke zu einer voreingestellten Zeit hochfahren sollen. Dabei wurde berücksichtigt, dass dies **nicht** an Feiertagen und Sonntagen passiert.
=== Wake Aposoft am Server mit Feiertagsüberprüfung ===
Wir legen eine Textdatei (.txt) an und schreiben Folgendes hinein:
@echo off
setlocal
REM Abrufen des heutigen Datums
for /f "tokens=1,2,3 delims=." %%a in ('echo %date%') do (
set "tag=%%a"
set "monat=%%b"
set "jahr=%%c"
)
REM Abrufen der Feiertage für das aktuelle Jahr
curl "https://feiertage-api.de/api/?jahr=%jahr%&nur_land=NI" > feiertage.json
REM Prüfen, ob heute ein Feiertag ist
findstr "%jahr%-%monat%-%tag%" feiertage.json >nul
if %errorlevel% equ 0 (
echo Heute ist ein Feiertag. Die EXE-Datei wird nicht gestartet.
exit /b
) else (
echo Heute ist kein Feiertag. Die EXE-Datei wird gestartet.
start "" "F:\Aposoft\Programme\Aposoft.exe"
)
endlocal
**Achtung:** In diesem Beispiel wurde die Feiertags-API für Niedersachsen gewählt. Befindest du dich in einem anderen Bundesland, musst du das "NI" am Ende der URL gegen das jeweilige Kürzel deines Bundeslandes austauschen.
{{:sonstiges:bundesland_wappen1.png?400|}}
Die Textdatei wird gespeichert (z. B. auf dem Laufwerk F) und die Endung in ".bat" umgeändert.
=== Wake Apotheke mit Feiertagsüberprüfung ===
Wir verändern die Batch-Datei, die wir zum Starten der anderen Computer verwenden (siehe [[sonstiges:alle_computer_automatisch_hochfahren|]]):
@echo off
setlocal
REM Abrufen des heutigen Datums
for /f "tokens=1,2,3 delims=." %%a in ('echo %date%') do (
set "tag=%%a"
set "monat=%%b"
set "jahr=%%c"
)
REM Abrufen der Feiertage für das aktuelle Jahr
curl "https://feiertage-api.de/api/?jahr=%jahr%&nur_land=NI" > feiertage.json
REM Prüfen, ob heute ein Feiertag ist
findstr "%jahr%-%monat%-%tag%" feiertage.json >nul
if %errorlevel% equ 0 (
echo Heute ist ein Feiertag. Das Wake-on-LAN-Programm wird nicht ausgeführt.
exit /b
) else (
echo Heute ist kein Feiertag. Das Wake-on-LAN-Programm wird ausgeführt.
"C:\Users\Apotheke\Documents\wakemeonlan-x64\WakeMeOnLan.exe" /wakeupmulti "4C-52-62-A5-95-7B" "4C-52-62-37-51-34" "4C-52-62-A5-95-62" "90-1B-0E-2B-C8-59" "4C-52-62-BC-71-AB" "FC-4D-D4-42-89-20" "FC-4D-D4-42-89-1D" "FC-4D-D4-42-8A-2E" "6C-4B-90-E6-63-C2" "00-30-59-1R-3F-FA" "00-30-59-1E-41-7A" "00-30-59-21-04-7A" "00-30-59-1E-3F-FA"
)
endlocal
Diese oben gezeigte Datei ist nur ein Beispiel. Bitte verwende deine eigenen MAC-Adressen und kontrolliere, ob dein "Wake on LAN"-Programm am gleichen Ort installiert ist wie in diesem Beispiel.
Auch hier muss die API an dein Bundesland angepasst werden.
=== Windows Aufgabenplanung einrichten ===
Wir möchten die beiden Batch-Dateien automatisch ausführen lassen. Dafür verwenden wir die Windows Aufgabenplanung. Wir erstellen insgesamt zwei Aufgaben (eine für jede Batch-Datei). Ich empfehle, dass die Batch-Datei "Aposoft am Server starten mit Feiertagsüberprüfung" 20 bis 30 Minuten vor dem Start der anderen Batch-Datei ausgeführt wird.
- Windows Aufgabenplanung öffnen
- Einfache Aufgabe erstellen (rechts im Fenster)
- Name (und ggf. Beschreibung) eingeben
- Wöchentliche Ausführung
- Bitte alles ankreuzen (außer Sonntag) und die Uhrzeit definieren
- Aktion: Programm starten
- Speicherort der Batch-Datei auswählen
Viel Erfolg. Bei Fragen gerne melden.
--- //[[Jonas.el-hawari@gmx.de|Jonas El-Hawari]] 2024/09/28 07:37//