[How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

Antworten
Benutzeravatar
BigRox
Member
Beiträge: 16
Registriert: Sa 15. Okt 2016, 13:20
    Windows 10 Chrome
Hat sich bedankt: 1 Mal
Danksagung erhalten: 5 Mal
Status: Offline

[How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

#1

Beitrag von BigRox » So 19. Mär 2017, 18:53

Hallo,
in diesem How-To, beschreibe ich, wie man einige unerwünschte Apps von Windows 10, nach der Installation mit der PowerShell von Windows 10 entfernen kann.

Einleitung:
Früher hatte ich auch immer wieder versucht einige Apps mit DISM aus dem Image von Windows 10 zu entfernen.
Nachdem ich dieses Image installiert hatte, traten jedoch fast immer wieder Probleme mit Windows 10 auf.
Anscheinend wurde dann immer etwas zu viel entfernt, wodurch es zu den Problemen kam, da Windows 10 etwas empfindlich auf fehlende Dateien reagiert.
Auch ein Update kann eventuell nicht funktionieren, wenn eine upzudatende Datei nicht vorhanden ist.

Daher habe ich mich entschlossen, auf das Entfernen aus dem Image zu verzichten und die unerwünschten Apps, nach der Installation mit Hilfe
der PowerShell von Windows 10 zu entfernen.

Dadurch werden aber nur die Kopien der Apps entfernt, die eigentlichen Installationsdateien der Apps bleiben jedoch im System.
somit wird Windows auch nicht, wegen einer fehlenden Datei, "rumzicken".

Dadurch wird zwar die Größe des Images nicht reduziert und die anschließende Installation ist auch etwas größer, aber lieber so, als andauernd
irgendwelche Probleme wege zuviel entfernt usw.


! ! ! Zuerst aber noch eine Warnung ! ! !
Mann sollte aber keinesfalls alle Apps einfach löschen, wie man es öffters irgendwo liest.
Da dabei auch Apps, die vom System benötigt werden, einfach gelöscht werden, handelt man sich so garantiert einigen Ärger ein.
Auch sollte man die App "Store" nicht einfach schnell mal löschen, da man diese App eventuell doch nochmal benötigt.

(Da man zum herunterladen einer App die "Store"-App braucht und diese dann fehlen würde, hat man dann ganz schnell ein klizkleines Problem :D ).

Von den ganzen, ach so tollen Programmen zum entfernen der Apps, halte ich auch nicht viel, da alle Programme die ich bisher getestet habe,
immer auch irgendwelche Probleme hatten und man sich damit auch immer ganz einfach mal zuviel löschen konnte.
(und das mit dem wiederherstellen einer App, war öfters auch nur ein leeres Versprechen des Programmierers gewesen... :thumbdown: )


So, jetzt geht es den Apps an den Kragen: ;)
Zuerst muss die PowerShell von Windows 10 als Administrator aufrufen und mit dem Befehl:
(Die PowerShell als Administrator aufrufen geht mit: Start | Windows PowerShell | mit rechts auf "Windows PowerShell" klicken und dann
im angezeigten Menü "Als Administrator starten" auswählen).
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
so eingestellt werden, dass selbsterstellte Scripte ausgeführt werden können.

(Einstellungen der ExectionPolicy:
- AllSigned – Nur von einem vertrauenswürdigen Autor erstellte Skripts können ausgeführt werden (Standardeinstellung).
- RemoteSigned – Heruntergeladene Skripts müssen signiert sein, lokale Scripte können sofort ausgeführt werden.)

Dies kann man auch mit Hile der Gruppenrichlinie:
Computerkonfiguration | Administrative Vorlagen | Windows-Komponennten | Windows PowerShell | Scriptausführung aktivieren
"Aktiviert | Lokale Skripts und remote signierte Skripts zulassen"
einstellen.

Die folgenden drei Befehle funktionieren nur in der als Administrator gestarteten PowerShell!

Durch Eingabe des Cmdlet (so nennt man die Befehle der PowerShell)
Get-AppxProvisionedPackage -online
werden alle Apps mit vollständigem Namen usw. aufgelistet.

Anhand dieser Liste kann man die zu entfernende Apps ermitteln.

Da man unter PowerShell die Ausgabe eines Cmdlets über eine Pipe gleich an einen anderen Befehl weitergeben kann,
Sieht das Cmdlet zum entfernen der App "Groove-Music = ZuneMusic" für den aktuellen Benutzer so aus:
Get-AppxPackage *ZuneMusic* | Remove-AppxPackage
(Da auch die Wildcardzeichen ? * in einem Cmdlet enthalten sein dürfen, braucht man als PackageName nur "*ZuneMusic*" anstelle von
"Microsoft.ZuneMusic_2019.6.19261.0_neutral_~_8wekyb3d8bbwe" zu schreiben).

Um die App "Groove-Musik = ZuneMusic" für alle Benutzer zu löschen, muss man das Cmdlet um "-AllUsers" ergänzen.
Get-AppxPackage -AllUsers *ZuneMusic*| Remove-AppxPackage
Jetzt werden von allen Benutzern, die schon angelegt wurden die Apps entfernt.


Da ich keine Lust hatte, für jede zu entfernende App (15!), ein Cmdlet in der Powershell einzugeben,
habe ich mir ein kleines PowerShell-Script geschrieben, das alle zum entfernen nötigen Schritte ausführt.
(dieses PowerShell-Script entfernt die Apps aber nur von meinem Konto, da "-AllUsers" fehlt).

Hier mein Script:

Code: Alles auswählen

<#
PowerShell-Script zum entfernen einiger unerwünschten Windows 10 Apps.
Die Apps werden aber nur aus dem Konto des momentan angemeldeten Benutzer gelöscht.
In neu angelegten Konten sind die Apps wieder vorhanden und müssen wieder (mit diesem Script) gelöscht werden.
#>

# Eine neue Instance der PowerShell mit Administratorrechtender starten, um die folgenden Befehle auszuführen.
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
    Write-Host "Start mit Administratorrechten..."
    $arguments = "& '" + $myinvocation.mycommand.definition + "'"
    Start-Process powershell -Verb runAs -ArgumentList $arguments
Break
}

