Seite 1 von 1

[Erledigt] Powershell-Skript als System-User "hängt", Ausführung in User-Session funktioniert

Verfasst: 15 Aug 2017, 15:55
von petersem
Liebe OPSI-Gemeinde,

ich versuche mit den Powershell-Kommandos "get-appxpackage" und "get-appxprovisionedPackage" die vorinstallierten Microsoft Apps mit einem OPSI-Skript zu deinstallieren (https://forum.uib.de/viewtopic.php?f=7&t=9342).

Ausführen in einer Nutzersession ist erfolgreich, das Ausführen durch OPSI (System-User) startet das Skript erfolgreich, hängt aber (schliesst nie ab) mit der angefügten Meldung "Aktivitäten nicht angezeigt".

Habt Ihr einen Tipps, wo ich den Fehler mache? Leider bin ich ein totaler Powershell- und Windows10-Anfänger.

Alternativ werde ich das Skript durch einen temporären OPSI-User auf dem Client lokal ausführen.

setup.opsiscript

Code: Alles auswählen

[Actions]
DefVar $exitcode$

DosInAnIcon_setpolicy winst /SysNative

ExecWith_powershell powershell.exe winst /SysNative

set $exitcode$ = getLastExitcode
if not ($exitcode$ = "0")
comment "powershell script failed"
endif

[DosInAnIcon_setpolicy]
echo "powershell set-executionpolicy unrestricted ..."
powershell.exe set-executionpolicy unrestricted
exit %ERRORLEVEL%

[ExecWith_powershell]
echo "powershell remove ms appx packages"
. %ScriptPath%\w10ent1703_rem_ms_apps.ps1

if ($?) {Exit(0)}
else {Exit(1)}
w10ent1703_rem_ms_apps.ps1

Code: Alles auswählen

Get-AppxPackage -AllUsers *Microsoft.3DBuilder* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.BingWeather* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.DesktopAppInstaller* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.Getstarted* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.Messaging* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.Microsoft3DViewer* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.MicrosoftOfficeHub* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.MicrosoftSolitaireCollection* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.MicrosoftStickyNotes* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.Office.OneNote* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.OneConnect* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.People* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.SkypeApp* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.StorePurchaseApp* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.Wallet* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.WindowsAlarms* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.WindowsCamera* | Remove-AppxPackage
Get-AppxPackage -AllUsers *microsoft.windowscommunicationsapps*| Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.WindowsFeedbackHub* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.WindowsMaps* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.WindowsSoundRecorder* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.WindowsStore* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.XboxApp* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.XboxGameOverlay* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.XboxIdentityProvider* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.XboxSpeechToTextOverlay* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.ZuneMusic* | Remove-AppxPackage
Get-AppxPackage -AllUsers *Microsoft.ZuneVideo* | Remove-AppxPackage

Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.3DBuilder*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.BingWeather*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.DesktopAppInstaller*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.Getstarted*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.Messaging*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.Microsoft3DViewer*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.MicrosoftOfficeHub*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.MicrosoftSolitaireCollection*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.MicrosoftStickyNotes*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.Office.OneNote*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.OneConnect*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.People*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.SkypeApp*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.StorePurchaseApp*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.Wallet*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.WindowsAlarms*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.WindowsCamera*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*microsoft.windowscommunicationsapps*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.WindowsFeedbackHub*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.WindowsMaps*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.WindowsSoundRecorder*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.WindowsStore*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.XboxApp*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.XboxGameOverlay*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.XboxIdentityProvider*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.XboxSpeechToTextOverlay*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.ZuneMusic*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like "*Microsoft.ZuneVideo*"} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
In jedem Fall: Vielen Dank & LG,

Martin

Re: Powershell-Skript als System-User "hängt", Ausführung in User-Session funktioniert

Verfasst: 16 Aug 2017, 16:07
von petersem
Danke für die Aufmerksamkeit.

Wir haben das Problem mit einem lokalem OPSI-Nutzer umgehen können. MS Apps werden nun erfolgreich deinstalliert bzw. entfernt.

LG,

Martin