Files
KDS-Install-Agent/README.md
T
MrBlakeandClaude Opus 5.5 46a969ee90 WLAN-Profile, portables OpenVPN und automatischer AD-Join
- WLAN-Tab: SSIDs (WPA2/WPA3/offen, versteckt) in Blaupausen speichern,
  fuer alle Benutzer anlegen, Profile eines Referenzgeraets uebernehmen
- OpenVPN portabel: offizielles MSI per msiexec /a entpackt + Microsoft-
  signierter TAP-Treiber in tools\openvpn; Treiber wird nur temporaer
  geladen und danach entfernt (--disable-dco, --dev-node)
- .ovpn/Zertifikate je Kunde hochladen, Benutzer/Kennwort optional
- AD-Join mit DC-Test (SRV+LDAP), OU, Umbenennung, lokalen Admins,
  optional ueber VPN; VPN optional als Dienst fuer die erste Anmeldung
- Fehlende Kennwoerter werden beim Start abgefragt und nicht gespeichert

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 16:29:07 +02:00

70 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# KDS Install Agent
Portabler Agent zum automatischen Einrichten von Windows-11-Notebooks – direkt vom USB-Stick, ohne Installation und ohne zusätzliche Abhängigkeiten (nur Bordmittel: PowerShell 5.1, Edge, winget).
## Start
| Datei | Zweck |
|---|---|
| `Start.cmd` | Startet den Agent (fordert Adminrechte an) und öffnet die Oberfläche als eigenes Desktop-Fenster (Edge-App-Modus). |
| `Start-Remote.cmd` | Zusätzlich im Netzwerk erreichbar (Firewall-Regel für Domäne/Privat wird angelegt). Die URL mit Token steht im Konsolenfenster. |
Parameter für `Agent.ps1`: `-Port 8090`, `-Remote`, `-NoWindow` (nur Web-Server).
Die Web-API ist immer mit einem zufälligen Token geschützt, das bei jedem Start neu erzeugt wird.
## Funktionen
- **Programme**: Live-Suche im öffentlichen **winget**-Repository und im **Microsoft Store**, Schnellauswahl aus `config/apps.json`. Eigene Setups (EXE, MSI, MSIX, PS1, CMD) per Drag & Drop **hochladen**; Silent-Parameter werden je Datei gespeichert (`installers\installers.json`). Installation systemweit (`--scope machine`, Fallback auf Standard-Scope). „Alle aktualisieren“ über `winget upgrade --all`. Fehlt winget, wird es automatisch nachinstalliert (offline aus `packages\winget\`, sonst über Microsoft).
- **Office**: Konfigurator für das Office Deployment Tool (M365 Apps Enterprise/Business, LTSC 2024/2021, Home & Business 2024, Visio/Project, Sprachen, Apps abwählen, Kanal, Architektur, MSI-Entfernung, Shared Activation, Makro-Sperre …) mit Live-Vorschau der `configuration.xml`.
- *Online*: direkt vom Microsoft-CDN installieren
- *Build*: Installationsdateien nach `office\source\<Produkt>-<Arch>` auf den Stick laden
- *Offline*: vom Stick installieren
- `setup.exe` wird bei Bedarf automatisch geladen; generierte XMLs landen in `office\configs\`.
- **Desktop-Icons** für alle Benutzer (öffentlicher Desktop): Web-Links (`.url`), Programmverknüpfungen (`.lnk`) und **RDP-Verbindungen** (`.rdp`: im Formular erzeugt inkl. Gateway, RemoteApp, Umleitungen, oder vorhandene .rdp-Dateien hochladen), eigene Icons hochladbar nach `icons\` (werden nach `C:\ProgramData\KDS-Agent\Icons` kopiert). Vorlagen in `config/shortcuts.json`.
- **WLAN**: SSIDs mit Kennwort (WPA2/WPA3/offen, versteckt, automatisch verbinden) in der Blaupause speichern und für alle Benutzer anlegen. WLAN-Profile eines Referenzgeräts lassen sich inkl. Kennwort übernehmen.
- **VPN & Domäne**:
- **OpenVPN portabel vom Stick**: „Portables OpenVPN erstellen“ lädt einmalig die offiziellen Pakete nach `tools\openvpn\` (OpenVPN aus dem MSI entpackt, ohne Installation, plus Microsoft-signierter TAP-Treiber). Beim Verbinden wird der TAP-Treiber nur temporär geladen und danach wieder entfernt.
- `.ovpn` und Zertifikate je Kunde hochladen (`vpn\`), Benutzer/Kennwort optional speichern. Leere Kennwörter werden beim Start abgefragt und nicht gespeichert.
- **AD-Join**: Erreichbarkeitstest (DC per DNS-SRV + LDAP), Beitritt mit OU, gleichzeitiger Umbenennung und lokalen Admin-Gruppen, optional über das VPN.
- Optional bleibt das VPN als **OpenVPN-Dienst** (offline vom Stick installiert) bestehen, damit die erste Domänenanmeldung außerhalb des Firmennetzes funktioniert.
- **Bloatware**: Scan des Geräts und Entfernen per Klick: Windows-Store-Apps (für alle Benutzer + Vorlage für neue Benutzer), Hersteller-Tools (HP, Dell, Lenovo, Acer, ASUS), Testversionen (McAfee, Norton …), vorinstallierte Office/OneNote-Versionen (Click-to-Run, z. B. `Microsoft 365 - fr-fr`) und OneDrive. Empfohlene Einträge sind vorausgewählt; der Katalog ist in `config/bloatware.json` erweiterbar. Business-Office-Versionen (Volumen/Enterprise) werden angezeigt, aber nie automatisch empfohlen.
- **System**: Computername, Zeitzone, Dateiendungen anzeigen (auch für neue Benutzer), Consumer-Features/Werbe-Apps aus.
- **Sicherheit**: Defender (Echtzeit/Cloud/PUA), Firewall, SmartScreen, UAC, SMBv1 aus, Autorun aus, LSA-Schutz, Telemetrie, RDP an/aus, lokales Admin-Konto.
- **Energie**: Energieplan, Timeouts für Bildschirm/Standby/Ruhezustand (Netz & Akku), Deckel- und Netzschalteraktion, Ruhezustand, Schnellstart.
- **BitLocker**: Status, Aktivierung mit TPM oder TPM+PIN, XTS-AES 128/256, nur belegten Speicher, Sicherung in Entra ID / AD. Der Wiederherstellungsschlüssel wird **immer** unter `bitlocker-keys\` auf dem Stick gespeichert (Computername + Seriennummer).
- **Updates & Treiber**: Windows- und Treiberupdates über die Windows-Update-API (inkl. Microsoft Update) suchen, auswählen, installieren. Hersteller-Tools: Dell Command Update, Lenovo System Update, HP Image Assistant.
- **Blaupausen**: Komplette Standard-Einrichtungen je Kunde unter `blueprints\` speichern, nach Kunde gruppiert anzeigen, suchen, laden, duplizieren, exportieren/importieren. Auf der Übersicht per Dropdown auswählen und direkt starten. Mitgeliefert: `Beispiel / Büro-Standard` und `Beispiel / Minimal`.
- **Einrichtung mit einem Klick**: Auf der Übersicht alle Schritte in sinnvoller Reihenfolge ausführen.
- **Aufgaben**: Alle Aktionen laufen als Hintergrund-Jobs in einer Warteschlange (nacheinander, damit sich Installer nicht blockieren). Live-Protokoll in der Oberfläche; Logs unter `logs\<Computername>\`.
## Ordnerstruktur
```
Start.cmd / Start-Remote.cmd Starter
Agent.ps1 HTTP-Server, API, Job-Queue
lib\Functions.ps1 Alle Einrichtungsfunktionen
web\ Oberfläche (HTML/CSS/JS)
config\apps.json Programm-Schnellauswahl (anpassbar)
config\shortcuts.json Verknüpfungs-Vorlagen (anpassbar)
installers\ hochgeladene Setups + installers.json (Silent-Parameter)
icons\ eigene Icons (.ico)
rdp\ hochgeladene .rdp-Dateien
vpn\ hochgeladene .ovpn-Konfigurationen + Zertifikate
tools\openvpn\ portables OpenVPN (bin\, driver\, setup\) – per Klick erstellt
config\bloatware.json Bloatware-Katalog (anpassbar)
packages\winget\ optional: winget-Offlinepakete (*.msixbundle + Abhängigkeiten *.appx)
office\ setup.exe, configs\, source\ (Offline-Builds)
blueprints\ Blaupausen (je Kunde)
logs\, bitlocker-keys\ werden zur Laufzeit angelegt
```
Ist der Stick schreibgeschützt, schreibt der Agent Logs und Schlüssel nach `C:\ProgramData\KDS-Agent\`.
## Hinweise
- **Sicherheit**: Blaupausen können Klartext-Kennwörter (lokaler Admin, BitLocker-PIN, WLAN, VPN, Domäne) enthalten, und `bitlocker-keys\` enthält Wiederherstellungsschlüssel. Den Stick entsprechend schützen. VPN- und Domänen-Kennwörter können leer bleiben und werden dann beim Start abgefragt. Blaupausen (außer den Beispielen), RDP-/VPN-Dateien und Schlüssel sind per `.gitignore` von der Versionsverwaltung ausgeschlossen.
- BitLocker benötigt Windows 11 Pro/Enterprise/Education. Unter Home steht nur die Geräteverschlüsselung zur Verfügung.
- Die Store-Installation (`msstore`) braucht Internet und kann bei Konten ohne Store-Zugang fehlschlagen.
- Einige Einstellungen (Computername, LSA-Schutz, SMBv1, BitLocker mit Hardwaretest) werden erst nach einem Neustart wirksam.