繁体   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