WPF-GUI-Tool zur Verwaltung von SCCM/ConfigMgr-Boundaries und Boundary- Groups. JSON-basierte Konfiguration, Änderungs-Log, Demo-Modus, Dunkel- und Hell-Theme. Optionale MECM AdminService-Integration liest Boundaries direkt vom ConfigMgr-Site-Server (REST/OData) und fällt bei Nichterreichbarkeit auf die JSON-Konfiguration zurück.
:: Direkt
powershell.exe -STA -File "BoundaryManager.ps1"
:: Oder über das interaktive Menü (Tests, Lint, Screenshots, Settings)
powershell.exe -NoProfile -ExecutionPolicy Bypass -File run.ps1Falls aus pwsh.exe (PS 7) ohne -STA aufgerufen, startet sich das Skript
selbst mit -STA -WindowStyle Hidden neu.
Voraussetzungen auf dem Zielsystem:
- Windows PowerShell 5.1 (
powershell.exe, default-STA) oder PowerShell 7+ - WPF / .NET Desktop (auf jedem Windows-Standardsystem dabei)
- Keine externen NuGet-Pakete, keine Installation
flowchart LR
Boot["BoundaryManager.ps1"]
Main["ui/main-window"]
Logic["Logic.ps1"]
Admin["AdminService.ps1"]
Mock["MockData.ps1"]
Dlg["Dialogs<br/>boundary · settings · about"]
Boot --> Main
Main --> Logic
Main --> Admin
Main --> Dlg
Main -.Demo.-> Mock
classDef accent fill:#1a1d26,stroke:#00b7eb,color:#e8ecf2
classDef regular fill:#262a38,stroke:#3a4055,color:#e8ecf2
class Boot,Main accent
class Logic,Admin,Mock,Dlg regular
Detail: docs/Architektur.md · MECM-Integration: docs/MECM-Integration.md
| Datei | Inhalt |
|---|---|
| docs/Architektur.md | Modul-Layout, Lifecycle, State-Persistenz, Theme-System, Modul-Scope-Regeln |
| docs/Bedienung.md | Hauptfenster, Aktionen, Validierungs-Formate, Theme-Farben, Statusbar-Indicator, Title-Bar-Tags |
| docs/MECM-Integration.md | AdminService REST-Pipeline, Probe-Fast-Fail, BoundaryType-Mapping, Mock-Mode, Demo-vs-Mock-Mutex |
| docs/Entwicklung.md | Tests (Pester 5), PSSA-Lint, E2E-Test, Screenshots, Embedded-Changelog, Deployment-Liste |
| docs/Troubleshooting.md | Bekannte Quirks, Closure-Scope-Falle, UTF-8-BOM-Stolperfallen, Diagnose |
| CHANGELOG.md | Release-Historie |
BoundaryManager.docs.html |
Self-contained HTML-Variante mit eingebetteten Mermaid-Diagrammen, im Browser direkt offline öffenbar |
| Aktion | Wo |
|---|---|
| Boundary anlegen / bearbeiten / löschen | Toolbar oder Doppelklick |
| Sortieren / Filtern | Spaltenkopf-Klick · Toolbar-Suchfeld |
| Theme wechseln | Ansicht → Helles/Dunkles Erscheinungsbild |
| MECM-Einstellungen | Extras → Einstellungen… |
| JSON-Bulk-Import | Datei → Importieren (JSON)… |
| Log-Pfad / UNC-Share | Extras → Einstellungen → Änderungslog |
| Demo-Modus / Mock-MECM | Extras → Einstellungen → Debug-Sektion (mutually exclusive) |
| CSV-Export | Datei → Als CSV exportieren |
| Info / Changelog | Hilfe → Info |
Detail: docs/Bedienung.md
run.ps1 ← Interaktives Konsolen-Menü
BoundaryManager.ps1 ← Bootstrapper
BoundaryManager.Logic.ps1 ← Save/Load/Validate/ChangeLog
BoundaryManager.AdminService.ps1 ← MECM REST-Client
BoundaryManager.MockData.ps1 ← Demo-Daten
ui/ ← WPF-Layer (XAML + .psm1)
├── theme.xaml
├── main-window.{xaml,psm1}
├── boundary-dialog.{xaml,psm1}
├── settings-dialog.{xaml,psm1}
├── debug-console.{xaml,psm1}
└── about-dialog.{xaml,psm1}
tools/ ← Dev-Werkzeuge
├── Inspect-Ncp.ps1 ← NCP-Format-Inspektor (anonymisiert)
├── Invoke-PSSA.ps1 ← PSScriptAnalyzer-Lint
├── Pack-Transfer.ps1 ← Deployment-ZIP bauen
├── Take-Screenshots.ps1
├── Test-Startup.ps1 ← E2E-Smoketest
└── Update-EmbeddedChangelog.ps1
tests/ ← 147 Pester-Tests (Pester 5)
_deps/PSScriptAnalyzer/ ← PSSA Slim-Bundle (~10 MB)
_deps/mermaid/ ← Mermaid offline für HTML-Doku
reports/pssa/ ← Lint-Reports (committed)
docs/ ← Diese Doku + Screenshots
Convert-NCP.ps1 ← DSM-NCP → boundaries-import.json
- ✅ App-Version 2.10.4
- ✅ 147 / 147 Pester-Tests grün
- ✅ 0 PSScriptAnalyzer-Errors (6 Legacy-Warnings dokumentiert in
reports/pssa/) - ✅ 6 / 6 E2E-Startup-Szenarien grün
Internal Tooling.
