[[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]]