Add task for removing MS Edge & OneDrive when run as other user or sysprep mode #366

This commit is contained in:
Raphire
2025-11-15 00:46:39 +01:00
parent 6c201fc027
commit e66103f57a
3 changed files with 20 additions and 2 deletions

View File

@@ -0,0 +1,4 @@
Windows Registry Editor Version 5.00
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
"UninstallMicrosoftEdge"="cmd.exe /c winget uninstall --accept-source-agreements --disable-interactivity --id Microsoft.Edge"

View File

@@ -0,0 +1,4 @@
Windows Registry Editor Version 5.00
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
"UninstallMicrosoftOneDrive"="cmd.exe /c winget uninstall --accept-source-agreements --disable-interactivity --id Microsoft.OneDrive"

View File

@@ -383,8 +383,18 @@ function RemoveApps {
Write-Host "Error: WinGet is either not installed or is outdated, $app could not be removed" -ForegroundColor Red Write-Host "Error: WinGet is either not installed or is outdated, $app could not be removed" -ForegroundColor Red
} }
else { else {
# Uninstall app via winget $appName = $app -replace '\.', '_'
# Uninstall app via winget, or create a scheduled task to uninstall it later
if ($script:Params.ContainsKey("User")) {
RegImport "Adding scheduled task to uninstall $app for user $(GetUserName)..." "Uninstall_$($appName).reg"
}
elseif ($script:Params.ContainsKey("Sysprep")) {
RegImport "Adding scheduled task to uninstall $app after new users log in..." "Uninstall_$($appName).reg"
}
else {
Strip-Progress -ScriptBlock { winget uninstall --accept-source-agreements --disable-interactivity --id $app } | Tee-Object -Variable wingetOutput Strip-Progress -ScriptBlock { winget uninstall --accept-source-agreements --disable-interactivity --id $app } | Tee-Object -Variable wingetOutput
}
If (($app -eq "Microsoft.Edge") -and (Select-String -InputObject $wingetOutput -Pattern "Uninstall failed with exit code")) { If (($app -eq "Microsoft.Edge") -and (Select-String -InputObject $wingetOutput -Pattern "Uninstall failed with exit code")) {
Write-Host "Unable to uninstall Microsoft Edge via Winget" -ForegroundColor Red Write-Host "Unable to uninstall Microsoft Edge via Winget" -ForegroundColor Red