Brukere med lokal administratorrettighet er den naturlige fienden til et rent programvareinventar. De installerer uautoriserte nettlesere, utdaterte bilderedigeringsprogrammer og “kjekke” verktøy som raskt blir en hodepine for IT-avdelingen. Enda verre er det når Microsoft Defender for Endpoint flagger disse appene fordi de er utdaterte (End-of-Life) eller ikke lenger støttes (End-of-Support), noe som skaper en massiv liste over sårbarheter du kanskje ikke engang visste at du hadde.

I stedet for å drive med brannslukking for hver enkelt app, har jeg utviklet en “Master Script”-tilnærming for Intune Proactive Remediations. Dette systemet jakter på “zombie-programvare” basert på en sentralisert liste og fjerner den lydløst.

Problemet: Shadow IT og Defender-alarmer

Alle IT-administratorer har sett det: Defenders sårbarhetshåndtering viser 50 enheter med en utdatert versjon av GIMP eller en tilfeldig russisk nettleser som Yandex. Dette er ikke apper du har rullet ut; de ble installert av brukere som “bare trengte det et øyeblikk.”

Disse appene skaper to store problemer:

  1. Sikkerhetsrisiko: Programvare som har nådd slutten av livssyklusen får ikke sikkerhetsoppdateringer. Det er en “zombie” – den burde vært død, men vandrer fortsatt rundt i nettverket ditt.
  2. Operasjonell støy: Tusenvis av Defender-varsler for programvare som ikke engang burde vært der i utgangspunktet.

Forutsetninger

  • Microsoft Intune med Proactive Remediations aktivert (krever Windows 10/11 Enterprise E3/E5).
  • PowerShell 5.1 (standard på Windows).
  • Lokal administratorrettighet (Skriptet kjøres i SYSTEM-kontekst for å utføre avinstalleringer).

Strategien: Slik fungerer jakten

Systemet bruker to skript: et Detection-skript som identifiserer uautorisert programvare, og et Remediation-skript som fjerner den.

Vi målretter programvare ved hjelp av tre metoder:

  1. Register-GUID-er: Finne den spesifikke MSI- eller installasjons-GUID-en i HKLM.
  2. Wildcard i registeret: Finne nøkler som HKLM:\... \Uninstall\Opera* for å fange opp ulike versjoner.
  3. Filstier: Sjekke etter spesifikke kjørbare filer i Program Files eller AppData.

Viktigst av alt er at skriptene håndterer per-bruker-installasjoner ved å skanne HKEY_USERS (HKU). Dette sikrer at apper installert i brukerens lokale profil ikke skjuler seg for systemet.

Implementering: Master-skriptene

Du finner de fullstendige skriptene i mitt GitHub-repositorium.

1. Deteksjonsskriptet (Detection)

Deteksjonsskriptet går gjennom en $zombieTargets-matrise. Hvis et mål blir funnet via registeret eller filstien, avsluttes det med Exit 1, noe som trigger remedieringen.

# Eksempel på definisjon av et mål
@{
    Name          = "GIMP 2"
    Reason        = "Uautorisert programvare - ikke i godkjent katalog"
    Category      = "Unauthorized"
    DetectionType = "Both"
    RegistryPaths = @("HKLM:\GIMP-2_is1", "HKU:\GIMP-2_is1")
    FilePaths     = @("C:\Program Files\GIMP 2\bin\gimp-2.10.exe")
    Enabled       = $true
}

2. Remedieringsskriptet (Remediation)

Når det trigges, prøver remedieringsskriptet følgende i rekkefølge:

  1. Lydløs avinstallering: Det leser UninstallString fra registeret og legger til lydløse flagg (/S, /qn, /VERYSILENT).
  2. Fjerning av mappe: Hvis register-avinstalleringen feiler eller ikke er tilgjengelig, stopper det tvangsmessig alle kjørende prosesser og sletter programmappen.

Verifisering: Hvordan vite at det fungerte

  1. Intune-konsollen: Sjekk Proactive Remediations-oversikten. Du bør se “Issue fixed” for enheter der programvare ble fjernet.
  2. Lokale logger: Skriptene skriver detaljerte logger til C:\ProgramData\Eriteach\Logs\.
  3. Defender for Endpoint: Etter noen dager kan du se at “Software Inventory” og “Vulnerabilities”-oversiktene blir ryddet opp etter hvert som zombie-appene forsvinner.

Feilsøking

  • Prosesser som blokkerer: Noen apper kan feile under avinstallering hvis de er i bruk. Skriptet prøver å stoppe kjente prosesser, men gjenstridige apper kan kreve en omstart.
  • Installasjonsprogrammer med spørsmål: Hvis en app bruker et ikke-standard installasjonsprogram som ikke støtter lydløse flagg, vil skriptet falle tilbake på fjerning av mappen.
  • Avhengighetsrisiko: Vær forsiktig når du målretter kjøretidsmiljøer som .NET eller Visual C++. Noen eldre fagsystemer kan være avhengige av disse. Test alltid på en pilotgruppe først.

Oppsummering

Ikke la uautorisert og utdatert programvare rote til miljøet ditt og blåse opp sårbarhetsrapportene dine. Ved å bruke en sentralisert jakt på “zombie-programvare” med Intune, kan du automatisere oppryddingen og sikre at bare godkjente og sikre applikasjoner blir værende på enhetene dine.