# Sleep zur Sicherheit.
Start-Sleep -s 2

# Die Anzeige "Drücken Sie eine Taste..." anzeigen und auf den Tastendruck warten.
Write-Host -NoNewLine 'Drücken Sie eine Taste, um das Script fortzusetzen...';
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');


# Die unerwünschten Apps aus dem aktuellen Benutzerkonto (Konto des momentan angemeldeten Benutzer) entfernen.

# - Startmenü und Kachel "Fotos" ("Photos") entfernen.
Get-AppxPackage *Photos* | Remove-AppxPackage

# - Startmenü und Kachel "Kalender", Startmenü und Kachel "Mail" ("windowscommunicationsapps") entfernen.
Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage

# - Startmenü und Kachel "xbox" ("XboxApp") entfernen.
Get-AppxPackage *XboxApp* | Remove-AppxPackage

# Die App wird nicht angezeigt "XboxIdentityProvider" entfernen.
#Get-AppxPackage *XboxIdentityProvider* | Remove-AppxPackage

# - Startmenü und Kachel "Groove-Music" ("ZuneMusic") entfernen.
Get-AppxPackage *ZuneMusic* | Remove-AppxPackage

# - Startmenü und Kachel "Skype-Vorschau" ("SkypeApp") entfernen.
Get-AppxPackage *SkypeApp* | Remove-AppxPackage

# - Startmenü und Kachel "Film & TV" ("ZuneVideo") entfernen.
Get-AppxPackage *ZuneVideo* | Remove-AppxPackage

# - Startmenü "Feedback-Hub" ("WindowsFeedbackHub") entfernen.
Get-AppxPackage *WindowsFeedbackHub* | Remove-AppxPackage

# - Startmenü "Kontakte" ("People") entfernen.
Get-AppxPackage *People* | Remove-AppxPackage

# - Startmenü "WLAN- und Mobilfunkguthaben"-App ("OneConnect") entfernen.
Get-AppxPackage *OneConnect* | Remove-AppxPackage

# - Startmenü und Kachel "OneNote" ("OneNote") entfernen.
Get-AppxPackage *Office.OneNote* | Remove-AppxPackage

# - Startmenü und Kachel "Mail" ("Messaging") entfernen.
Get-AppxPackage *Messaging* | Remove-AppxPackage

# - Startmenü "3D Builder" ("3DBuilder") entfernen.
Get-AppxPackage *3DBuilder* | Remove-AppxPackage

# - Startmenü und Kachel "Microsoft Solitaire Colection" ("MicrosoftSolitaireCollection") entfernen.
Get-AppxPackage *MicrosoftSolitaireCollection* | Remove-AppxPackage

# - Startmenü und Kachel "Office holen" ("MicrosoftOfficeHub") entfernen.
Get-AppxPackage *MicrosoftOfficeHub* | Remove-AppxPackage

# Den Bildschirm löschen.
Clear-Host

# Die Anzeige "Fertig! Drücken Sie eine Taste,..." anzeigen und auf den Tastendruck warten.
Write-Host -NoNewLine 'Fertig! Drücken Sie eine Tastem, um das Script zu beenden.';
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');

# Das Script beenden.
Exit

