簡體   English   中英

Powershell在啟動時運行但未執行Remove-AppxPackage

[英]Powershell is running at startup but not executing Remove-AppxPackage

在啟動時執行Powershell腳本以消除Windows 10附帶的一些膨脹。它包括檢查它是否已經執行,這將創建一個標志文件(所以我知道腳本正在運行)。 但是,卸載命令未運行(它們可以手動運行)。

主機正在運行Windows 10 Pro。 腳本正在通過GPO提供; 正如運行腳本所證明的那樣正確應用。

$DestinationFile = "C:\BloatFlag.txt"
if (Test-Path $DestinationFile) {

echo "Already Done"

} else {

Get-AppXPackage Microsoft.Microsoft3DViewer | Remove-AppXPackage
Get-AppXPackage DellInc.DellSupportAssistforPCs | Remove-AppXPackage
Get-AppXPackage DellInc.DellCommandUpdate | Remove-AppXPackage
# and the list goes on

echo "ONLY DELETE THIS FILE IF YOU REQUIRE TO RUN THE BLOAT REMOVAL SCRIPT AGAIN" > "C:\BloatFlag.txt"

}
  • 檢查C:\\時創建BloatFlag.txt。
  • 所有列出的軟件均未被刪除

我預計如果代碼到達文本文件的創建,應用程序將被刪除。

也許。 也許不吧。 這就是我的意思......

a)如果Get-AppXPackage沒有返回任何內容,則Remove-AppXPackage不會刪除任何內容,仍會創建標記文件。

b)如果任何一個語句根據您編碼的內容拋出異常,則不會停止腳本執行,並且將創建標記文件。 例如,將以下內容保存在文件中並運行它。 您將看到Remove-AppXPackage拋出異常,但仍會創建thinger.txt

Remove-AppXPackage xyz
write-output 'test' > thinger.txt

當腳本在引導/登錄/任何進程期間執行時,它是作為正在刪除app-packages的用戶運行,還是在不同用戶的上下文下運行? 如果是后者,則用戶需要是管理員(在提升的權限下運行)才能從其他用戶的配置文件中刪除app-packages。 如果您不確定,請在您正在創建的標記文件中為輸出添加whoami

只是旁注,我模糊地回憶起人們Remove-AppxPackageRemove-ProvisionedAppxPackage 第一個刪除了給定本地用戶的包。 第二個從計算機中刪除程序包,因此新用戶將不會安裝該程序包。 如果您需要使用提升的權限運行Remove-ProvisionedAppxPackage ,我不會感到驚訝,但我沒有在cmdlet的文檔中看到它。

除非你想做一些sqlite數據庫操作,否則這些天大部分時間都禁用了Remove-Appxpackage。 https://superuser.com/questions/1115801/unable-to-uninstall-universal-apps-through-powershell

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM