Problemet
Brukere hadde tidligere lokale administratorrettigheter. De installerte hva de ville - Zoom, personlige verktøy, tilfeldig programvare.
Nå har vi låst det ned. Apper kommer kun gjennom Company Portal. Men det gamle ligger fortsatt på enhetene.
På tide å rydde opp.
Rammer
Intune Proactive Remediation kjører to skript:
- Deteksjon - Sjekker om appen finnes (exit 1 = funnet, exit 0 = ikke funnet)
- Utbedring - Fjerner den hvis funnet
Beslutning
Skriptet sjekker registry, WMI og programlisten. Du konfigurerer det ved å endre disse variablene øverst:
$AppDisplayName = "Zoom"
$AppPublisher = ""
$AppProductCode = "{86B70A45-00A6-4CBD-97A8-464A1254D179}"
$UsePartialMatch = $true
For å finne produktkoden til en app:
Get-WmiObject Win32_Product | Format-Table Name, IdentifyingNumber
Skriptet logger alt til C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\ for feilsøking.
Komplett skript: Detect-UnwantedApp.ps1
Implementering
Når appen er oppdaget, avinstallerer utbedringsskriptet appen ved hjelp av avinstalleringsstrengen fra registry eller MSI-produktkoden.
Komplett skript: Remove-UnwantedApp.ps1
Resultat
- Gå til Intune → Enheter → Utbedringer
- Klikk Opprett skriptpakke
- Gi den navn: “Fjern Zoom” (eller den aktuelle appen)
- Last opp:
- Deteksjonsskript:
Detect-UnwantedApp.ps1 - Utbedringsskript:
Remove-UnwantedApp.ps1
- Deteksjonsskript:
- Innstillinger:
- Kjør skript i 64-bit PowerShell: Ja
- Kjør med påloggede legitimasjoner: Nei (kjører som SYSTEM)
- Tilordne til en enhetsgruppe
- Sett tidsplan (daglig eller hver time avhengig av hvor hastig det er)
Avveininger
- Test først - Kjør deteksjon på en pilotgruppe før du aktiverer utbedring
- Produktkoder endres - Ulike versjoner av en app kan ha forskjellige koder
- Risiko med delvis treff -
$UsePartialMatch = $truekan treffe apper du ikke hadde tenkt (f.eks. “Zoom” treffer “Zoom Plugin for Outlook”) - Brukerdata - Noen apper lagrer brukerdata. Varsle brukere før massefjerning
Skalering til flere apper
Opprett separate utbedringspakker for hver app, eller modifiser skriptet til å sjekke en liste:
$UnwantedApps = @(
@{Name = "Zoom"; ProductCode = "{86B70A45-00A6-4CBD-97A8-464A1254D179}"},
@{Name = "TeamViewer"; ProductCode = ""},
@{Name = "AnyDesk"; ProductCode = ""}
)