# HP Bloatware mit Intune automatisiert enternen

HP Bloatware mit Intune entfernen: Schritt-für-Schritt-Anleitung mit PowerShell-Skript für die automatische Deinstallation über Microsoft Endpoint Manager.

---

&lt;p&gt;Wir zeigen wie durch den Einsatz von Intune neue und alte Computer von HPs Bloatware bereinigt werden können.&lt;/p&gt;&lt;p&gt;Hallo zum allerersten Artikel über Intune und das Entfernen von HP Bloatware. Hier ein kurzer Überblick wer wir sind und wie wir auf das Thema gekommen sind: Wir sind ein IT-Dienstleister und zu unseren vielen Kunden aus Industrie, Handwerk und vielen anderen zählt auch eine Privatschule in Sachsen-Anhalt. Im Rahmen der Förderung "Digitalpakt Schule" gab es Gelder für die Anschaffung neuer IT-Ausstattung, unter anderem wurden HP Notebooks für alle Lehrer vom Land zur Verfügung gestellt.&lt;/p&gt;&lt;p&gt;Leider mussten die Lehrer die Geräte selbst einrichten, so dass wichtige Einstellungen nicht vorgenommen wurden. Da Privatschulen bekanntlich über ein gewisses Budget verfügen und Office 365 A1 bereits im Einsatz war, entschieden wir uns, die Geräte über Windows Autopilot in das zentrale Intune Management zu integrieren.&lt;/p&gt;&lt;p&gt;Im Folgenden wird nicht auf die Einrichtung von Intune und Autopilot eingegangen, sondern nur beschrieben, wie die HP Bloatware Apps automatisch entfernt werden können.&lt;/p&gt;&lt;p&gt;Was sind die Voraussetzungen?&lt;/p&gt;&lt;ul&gt;&lt;li&gt;das Gerät muss mit Intune verbunden sein&lt;/li&gt;&lt;li&gt;Der Benutzer oder das Gerät muss über eine Intune-Lizenz verfügen (in M365 Business Premium, M365 E3, E5 enthalten).&lt;/li&gt;&lt;li&gt;Es muss eine dynamische Gruppe mit HP-Geräten vorhanden sein.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Nach einigen Recherchen im Internet haben wir von Jeroen Burgerhout ein Skript zum Entfernen von HP Bloatware gefunden. Leider ist dieses nicht mehr ganz aktuell und es wurden nicht alle Programme entfernt.&lt;/p&gt;&lt;p&gt;Wir haben das Skript von ihm um 4 Programme erweitert. Es ist in unserem &lt;a href="https://github.com/SchmittelITGmbH/SIT-scripts.git"&gt;GitHub Repo&lt;/a&gt; zu finden. Am Ende der Seite finden Sie eine Beschreibung, wie das Skript funktioniert.&lt;/p&gt;&lt;h2&gt;Bereitstellung des Programms in Intune&lt;/h2&gt;&lt;p&gt;Damit das Script nun auf allen Computern und Notebooks die HP Bloatware entfernt muss es in Intune veröffentlicht werden und den Geräten zugewiesen werden.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Zuerst muss die Datei &lt;a href="https://github.com/SchmittelITGmbH/SIT-scripts/blob/main/IntuneFile/RemoveHPBloatware.intunewin"&gt;RemoveHPBloatware.intunewin&lt;/a&gt; in &lt;a href="https://endpoint.microsoft.com/#view/Microsoft\_Intune\_Apps/AppWizardBlade/appId/00000000-0000-0000-0000-000000000000/appType/WindowsClassicApp"&gt;Intue hochgeladen&lt;/a&gt; werden&lt;/li&gt;&lt;li&gt;App informationen müssen ausgefüllt werden&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Im Teil &lt;strong&gt;Program &lt;/strong&gt;müssen nun installations und deinstallations befehle eingetragen werden&lt;/p&gt;&lt;p&gt; 1. Ins Installationskommando feld tragen Sie folgenden befehlt ein &lt;strong&gt;powershell.exe -noprofile -executionpolicy bypass -file .\\RemoveHPBloatware.ps1&lt;/strong&gt; 2. Ins Deinstallationkommado feld tragen Sie folgenden befehl ein &lt;strong&gt;cmd.exe /c del %ProgramData%\\HP\\RemoveHPBloatware\\RemoveHPBloatware.ps1.tag&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Im Abschnitt &lt;strong&gt;Detection rules&lt;/strong&gt; müssen nun die Regeln definiert werden, damit Intune erkennen kann, ob das Skript erfolgreich installiert wurde.&lt;/p&gt;&lt;p&gt; 1. Wählen Sie unter &lt;strong&gt;Regelformat&lt;/strong&gt; die &lt;strong&gt;manuelle Erkennung&lt;/strong&gt; aus. 2. Klicken Sie auf &lt;strong&gt;+ Hinzufügen&lt;/strong&gt;. 3. Wählen Sie unter &lt;strong&gt;Regeltyp &lt;/strong&gt;die Option &lt;strong&gt;Datei&lt;/strong&gt;. 4. Geben Sie im Feld &lt;strong&gt;Pfad&lt;/strong&gt; folgenden Wert ein &lt;strong&gt;%ProgramData%\\HP\\RemoveHPBloatware&lt;/strong&gt; 5. Geben Sie im Feld &lt;strong&gt;Datei oder Ordner&lt;/strong&gt; folgenden Wert ein &lt;strong&gt;RemoveHPBloatware.ps1.tag&lt;/strong&gt; 6. Wählen Sie als Erkennungsmethode &lt;strong&gt;Datei oder Ordner vorhanden&lt;/strong&gt;. 7. Klicken Sie auf &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Jetzt müssen Sie nur noch das Programm den Geräten zuweisen, dies kann für eine Handvoll Geräte manuell erfolgen, oder Sie erstellen eine Dynamische Gruppe mit der Zuweisung HP Geräte und wählen dann diese Gruppe bei Erforderlich aus.&lt;/p&gt;&lt;p&gt;&lt;a href="/fileadmin/\_processed\_/0/7/csm\_Intune1\_40d63edd2b.png"&gt; &amp;lt;img src=&amp;quot;TODO-asset:/fileadmin/user\_upload/How\_To/Intune1.png&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt; &lt;/a&gt; &lt;a href="/fileadmin/\_processed\_/9/2/csm\_Intune2\_02f1b91e4f.png"&gt; &amp;lt;img src=&amp;quot;TODO-asset:/fileadmin/\_processed\_/9/2/csm\_Intune2\_0363ec6b54.png&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt; &lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Sie benötigen Unterstützung, um Intune bzw. Endpoint Manager zu implementieren?&lt;/h2&gt;&lt;p&gt;&lt;a href="/kontakt/"&gt;Jetzt unverbindlich beraten lassen&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Wie funktioniert das HP Bloatware Script&lt;/h2&gt;&lt;p&gt;Das script erstellt zuerst eine TAG-Datei. Anhand dieser kann Intune feststellen ob das Script erfolgreich installiert worden ist.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;# Create a tag file just so Intune knows this was installedif (-not (Test-Path &amp;quot;$($env:ProgramData)\\HP\\RemoveHPBloatware&amp;quot;)){ Mkdir &amp;quot;$($env:ProgramData)\\HP\\RemoveHPBloatware&amp;quot;}Set-Content -Path &amp;quot;$($env:ProgramData)\\HP\\RemoveHPBloatware\\RemoveHPBloatware.ps1.tag&amp;quot; -Value &amp;quot;Installed&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Im zweiten Teil des Scripts werden die Appx Packages von HP definiert. Natürlich können auch andere Programme hinzugefügt und Programme ausgeschlossen werden.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;# Start loggingStart-Transcript &amp;quot;$($env:ProgramData)\\HP\\RemoveHPBloatware\\RemoveHPBloatware.log&amp;quot;# List of built-in apps to remove$UninstallPackages = @( &amp;quot;AD2F1837.HPEasyClean&amp;quot; &amp;quot;AD2F1837.HPPCHardwareDiagnosticsWindows&amp;quot; &amp;quot;AD2F1837.HPPowerManager&amp;quot; &amp;quot;AD2F1837.HPPrivacySettings&amp;quot; &amp;quot;AD2F1837.HPProgrammableKey&amp;quot; &amp;quot;AD2F1837.HPQuickDrop&amp;quot; &amp;quot;AD2F1837.HPSupportAssistant&amp;quot; &amp;quot;AD2F1837.HPSystemInformation&amp;quot; &amp;quot;AD2F1837.HPWorkWell&amp;quot; &amp;quot;AD2F1837.myHP&amp;quot; &amp;quot;Tile.TileWindowsApplication&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Teil drei des Scripts, hier werden die HP Programme definiert die entfernt werden sollen. Wie in teil zwei auch können Programme hinzugefügt werden.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;# List of programs to uninstall$UninstallPrograms = @( &amp;quot;HP Client Security Manager&amp;quot; &amp;quot;HP Notifications&amp;quot; &amp;quot;HP Security Update Service&amp;quot; &amp;quot;HP System Default Settings&amp;quot; &amp;quot;HP Wolf Security&amp;quot; &amp;quot;HP Wolf Security Application Support for Sure Sense&amp;quot; &amp;quot;HP Wolf Security Application Support for Windows&amp;quot; &amp;quot;HP Connection Optimizer&amp;quot; &amp;quot;HP Documentation&amp;quot; &amp;quot;HP Security Update Service&amp;quot; &amp;quot;HP Sure Click&amp;quot; &amp;quot;HP Sure Sense Installer&amp;quot; &amp;quot;HP System Default Settings&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Im letzten Teil werden nun die Programme und Appx-Packages entfernt.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$HPidentifier = &amp;quot;AD2F1837&amp;quot;$InstalledPackages = Get-AppxPackage -AllUsers | Where {($UninstallPackages -contains $\_.Name)} #-or ($\_.Name -match &amp;quot;^$HPidentifier&amp;quot;)}$ProvisionedPackages = Get-AppxProvisionedPackage -Online | Where {($UninstallPackages -contains $\_.DisplayName)} #-or ($\_.DisplayName -match &amp;quot;^$HPidentifier&amp;quot;)}$InstalledPrograms = Get-Package | Where {$UninstallPrograms -contains $\_.Name}# Remove provisioned packages firstForEach ($ProvPackage in $ProvisionedPackages) { Write-Host -Object &amp;quot;Attempting to remove provisioned package: \[$($ProvPackage.DisplayName)\]...&amp;quot; Try { $Null = Remove-AppxProvisionedPackage -PackageName $ProvPackage.PackageName -Online -ErrorAction Stop Write-Host -Object &amp;quot;Successfully removed provisioned package: \[$($ProvPackage.DisplayName)\]&amp;quot; } Catch {Write-Warning -Message &amp;quot;Failed to remove provisioned package: \[$($ProvPackage.DisplayName)\]&amp;quot;}}# Remove appx packagesForEach ($AppxPackage in $InstalledPackages) { Write-Host -Object &amp;quot;Attempting to remove Appx package: \[$($AppxPackage.Name)\]...&amp;quot; Try { $Null = Remove-AppxPackage -Package $AppxPackage.PackageFullName -AllUsers -ErrorAction Stop Write-Host -Object &amp;quot;Successfully removed Appx package: \[$($AppxPackage.Name)\]&amp;quot; } Catch {Write-Warning -Message &amp;quot;Failed to remove Appx package: \[$($AppxPackage.Name)\]&amp;quot;}}# Remove installed programs$InstalledPrograms | ForEach { Write-Host -Object &amp;quot;Attempting to uninstall: \[$($\_.Name)\]...&amp;quot; Try { $Null = $\_ | Uninstall-Package -AllVersions -Force -ErrorAction Stop Write-Host -Object &amp;quot;Successfully uninstalled: \[$($\_.Name)\]&amp;quot; } Catch {Write-Warning -Message &amp;quot;Failed to uninstall: \[$($\_.Name)\]&amp;quot;}}Stop-Transcript&lt;/code&gt;&lt;/pre&gt;
