daoudi1973
Goto Top

Windows App für alle Users löschen (deinstallieren)

Einen wunderschönen guten Morgen alle,

wir haben einen neuen Laptop in der Firma mit Windows 10.
Ich habe mich als Lokal-Administrator angemeldet und ich habe versucht Apps mit Power Shell für alle Users zu löschen.

Zuerst habe ich mit diesem Befehl versucht.

Get-AppxPackage *App-Namen* | Remove-AppxPackage

Leider die Apps sind nur für den Lokal-Admin gelöscht und nicht für alle Users.

Danach habe ich mit diesem Befehl versucht:

Get-appxprovisionedpackage –online | where-object {$_.packagename –like "*App-Namen*"} | remove-appxprovisionedpackage –online

Trotzdem hat sich nicht geändert, die Apps sind für den Lokal-Admin gelöscht und nicht für alle Users.

kann jemand mit helfen?

Vielen Dank im Voraus

Daoudi1973

Content-ID: 435432

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

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

joachim57
joachim57 02.04.2019 um 10:19:40 Uhr
Goto Top
Ich mach das immer mit dem O&O AppBuster
Bloeker
Bloeker 02.04.2019 um 10:29:27 Uhr
Goto Top
Hi,

das liegt daran, dass die Apps für jeden neu eingeloggten User gelöscht werden müssen.

Entweder per Powershell-Skript oder die install.wim der Windows 10 Installation entsprechend ohne Apps ausrollen. Danach muss mittels Registry-Key verhindert werden, dass sich die Apps wieder von alleine installieren.

Grüße

Bloeker
SlainteMhath
SlainteMhath 02.04.2019 um 10:52:32 Uhr
Goto Top
Moin,

je nach Windows Build kannst du evtl auch bei Remove-AppXPackage den Switch -AllUsers verwenden.

lg,
Slainte
erikro
erikro 02.04.2019 um 16:02:50 Uhr
Goto Top
Moin,

das Problem kenne ich doch. face-wink Dafür habe ich zwei Skripte.

Zitat von @Daoudi1973:
Zuerst habe ich mit diesem Befehl versucht.

Get-AppxPackage *App-Namen* | Remove-AppxPackage

Fast richtig. Es fehlt bei beiden "-allUsers". Allerdings geht das nicht mit den aktuellen Windows-10-Versionen. Offensichtlich will MS das nicht und hat den Parameter abgeschafft.

Leider die Apps sind nur für den Lokal-Admin gelöscht und nicht für alle Users.

Works as designed. face-wink

Hier mein Skript, das ich per GPO bei jeder Anmeldung laufen lasse. Damit ist Schluss mit im Userkontext installierten Apps. ACHTUNG! Fehlt die Whitelist, dann werden alle Apps gelöscht. Auch so sinnvolle Apps wie der Rechner.

# Skript zum Löschen der Apps unter Windows 10

PARAM (

    # Textdatei, in der die zulässigen Apps stehen. Es wird der FullName getestet.
    # Es reicht, wenn ein Teil des Namens der App angegeben wird.
    # Die Namen der Apps können mit get-appxpackage heruasgefunden werden.
    # Jede genmehmigte App muss in einer einzelnen Zeile stehen.
    # Wird das Skript als Logon-Skript verwendet, muss der Pfad absolut angegeben werden.
    $whitelist = "whitelist.txt",  

    # Zeichensatz, mit der die Whitelist kodiert wurde.
    $encoded = "utf8"  
)

# Gibt es keine Whitelist, wird alles gnadenlos gelöscht.

if( -not (Test-Path $whitelist)) {

    get-AppXPackage | remove-AppXPackage

}

else {

    $arr_allowed_apps = get-content -path $whitelist -Encoding $encoded
    [regex]$regex = ""  
    $regex_allowed = ""  
    foreach($allowed in $arr_allowed_apps) {

        $regex_allowed = $regex_allowed + ".*" + $allowed + ".*|"  

    }
    $regex_allowed = $regex_allowed.trimend("|")  
    $regex_allowed = "^(" + $regex_allowed + ")$"  
    $regex = $regex_allowed
    $arr_installed_apps = get-AppXPackage | Select-Object -Property PackageFullName

    foreach($installed in $arr_installed_apps.PackageFullName) {

        if( -not ($installed -match $regex)) {

            remove-appXPackage -Package $installed

        }

    }
}

Danach habe ich mit diesem Befehl versucht:

Get-appxprovisionedpackage –online | where-object {$_.packagename –like "*App-Namen*"} | remove-appxprovisionedpackage –online

Trotzdem hat sich nicht geändert, die Apps sind für den Lokal-Admin gelöscht und nicht für alle Users.

Dieser Befehl löscht nichts bei bestehenden Usern, sondern entfernt Apps aus dem Image. VORSICHT! Es können auch für das System notwendige Apps gelöscht werden. Deshalb arbeite ich hier auch mit einer Blacklist.

param (

    [Parameter(Mandatory)]
    $to_delete

)

$apps = Get-Content $to_delete -Encoding UTF8

foreach($app in $apps) {

    Get-AppxProvisionedPackage -Online | where-object {$_.DisplayName -like "*$app*"} | Remove-AppxProvisionedPackage -online  
    Write-Output "$app wurde gelöscht."  

}

Und so sieht dann die momentane Blacklist aus.

Office
XBox
Zune
YourPhone
WindowsStore
windowscommunicationapps
WindowsCamera
Windows.Photos
Wallet
StorePurchase
SkypeApp
OneConnect
SolitaireCollection
Bing

hth

Erik