Kleine Erklärung zum Script:
# Alles in der Zeile hinter diesem Zeichen, ist ein Kommentar
<# Damit beginnt ein Komentarblock und
#> damit endet der Kommentarblock.

Da ich sofort nach der Installation, die Gruppenrichtlinie entsprechen konfiguriere, brauche ich die Datei mit diesem Script
("Windows 10 Apps entfernen\Programm\Windows 10 Apps mit PowerShell entfernen.ps1")
mit der rechten Maustaste anzuklicken und im Kontextmenü "Mit PowerShell ausführen" anzuklicken,
die Aufforderung im Script zu bestätigen und schon läuft alles weitere automatisch.
(ich brauche die PowerShell auch nicht als Administrator zu starten, da auch dies im Script automatisiert wurde).
Wenn alles entfernt wurde, kommt noch eine Meldung die man auch bestätigen muss und dann: "Schüss ihr unerwünschten Apps" :D .

Auf diese Art lassen sich leider aber nicht alle Apps entfernen.
Für einige Apps braucht man schon etwas "speziellere" Methoden :D .


Und noch etwas zur Ergänzung:
(die PowerShell muss als Administrator gestartet werden!)
Mit den folgenden Befehl werden alle im Image vorhandene Apps (Provisioned-Apps) entfernt, sodass sie auch beim anlegen
eines neuen Benutzers, nicht mehr automatisch installiert werden.
Get-AppXProvisionedPackage -online | Remove-AppxProvisionedPackage -online
Da dabei auch die zum installieren erforderlichen Registry-Einträge entfernt werden, sollte mann sich die Registry-Eiträge vorher sichern,
sonst kann man die Apps nicht wiederherstellen!

Hier stehen in Unterschlüsseln geordnet die Pfade zum installieren der Apps:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications
Die Pfade werden benötigt, um beim anlegen eines neuen Benutzers, diesem auch die Apps unterzujubeln.
Wenn einer der Unterschlüssel fehlt, kann die entsprechende App auch nicht installiert werden.

Die Dateien der Apps stehen in:
C:\Program Files\WindowsApps
Diese Dateien usw., sollte man nicht löschen, da dies zu Problemen führen kann!

Und hier noch ein kleines Script um alle in der Registry aufgeführten Apps wiederherzustellen (falls man doch mal etwas zuviel "entsorgt" hat).

Code: Alles auswählen

