我遇到了下面的腳本有問題。儘管它表示在運行期間它是成功的,但應用程序仍然存在於操作系統中。 DISM日誌文件也沒有幫助。For循環DISM在Windows 10中刪除不需要的應用程序
# 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:$_}
因爲每次運行第一個循環時都會覆蓋'$ variable2'。您也從不檢查包名稱與$ app變量。最後,我建議使用'Get/Remove-AppxProvisionedPackage' cmdlet而不是dism –