Cross-Platform: Spike für Betrieb unter PowerShell 7 auf macOS/Linux

Windows-Verhalten bleibt identisch (Pfade/Temp verifiziert). Portable Anpassungen:
- Get-AppDataDir/Test-IsWindows (Models.ps1): App-Daten unter macOS in
  ~/Library/Application Support, Linux in $XDG_CONFIG_HOME/~/.config;
  auf Windows unveraendert %APPDATA%. Settings- und Policy-Export-Pfad nutzen ihn.
- ReportDir ueber [IO.Path]::GetTempPath() statt $env:TEMP (auf macOS/Linux leer).
- Start.ps1: Browser plattformneutral oeffnen (open/xdg-open/Start-Process);
  WMI-Stale-Instanz-Erkennung nur noch auf Windows.
- Datei-/Ordner-Dialog: macOS-nativer osascript-Chooser statt System.Windows.Forms;
  auf nicht unterstuetzten Plattformen klare Fehlermeldung.

Auth (Device-Code-Flow) und HttpListener sind bereits plattformneutral. Test auf
echtem macOS steht aus; Packaging (.app/.dmg) folgt separat.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-09-16 15:46:56 +02:00
co-authored by Claude Opus 4.8
parent 9fb42b4d7e
commit e652891c41
4 changed files with 67 additions and 8 deletions
+1 -2
View File
@@ -14,8 +14,7 @@
# JSON-Inhalt (Frontend-Upload) oder eine Datei aus dem Server-Archiv.
function Get-PolicyExportDir {
$dir = Join-Path $env:APPDATA 'IntuneAppManager-Web'
$dir = Join-Path $dir 'policy-exports'
$dir = Join-Path (Get-AppDataDir) 'policy-exports'
if (-not (Test-Path $dir)) { New-Item -ItemType Directory -Path $dir -Force | Out-Null }
return $dir
}