uhli90
Goto Top

Windows 10 - Apps per Powershell deinstallieren

Hallo liebe Community,

da mich das manuelle Deinstallieren der Apps in Windows 10 nervt habe ich mir ein kleines Powershell-Skript geschrieben.

Die 1. Version hat leider nicht funktioniert, ich musste erst die *(Sternchen) mit in dem Array speichern - wie in der 2. Version zu sehen ist - damit der Befehl funktioniert.

Alles nicht weiter schlimm, trotzdem würde mich der Grund interessieren, weshalb die 1. Version nicht funktioniert.

Danke im Voraus.

P.S.: Ich habe meine Schrott-App-Liste der Übersicht halber abgekürzt. Leider musste ich feststellen, dass in vielen der App-Listen die man im Internet findet die Bezeichnungen nicht mehr ganz stimmen. Bei Bedarf poste ich gerne meine aktuelle Liste (Getestet auf Windows 10 Build 1909).

1. Version *(Sternchen) in der Schleife
$apps = @(
    "3d",  
    "Asphalt8Airborne",  
    "CandyCrushSaga"  
)

for ($i=0; $i -lt $apps.length; $i++){
    Get-AppxPackage -AllUsers *$apps[$i]* | Remove-AppxPackage
    Write-Host Die App $apps[$i] wird deinstalliert.
}


2. Version *(Sternchen) im Array
$apps = @(
    "*3d*",  
    "*Asphalt8Airborne*",  
    "*CandyCrushSaga*"  
)

for ($i=0; $i -lt $apps.length; $i++){
    Get-AppxPackage -AllUsers $apps[$i] | Remove-AppxPackage
    Write-Host Die App $apps[$i] wird deinstalliert.
}

Grüße vom Uhli und ein frohes neues Jahr.

Content-ID: 530664

Url: https://administrator.de/contentid/530664

Ausgedruckt am: 04.12.2024 um 08:12 Uhr

beidermachtvongreyscull
Lösung beidermachtvongreyscull 02.01.2020 aktualisiert um 14:25:26 Uhr
Goto Top
Hi,

für interaktives Deinstallieren nutze ich einen Einzeiler:

Get-AppxPackage | Out-GridView -PassThru | Remove-AppxPackage

Du bekommst dann alle APPX-Pakete als Liste aufbereitet, kannst ein oder mehrere anklicken und alle markierten werden entfernt.

Geht übrigens auch mit:

Get-AppxProvisionedPackage -Online | Out-GridView -PassThru | Remove-AppxProvisionedPackage

Ich mag Dynamik.

Frohes Neues!
Uhli90
Uhli90 02.01.2020 aktualisiert um 14:57:23 Uhr
Goto Top
Auch eine sehr schöne Lösung, beim 2. Befehl bekomme ich aber leider folgende Meldung zurück:

Remove-AppxProvisionedPackage : Das Argument kann nicht an den Parameter "Path" gebunden werden, da es NULL ist.  
In Zeile:1 Zeichen:63
+ ... kage -Online | Out-GridView -PassThru | Remove-AppxProvisionedPackage
+                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Dism....pxPackageObject:PSObject) [Remove-AppxProvisionedPackage
   ], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Dism.Commands.RemoveAppxProvisi
   onedPackageCommand

Get-AppxProvisionedPackage -Online in Verbindung mit Remove-AppxProvisionedPackage dient doch zu dauerhaften Deinstallation, damit neue Windows-Benutzer die App nicht erneut herunterladen und installieren oder?

Gruß Uhli
Kraemer
Lösung Kraemer 02.01.2020 aktualisiert um 17:35:38 Uhr
Goto Top
Get-AppxPackage -AllUsers "*$($apps[$i])*" | Remove-AppxPackage  
oder
Get-AppxPackage -AllUsers ("*"+$apps[$i])+"*") | Remove-AppxPackage  
beidermachtvongreyscull
Lösung beidermachtvongreyscull 03.01.2020 aktualisiert um 09:47:33 Uhr
Goto Top
Zitat von @Uhli90:

Auch eine sehr schöne Lösung, beim 2. Befehl bekomme ich aber leider folgende Meldung zurück:

> Remove-AppxProvisionedPackage : Das Argument kann nicht an den Parameter "Path" gebunden werden, da es NULL ist.  
> In Zeile:1 Zeichen:63
> + ... kage -Online | Out-GridView -PassThru | Remove-AppxProvisionedPackage
> +                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     + CategoryInfo          : InvalidData: (Microsoft.Dism....pxPackageObject:PSObject) [Remove-AppxProvisionedPackage
>    ], ParameterBindingValidationException
>     + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Dism.Commands.RemoveAppxProvisi
>    onedPackageCommand
> 

Kann ich nicht nachvollziehen, denn bei mir funktioniert es damit:
Get-AppxProvisionedPackage -Online | Out-GridView -PassThru | Remove-AppxProvisionedPackage

Zitat von @Uhli90:
Get-AppxProvisionedPackage -Online in Verbindung mit Remove-AppxProvisionedPackage dient doch zu dauerhaften Deinstallation, damit neue Windows-Benutzer die App nicht erneut herunterladen und installieren oder?

Nicht nur. Provisionierte Apps erscheinen mir eine Teilmenge der "normalen" Apps zu sein. Du hast aber insofern Recht, als dass eine vorhandene provisionierte App sich jedem Anwender bekannt macht. Ist sie entfernt, tut sie das natürlich auch nicht.

Ein Gedanke zum obigen Problem:
Führst Du die Powershell mit erhöhten Rechten aus?
Uhli90
Uhli90 21.01.2020 um 15:35:32 Uhr
Goto Top
Zitat von @beidermachtvongreyscull:
Ein Gedanke zum obigen Problem:
Führst Du die Powershell mit erhöhten Rechten aus?


Leider ja. Ich habe es jetzt auf mehreren Windows 10 Maschinen mit dem Build 1909 ausprobiert, aber ich bekomme immer das selbe Ergebnis... aber das ist nicht so schlimm, da komme ich auch noch drauf.


Ich danke auch für euren In- und Output. Ich denke, das Thema ist erst einmal erledigt.