Policies-Tab: Export/Import (Settings Catalog, Compliance, Config)
Build & Release MSI / build-msi (push) Canceled after 0s

Neuer Tab "Policies" zum Sichern und Wiederherstellen von Intune-Policies.

- Backend src/PolicyIO.ps1: typ-getrieben fuer configurationPolicies
  (Settings Catalog), deviceCompliancePolicies und deviceConfigurations
- Export als JSON-Download (einzeln/Bundle) + Server-Archiv unter %APPDATA%
- Import per Datei-Upload, immer Neuanlage (nie ueberschreiben), robust fuer
  Hashtable (PS7) und PSCustomObject (PS5.1); im Read-Only-Modus ausgeblendet
- Routen in src/Api.ps1; Config-Scope DeviceManagementConfiguration.* auch
  nach Settings-Save sichergestellt
- Frontend: Tab + View, Suche/Typ-Filter/Sortierung, Auswahl, Download/Upload
- Version 0.1.25 (Start.ps1, CHANGELOG, README)
- build-local.ps1: x64-.NET-Runtime fuer wix auf ARM64-Windows + echter
  Desktop-Pfad

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-19 14:25:29 +02:00
co-authored by Claude Opus 4.8
parent e63ae28cb1
commit ea51bac772
9 changed files with 898 additions and 7 deletions
+17 -3
View File
@@ -1,12 +1,26 @@
Set-StrictMode -Off
$ErrorActionPreference = 'Stop'
$env:DOTNET_ROOT = "C:\Program Files\dotnet"
# WiX 4 laeuft als x64-.NET-App. Auf ARM64-Windows (Parallels) liegt unter
# C:\Program Files\dotnet nur die ARM64-Runtime — dann eine separat installierte
# x64-Runtime bevorzugen, sonst faellt wix.exe mit "You must install .NET" aus.
$x64Dotnet = "$env:USERPROFILE\dotnet-x64-install"
if (Test-Path "$x64Dotnet\dotnet.exe") {
$env:DOTNET_ROOT_X64 = $x64Dotnet
$env:DOTNET_ROOT = $x64Dotnet
} else {
$env:DOTNET_ROOT = "C:\Program Files\dotnet"
}
$version = "0.1.25"
$src = "\\Mac\Home\ClaudePRJ\Intune Manager"
$stage = "$env:TEMP\IntuneManagerStage"
$installerDir = "$src\installer"
$harvestWxs = "$env:TEMP\AppFiles.wxs"
$msi = "$env:USERPROFILE\Desktop\IntuneManager-v0.1.24.msi"
# Echter Desktop-Pfad (auf Parallels ist der sichtbare Desktop der Mac-Desktop,
# C:\Mac\Home\Desktop — NICHT C:\Users\<user>\Desktop).
$desktop = [Environment]::GetFolderPath('Desktop')
$msi = "$desktop\IntuneManager-v$version.msi"
# --- WixUI Extension installieren (Version passend zu WiX 4.0.6) ---
Write-Host "=== Extension ===" -ForegroundColor Cyan
@@ -61,7 +75,7 @@ Write-Host "Fragment: $harvestWxs ($idx Dateien)"
Write-Host "`n=== MSI bauen ===" -ForegroundColor Cyan
wix build "$installerDir\Intune-Manager.wxs" $harvestWxs `
-ext WixToolset.UI.wixext `
-d Version=0.1.24.0 `
-d Version=$version.0 `
-d SourceDir=$stage `
-d InstallerDir=$installerDir `
-o $msi