Windows10 Hilfsprogramme endgültig löschen
Hallo,
wir sind gerade dabei mit Windows OOBE ein Image vorzubereiten.
Wir würden gerne Xbox, HP Hilfsprogramme, Cortana usw. deaktivieren / löschen, damit sie bei neuen User nicht erneut aktiviert werden.
Wenn wir all das entfernen (z. B. mit CCleaner) werden all diese Tools bei einem neu angelegten User neu eingerichtet.
Gibt es eine Möglichkeit ungewollte Spiele und Tools (z. B. OneDrive) endgültig zu entfernen?
Ein Workaround wäre all diese Software direkt nach dem Anlegen des Users mit einem PowerShell-Script zu entfernen.
Vielen Dank für eine kurze Rückmeldung.
LG I.
wir sind gerade dabei mit Windows OOBE ein Image vorzubereiten.
Wir würden gerne Xbox, HP Hilfsprogramme, Cortana usw. deaktivieren / löschen, damit sie bei neuen User nicht erneut aktiviert werden.
Wenn wir all das entfernen (z. B. mit CCleaner) werden all diese Tools bei einem neu angelegten User neu eingerichtet.
Gibt es eine Möglichkeit ungewollte Spiele und Tools (z. B. OneDrive) endgültig zu entfernen?
Ein Workaround wäre all diese Software direkt nach dem Anlegen des Users mit einem PowerShell-Script zu entfernen.
Vielen Dank für eine kurze Rückmeldung.
LG I.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 616502
Url: https://administrator.de/forum/windows10-hilfsprogramme-endgueltig-loeschen-616502.html
Ausgedruckt am: 15.05.2025 um 07:05 Uhr
14 Kommentare
Neuester Kommentar
Moin.
ja gibt es.
Siehe hier:
https://www.heise.de/tipps-tricks/Windows-10-Vorinstallierte-Apps-deinst ...
zusätzlich mit
und
Gruß
Doskias
ja gibt es.
Siehe hier:
https://www.heise.de/tipps-tricks/Windows-10-Vorinstallierte-Apps-deinst ...
zusätzlich mit
Remove-AppxPackage (Get-AppxPackage -Name Microsoft.WindowsStore) noch den Windows Store
und
C:\Windows\SysWOW64\OneDriveSetup.exe -uninstall
ist selbsterklärendGruß
Doskias
Zitat von @istike2:
Ich habe beide getestet und das Verhalten ist bei beiden identisch:
Die Tools werden entfernt, werden aber bei jedem neuen User eingerichtet.
Ich habe beide getestet und das Verhalten ist bei beiden identisch:
Die Tools werden entfernt, werden aber bei jedem neuen User eingerichtet.
Ja. Das ist so "by Design". Du löscht es "nur" für den angegebenen Benutzer. Wie in dem heise-Artikel steht, kannst du mit -alluser (als Admin) es für alle deinstallieren. Das funktioniert jedoch nicht immer zuverlässig. also mit.
Get-AppxPackage -alluser *getstarted* | Remove-AppxPackage
Woran liegt das? Das sind Tools die bei der Einrichtung des Users mitgegeben werden. Mit
Get-AppxPackage *getstarted*
C:\Program Files\WindowsApps\Microsoft.Getstarted_9.10.32461.0_x64__8wekyb3d8bbwe
Dort ist dann für jeden User ein eigener Ordner. Mit dem Remove-AppxPackage entfernst du das nur für den User, aber das "Setup" bleibt vorhanden. Da wir wirklich User haben, die das eine oder andere Paket brauchen (Fotoanzeige, Paint 3D) lösche ich nur je nach User das was sie brauchen.Dafür habe ich insgesamt 4 PS-Skripte (für jede Variation) die ich brauche eins. Die Skripte liegen auf dem DC und per GPO wird ein geplanter Task erstellt, der einmalig pro Client für jeden User ausgeführt wird und dann bei dem User es deinstalliert. So wird es gleich beim Anmelden am neuen Rechner entfernt, andere User haben am gleichen Rechner aber ihr Tool noch zur Verfügung. Und damit hast du deinen Automatismus und musst nicht mehr nach jeder Installation es händisch machen.
Nachtrag: Es hindert dich natürlich auch niemand daran, das PS Skript als geplanten Task in dein Image einzubauen. Aber dann läuft das PS-Skript natürlich bei jeder Anmeldung in Fehler, wenn es versucht bereits deinstallierte Pakete erneut zu deinstallieren.
Stimmt
Wenn du mal folgende Ergebnisse vergleichst:
Die InstallLocation ist in beiden identisch, aber beim AllUsers bekommst du zusätzlich noch eine PackageUserInformation. Dort ist dann die S-ID des Users und der User im Klarnamen zu lesen wo das Package installiert ist.
Es ist also nicht wie früher ein eigener Ordner sondern offenbar nur noch eine Referenz. Ändert aber an sich nichts daran, dass du mit eine PS Skript, was du als geplanten Task bei der Anmeldung ausführst mit und den Namen aus der Liste die entsprechende App deinstallieren kannst.
Es gab also kein Verzeichnis für jeden User. Habe ich dich bez. dieses Punkts missverstanden?
Nein ich habe mich geirrt. Sie haben da wohl in der Vergangenheit etwas geändert, was auch das Nicht-funktionieren von dem remove mit dem Parameter -allusers erklären könnte. Aber:Wenn du mal folgende Ergebnisse vergleichst:
Get-AppxPackage -AllUsers *getstarted*
Get-AppxPackage *getstarted*
Die InstallLocation ist in beiden identisch, aber beim AllUsers bekommst du zusätzlich noch eine PackageUserInformation. Dort ist dann die S-ID des Users und der User im Klarnamen zu lesen wo das Package installiert ist.
Es ist also nicht wie früher ein eigener Ordner sondern offenbar nur noch eine Referenz. Ändert aber an sich nichts daran, dass du mit eine PS Skript, was du als geplanten Task bei der Anmeldung ausführst mit
Get-AppxPackage *getstarted* | Remove-AppxPackage
Zitat von @tikayevent:
Du musst die Software nicht nur entfernen, sondern auch deprovisionieren => Remove-AppxProvisionedPackage
Du musst die Software nicht nur entfernen, sondern auch deprovisionieren => Remove-AppxProvisionedPackage
Danke für den Hinweis. Das kannte ich noch nicht. Bin bei meiner Recherche wie es funktioniert grade auf folgenden Code gestoßen:
Get-AppxProvisionedPackage -Online | Out-GridView -PassThru | Remove-AppxProvisionedPackage -Online
Finde ich persönlich ganz praktisch
Zitat von @istike2:
Wie führen wir so ein Script am besten / sinnvollsten aus. Es sollen mehrere Möglichkeiten geben...
Wie führen wir so ein Script am besten / sinnvollsten aus. Es sollen mehrere Möglichkeiten geben...
Steht doch schon oben.
Dafür habe ich insgesamt 4 PS-Skripte (für jede Variation) die ich brauche eins. Die Skripte liegen auf dem DC und per GPO wird ein geplanter Task erstellt, der einmalig pro Client für jeden User ausgeführt wird und dann bei dem User es deinstalliert. So wird es gleich beim Anmelden am neuen Rechner entfernt, andere User haben am gleichen Rechner aber ihr Tool noch zur Verfügung. Und damit hast du deinen Automatismus und musst nicht mehr nach jeder Installation es händisch machen.
Generell meine Empfehlung:
Eine GPO bauen, die das Skript als geplanten Task verteilt und bei der Anmeldung ausführt. Dort den Haken setzen "nur einmalig ausführen".
Je nachdem welche Möglichkeiten es geben soll, musst du halt mehrere Skripte erstellen. Du kannst das Skript auch bei jeder Anmeldung ausführen lassen und per UNC-Pfad eine Log-Datei schreiben lassen und du prüfst im Skript ob die Log-Datei schon besteht. Das gibt dir zum einen die Möglichkeit der Prüfung, zum anderen kannst du auch wieder alle Apps installieren und die Log-Datei löschen und so variabel anpassen, wenn sich doch was ändert.
Um aber zu wissen wie und was am sinnvolslten ist, müssten wir die Möglichkeiten kennen ;)
Zitat von @istike2:
Ok, vielen Dank für den Hinweis.
Diese Lösung passte deshalb nicht, weil wir von den 1st.-Level Support sind.
Wir haben keinen Zugriff auf die zentrale Uni-Infrastruktur, wie DC und GPO-Steuerung.
Wir bräuchten also eine Option auf dem Client selbst (in dem zu verteilenden Image) um so einen Skript bei der Erstanmeldung auszuführen.
Gr. I.
Ok, vielen Dank für den Hinweis.
Diese Lösung passte deshalb nicht, weil wir von den 1st.-Level Support sind.
Wir haben keinen Zugriff auf die zentrale Uni-Infrastruktur, wie DC und GPO-Steuerung.
Wir bräuchten also eine Option auf dem Client selbst (in dem zu verteilenden Image) um so einen Skript bei der Erstanmeldung auszuführen.
Gr. I.
Dann musst du kreativ werden und aus dem Bauch würde ich folgende machen:
1. Prüfe ob es einen Order unter c:\users gibt der jünger als 1 Tag ist und dem User-Namen des Users entspricht der sich anmeldet.
2. Wenn der Ordner jünger als einen Tag ist, dass führe das Skript aus und lösche die Apps
3. Wenn der Ordner älter als ein Tag ist, dann mach nichts.
Das Skript wird zwar bei jeder Anmeldung ausgeführt, aber nur an dem Tag an dem der Benutzer-Ordner erstellt wurde macht es auch was. Die Auswirkung auf die Logingeschwindigkeit sollte dabei Minimal sein.
Das Skript dann als geplanten Task für jeden User bei der Anmeldung ausführen.
Gibt aber ggf. auch elegantere Methoden.