下面是我在 Windows 10 上运行的用于卸载HP Support Assistant的 PowerShell 脚本,但它一直提示最终用户输入等,这是我需要防止的。
问题:如何以静默方式或无需用户交互的方式卸载此应用程序?
注意:我可以使用管理员权限远程访问这些机器。
PowerShell 脚本
$laptops = Get-Content "c:\scripts\laptops.txt";
$laptops | %{
$app = Get-WmiObject Win32_Product -ComputerName $_ | ?{$_.name -eq "HP Support Assistant"};
$app.Uninstall();
};
静默卸载应用程序
要卸载应用程序,您可以将卸载过程作为启动脚本运行,这样就不需要任何最终用户输入或交互来完成卸载操作。
由于您使用的是 PowerShell 并且已经有确认卸载所需应用程序的逻辑,因此提供的示例将以此为基础,以保持简单和基本。
此外,由于您使用的是 Windows 10,因此在此之下,我将提供一种额外但不同(且更有效)的方式来使用 PowerShell 卸载程序包。
PowerShell 脚本(现有逻辑)
PowerShell 脚本(更高效的逻辑)
使用组策略设置作为启动脚本运行
gpedit.msc
Computer Configurations
|Windows Settings
|Scripts (Startup/Shutdown)
Startup
|PowerShell Scripts
标签 |Add
选项Script Name
字段指向启动脚本位置的完整路径按
OK
和/或Apply
退出所有现有屏幕以保存设置最后,您只需重新启动计算机以确保启动脚本运行并卸载应用程序,而无需用户交互或输入。
其他潜在解决方案
根据HP Silent Uninstall HP Support Assistant帖子上的回答,您还可以在登录时卸载 HP Support Assistant 应用程序,而不是作为登录脚本静默使用:
"C:\Program Files (x86)\Hewlett-Packard\HP Support Framework\UninstallHPSA.exe" /s /v /qn
支持资源
首先,您必须检查静默卸载命令。
为此,我通常使用此工具:https ://www.nirsoft.net/utils/uninstall_view.html
该工具显示静默卸载命令。
如果找到该命令,请手动尝试。有时,即使提供了命令,静默卸载也无法按预期工作。
其次,我建议不要使用WMI进行卸载,因为它确定已安装程序的速度很慢。而是检查注册表项,该工具也会显示该注册表项。
为了更通用,请阅读这些键
使用 where 语句搜索 DisplayName 并执行 quietuninstall 键中的命令。