Eine automatische Ablösung einer Win32 App, welche mit avaiable intent auf (Benutzer-)Gruppen zugewiesen ist, ist derzeit leider nur auf Umwegen in Microsoft Intune erreichbar.
Microsoft Configuration Manager vs. Microsoft Intune
Vergebens sucht man in Intune eine vergleichbare Methode zum Konfigurationspunkt „Automatically upgrade any superseded version of this application” vom Configuration Manager. Dieser kleine Hacken ermöglicht es nämlich, eine Supersedence von Anwendungen auf den entsprechenden Geräten automatisch durchzuführen, welche zuvor per „Kiosk“ dem Benutzer zur Verfügung gestellt wurden.
Hintergründe: Das Verhalten von Supersedence kann hier nachgelesen werden:
Add Win32 app supersedence – | Microsoft Learn
Dynamische Guppen?
Es ist naheliegend eine Lösung auf Gruppen-Ebene zu suchen. Leider können Gruppen nur bedingt dynamisch agieren. Ein Einbinden eines PowerShell Skripts, welches auf Device-Ebene eruiert, ob eine Anwendung in einer bestimmen Version installiert ist, ist nicht möglich. Ein solches Skript ist jedoch im Bereich App Requirement möglich – mehr dazu siehe nächster Abschnitt.
App Requirements
Das Einbinden von (PowerShell-)Skripts ist in Bereich App Requirements möglich.
Das eröffnet folgende Möglichkeit für einen flächendeckend Rollout einer Anwendung mit definierter Supersedence:
Ablösung via App Requirements
Erstellt man zwei identische Pakete der neuen Version (inkl. Supersedence) in Intune.
-> 1st Package weiterhin assigned mit available intent auf der bestehenden Gruppe.
-> 2tes Package (Doppel) mit required intent auf sämtlichen Devices. Dieses Paket wird nicht sichtbar sein im Company Portal da intent required und Zielgruppe Devices.
Im 2ten Paket wird nun per Requirement festgelegt, dass es nur dann installiert werden soll, wenn die alte Version installiert ist. Dies muss genau identifiziert werden können z.bsp über einen branding\maintanance key oder ähnliches.
Die Abfrage kann per Powershellskript hinterlegt werden. z.Bsp:
Teste ob alte Version installiert ist:
if(Test-Path 'HKLM:\\SOFTWARE\\myCompany\\Maintenance\\<pkgName>') {Write-Host 'The application is installed' Exit 0}
Das Paket kann nun auf „all Devices“ zugewiesen und ausgerollt werden. Es installiert nur, wenn das hinterlegte Skript ein $true liefert. Also nur dann, wenn die alte Anwendung installiert war.
Es ist und bleibt ein Workaround. Und benötigt deshalb strategische Entscheide über das Handling (cleanUp) der Doppel-Pakete im System.
Lösungsansätze
Es bleiben somit 3 Möglichkeiten für das Ablösen einer App via Supersedence, wenn diese mit available intent zur Verfügung gestellt wurde:
- Manuell
Die Anwender müssen den Upgrade der Anwendung manuell im Company Portal auslösen. Die Kommunkation an den Enduser kann unterstützt werden z.bsp durch eine zusätzliche Toast-Notification. Wie z.Bsp hier thematisiert:
Use Proactive Remediations to pop a Toast Notification when Unsupported Apps are found – MSEndpointMgr - App Requirements
Wie im obigen Abschnitt beschrieben. - Kontaktiere uns auf info@clearbyte.ch und bespreche mit uns einen automatisierten Ansatz via Azure Runbook und einem zugehörigen Frontend.