# Die genauen Namen der Apps aus der Registry auslesen.
$Packages = (get-item 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications') | Get-ChildItem

# Die App wiederherstellen.
ForEach($Package in $Packages)
{
	# Den Paketnamen und den Paketpfad ermitteln.
	$PackageName = $Package | Get-ItemProperty | Select-Object -ExpandProperty PSChildName
	$PackagePath = [System.Environment]::ExpandEnvironmentVariables(($Package | Get-ItemProperty | Select-Object -ExpandProperty Path))

	# Die App registerieren.
	echo "Versuche die App: $PackageName zu registrieren."

	Add-AppxPackage -register $PackagePath -DisableDevelopmentMode
}
Exit
Einige Apps, wie z.B. diese besch... "CandyCrushSodaSaga" sind leider nur als Binärcodiert Link in der Registry vorhanden, diese Apps werden,
sobald eine Internetverbindung besteht, automatisch heruntergeladen.
Da die besagten Links binärcodiert sind, lassen sie sich auch nicht so einfach finden und einzeln löschen.

Da Microsoft anscheinend etwas gegen das entfernen von dieses Müll hat, funktioniert jeder Trick garantiert auch nicht sehr lang :thumbdown: .

Viel Spass damit:
MfG:
BigRox

(Beitrag am 26.3.2017 ergänzt, u.a. damit eine App für alle Benutzer entfernt werden kann).
Zuletzt geändert von BigRox am So 26. Mär 2017, 18:25, insgesamt 5-mal geändert.

Benutzeravatar
Nemo
Support
Beiträge: 1020
Registriert: Di 12. Jul 2016, 12:28
Wohnort: Bad Soden am Taunus
    Windows 10 Firefox
Hat sich bedankt: 112 Mal
Danksagung erhalten: 129 Mal
Status: Offline

Re: [How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

#2

Beitrag von Nemo » So 19. Mär 2017, 19:33

Hallo BigRox,

Danke für Deinen Beitrag!

Wenn Du die Funktionalität noch für alle Benutzer hinbekämest, wäre Dir ein Benutzer bei CB, der sich mittlerweile hier auch angemeldet hat, für die Lösung desselben Anliegens unter Win8.1 gewiss dankbar.
Die Unterschiede zwischen Win10 und Win8.1 sollten nicht gravierend sein.
Nötigenfalls müsste dieselbe PS-Version 5.1 auch auf Win8.1 implementiert werden.

Gruß, Nemo

Benutzeravatar
Unantastbar
Administrator
Beiträge: 1298
Registriert: Mi 22. Jun 2016, 18:59
    Windows 7 Firefox
Hat sich bedankt: 75 Mal
Danksagung erhalten: 193 Mal
Status: Offline

Re: [How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

#3

Beitrag von Unantastbar » Mo 20. Mär 2017, 18:28

BigRox hat geschrieben:
So 19. Mär 2017, 18:53
Da dies mein erstes How-To ist, seid bitte nicht zu streng mit mir
Schaut doch gut aus. :) Das Script im Spoiler könntest du noch in eine CodeBox setzen. [code]dein Script[/code] erledigt Mod TMC
Zuletzt geändert von Thomas Mc Kie am Di 21. Mär 2017, 17:27, insgesamt 1-mal geändert.
Grund: Codebox eingesetzt
Gruß, Sven

Benutzeravatar
BigRox
Member
Beiträge: 16
Registriert: Sa 15. Okt 2016, 13:20
    Windows 7 Firefox
Hat sich bedankt: 1 Mal
Danksagung erhalten: 5 Mal
Status: Offline

Re: [How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

#4

Beitrag von BigRox » Di 21. Mär 2017, 17:05

Hallo Thomas Mc Kie und Nemo,
Thomas Mc Kie hat geschrieben:
Di 21. Mär 2017, 09:09
Ich hab es mal so geändert.
Die Posts die sich nur mit der Formatierung (Codebox-Spoiler) befassen, werde ich dann demnächst mal löschen (nicht sofort, damit bigrox auch die Chance hat, sie zu lesen).
Danke fürs ändern.
Das gefällt mir so.
Thema aufgeräumt Mod TMC

Ich habe am Sonntag irgendwie den richtigen Button zum formatieren nicht gefunden, aber jetzt habe ich den richtigen auch gefunden ;) .

Nemo hat geschrieben:
So 19. Mär 2017, 19:33
Wenn Du die Funktionalität noch für alle Benutzer hinbekämest, wäre Dir ein Benutzer bei CB, der sich mittlerweile hier auch angemeldet hat, für die Lösung desselben Anliegens unter Win8.1 gewiss dankbar.
Kommt demnächst, ich muss aber erst noch etwas testen.

MfG:
BigRox

Benutzeravatar
Unantastbar
Administrator
Beiträge: 1298
Registriert: Mi 22. Jun 2016, 18:59
    Windows 10 Firefox
Hat sich bedankt: 75 Mal
Danksagung erhalten: 193 Mal
Status: Offline

Re: [How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

#5

Beitrag von Unantastbar » So 26. Mär 2017, 21:22

BigRox hat geschrieben:
So 19. Mär 2017, 18:53
(Beitrag am 26.3.2017 ergänzt, u.a. damit eine App für alle Benutzer entfernt werden kann)
Danke dafür :thumbup:
Gruß, Sven

Benutzeravatar
Nemo
Support
Beiträge: 1020
Registriert: Di 12. Jul 2016, 12:28
Wohnort: Bad Soden am Taunus
    Windows 10 Firefox
Hat sich bedankt: 112 Mal
Danksagung erhalten: 129 Mal
Status: Offline

Re: [How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

#6

Beitrag von Nemo » So 26. Mär 2017, 21:45

BigRox hat geschrieben:
So 19. Mär 2017, 18:53
(Beitrag am 26.3.2017 ergänzt, u.a. damit eine App für alle Benutzer entfernt werden kann)
Von mir auch an dieser Stelle ein dickes Danke :thumbup:
Ohne Svens Hinweis wäre ich allerdings nicht über die Änderung im ersten Beitrag gestolpert.

Gruß Nemo

Benutzeravatar
Thomas Mc Kie
Moderator
Beiträge: 152
Registriert: Di 12. Jul 2016, 10:48
    Windows 7 Firefox
Hat sich bedankt: 45 Mal
Danksagung erhalten: 7 Mal
Status: Offline

Re: [How-To] Windows 10 Apps nach der Installation mit PowerShell entfernen.

#7

Beitrag von Thomas Mc Kie » Mo 27. Mär 2017, 07:42

Hallo BigRox,
bei inhaltlichen Änderungen/Ergänzungen bitte immer auch einen kurzen Post mit Hinweis auf die Änderung ins Thema einfügen, sonst werden diese eventuell übersehen.
Wenn sich dann die Änderungsposts häufen, räumen wir (Mods/Admins) auch gerne nach entsprechender Aufforderung alte irrelevante Meldungen auf.
Viele Grüße
Thomas
Was zählt das Alter, außer die Jahre?

Antworten

Social Media