[[Uebersicht|← Zurück zur Homepage]] # DriveMonitor F: – Windows Server 2019 **Erstellt:** 2026-06-18 **Zweck:** Überwacht Laufwerk `F:` und sendet einmalig eine Mail, sobald eine Festplatte eingelegt und bereit ist. Nach dem Entfernen beginnt der Zyklus von vorne. --- ## Dateien | Datei | Zweck | |---|---| | `DriveMonitor-F.ps1` | Hauptscript – läuft dauerhaft im Hintergrund | | `Setup-DriveMonitor-Credentials.ps1` | Einmalig: verschlüsselt das SMTP-Passwort | Beide Dateien liegen aktuell auf dem Desktop (`C:\Users\Joachim2026\Desktop\`). Empfohlener Zielort auf dem Server: `C:\Scripts\DriveMonitor\` --- ## Funktionsweise ``` [Start] │ ▼ Schleife (alle N Sekunden) │ ├─ F: erreichbar? UND noch keine Mail gesendet? │ → Mail senden, Flag setzen │ ├─ F: nicht erreichbar? UND Mail wurde gesendet? │ → Flag zurücksetzen (Zyklus bereit für nächste Einlegung) │ └─ sonst: warten ``` --- ## Einrichtung auf dem Server ### Schritt 1 – Dateien kopieren ```powershell New-Item -ItemType Directory -Force "C:\Scripts\DriveMonitor" Copy-Item "Desktop\DriveMonitor-F.ps1" "C:\Scripts\DriveMonitor\" Copy-Item "Desktop\Setup-DriveMonitor-Credentials.ps1" "C:\Scripts\DriveMonitor\" ``` ### Schritt 2 – Konfiguration anpassen In `DriveMonitor-F.ps1` folgende Variablen setzen: ```powershell $smtpServer = "smtp.example.com" # SMTP-Host $smtpPort = 587 # 587 = STARTTLS, 465 = SSL $smtpUser = "[email protected]" # SMTP-Login $mailFrom = "[email protected]" # Absender $mailTo = "[email protected]" ``` ### Schritt 3 – Passwort verschlüsseln (einmalig) > Muss unter demselben Windows-Account laufen, der später den Dienst ausführt. ```powershell powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\DriveMonitor\Setup-DriveMonitor-Credentials.ps1" ``` Erzeugt: `C:\Scripts\DriveMonitor\smtp_password.bin` Die Datei ist AES-verschlüsselt und nur auf diesem PC + Account lesbar. ### Schritt 4 – Als geplante Aufgabe einrichten ```powershell schtasks /create /tn "DriveMonitor-F" ` /tr "powershell.exe -NonInteractive -ExecutionPolicy Bypass -File C:\Scripts\DriveMonitor\DriveMonitor-F.ps1" ` /sc onstart /ru SYSTEM /f ``` > **Hinweis SYSTEM-Account:** Wenn `SYSTEM` als ausführender Account verwendet wird, muss auch das Setup-Script unter `SYSTEM` laufen (z.B. via `psexec -s powershell.exe`). ### Schritt 5 – Manueller Testlauf ```powershell powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\DriveMonitor\DriveMonitor-F.ps1" -IntervalSeconds 5 ``` --- ## Parameter | Parameter | Standard | Beschreibung | |---|---|---| | `-IntervalSeconds` | `10` | Prüfintervall in Sekunden | --- ## Fehlerbehandlung | Fehler | Ursache | Lösung | |---|---|---| | `Passwortdatei nicht gefunden` | Setup-Script nicht ausgeführt | Schritt 3 nachholen | | `Passwort konnte nicht entschlüsselt werden` | Falscher Account | Setup-Script unter dem richtigen Account neu ausführen | | `Fehler beim Senden` | SMTP-Fehler | Mail-Flag wird nicht gesetzt → nächster Versuch im nächsten Intervall | --- ## Abhängigkeiten - Windows Server 2019 - PowerShell 5.1+ - `Send-MailMessage` (im SMTP-Modus mit STARTTLS/SSL) - Netzwerkzugang zum SMTP-Server --- ## Offene Punkte - [ ] SMTP-Zugangsdaten auf dem Server konfigurieren - [ ] Setup-Script unter Service-Account ausführen - [ ] Geplante Aufgabe anlegen und testen - [ ] Optionaler Ausbau: Logging in Datei (`-Append` auf `Out-File`) - [ ] Optionaler Ausbau: Als Windows-Dienst via `New-Service` statt geplanter Aufgabe --- [[Hinweise/Impressum|Impressum]] | [[Hinweise/Datenschutzerklärung|Datenschutz]]