Для цикла с DISM для удаления нежелательных приложений в Windows 10
У меня проблемы с приведенным ниже сценарием. Хотя это говорит о том, что это успешно во время выполнения, приложения все еще присутствуют в ОС. Файлы журнала DISM также не помогают.
# Remove non-corporate apps
$AppsList = "Microsoft.3DBuilder",`
"Microsoft.Advertising.Xaml",`
"Microsoft.Messaging",`
"Microsoft.Microsoft3DViewer",`
"Microsoft.Messaging",`
"Microsoft.MicrosoftOfficeHub",`
"Microsoft.MicrosoftSolitaireCollection",`
"Microsoft.Office.OneNote",`
"Microsoft.OneConnect",`
"Microsoft.People",`
"Microsoft.SkypeApp",`
#"Microsoft.StorePurchaseApp",`
"Microsoft.Wallet",`
"Microsoft.XboxApp",`
"Microsoft.XboxGameOverlay",`
"Microsoft.XboxIdentityProvider",`
"Microsoft.XboxSpeechToTextOverlay",`
"Microsoft.ZuneMusic",`
"Microsoft.ZuneVideo",`
#"Microsoft.WindowsStore",`
"microsoft.windowscommunicationsapps",`
"Microsoft.WindowsPhone",`
"Microsoft.Office.Sway",`
"Microsoft.ConnectivityStore",`
"Microsoft.CommsPhone",`
"Microsoft.BingFinance"
ForEach ($app in $AppsList){
$variable = DISM /Online /Get-ProvisionedAppxPackages | select-string Packagename
$variable2 = $variable -replace "PackageName : ", ""
}
$variable2| % {DISM /Online /Remove-ProvisionedAppxPackage /PackageName:$_}
3 ответа
Чтобы удалить приложения от текущего пользователя:
ForEach ($app in $AppsList)
{
Get-AppxPackage -Name $app | Remove-AppxPackage
}
Чтобы удалить приложения от новых пользователей, вошедших в систему, используйте, но не удаляйте из существующих пользователей:
ForEach ($app in $AppsList)
{
Get-AppXProvisionedPackage -Online | Where-Object { $_.DisplayName -eq $app } | Remove-AppxProvisionedPackage -Online
}
Я бы использовал Remove-AppxProvisionedPackage
вместо DISM
:
# Remove non-corporate apps
$AppsList = "Microsoft.3DBuilder",`
"Microsoft.Advertising.Xaml",`
"Microsoft.Messaging",`
"Microsoft.Microsoft3DViewer",`
"Microsoft.Messaging",`
"Microsoft.MicrosoftOfficeHub",`
"Microsoft.MicrosoftSolitaireCollection",`
"Microsoft.Office.OneNote",`
"Microsoft.OneConnect",`
"Microsoft.People",`
"Microsoft.SkypeApp",`
#"Microsoft.StorePurchaseApp",`
"Microsoft.Wallet",`
"Microsoft.XboxApp",`
"Microsoft.XboxGameOverlay",`
"Microsoft.XboxIdentityProvider",`
"Microsoft.XboxSpeechToTextOverlay",`
"Microsoft.ZuneMusic",`
"Microsoft.ZuneVideo",`
#"Microsoft.WindowsStore",`
"microsoft.windowscommunicationsapps",`
"Microsoft.WindowsPhone",`
"Microsoft.Office.Sway",`
"Microsoft.ConnectivityStore",`
"Microsoft.CommsPhone",`
"Microsoft.BingFinance"
ForEach ($app in $AppsList){
Remove-AppxProvisionedPackage -Online -PackageName $app
}
Мой сценарий:
Write-Host "FiliP Bloatware Remover DISM Script 2023"
$AppsList = "Microsoft.ZuneMusic",`
"Microsoft.ZuneVideo"
Write-Host "List to remove:"
ForEach ($app in $AppsList)
{
Write-Host $app
}
ForEach ($app in $AppsList){
$PackList = DISM /Online /Get-ProvisionedAppxPackages | select-string Packagename
ForEach ($package in $PackList)
{
if ($package -like "*$app*")
{
$dism_app = $package -replace "PackageName : ", ""
DISM /Online /Remove-ProvisionedAppxPackage /PackageName:$dism_app
}
}
}