是否可以使用Windows PowerShell卸载一次点击客户端应用程序?
Get-WmiObject Win32_Product -Filter“name ='xxxx'”
当我在上面使用时,单击一次应用程序不会显示。但它适用于其他应用程序。 (获取没有过滤器的所有内容也不包含单击一次应用程序。但它在添加/删除程序UI中可见。)
请帮忙。
提前致谢。
答案 0 :(得分:4)
请阅读:
评论后编辑:
$InstalledApplicationNotMSI = Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall | foreach-object {Get-ItemProperty $_.PsPath}
$UninstallString = $InstalledApplicationNotMSI | ? { $_.displayname -eq "YourAppicationDisplayName" } | select uninstallstring
cmd /c $UninstallString.UninstallString
问题在于,这不是一种无声的不稳定。 你必须为sendkey()TAB + ENTER添加代码以使其静默。
答案 1 :(得分:1)
这是一个简单的PowerShell脚本,用于卸载ClickOnce应用程序(其中DisplayName =您的应用程序进程名称)并处理UI:
$InstalledApplicationNotMSI = Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall | foreach-object {Get-ItemProperty $_.PsPath}
$UninstallString = $InstalledApplicationNotMSI | ? { $_.displayname -match "[your app process name]" } | select UninstallString
$wshell = new-object -com wscript.shell
$selectedUninstallString = $UninstallString.UninstallString
$wshell.run("cmd /c $selectedUninstallString")
Start-Sleep 5
$wshell.sendkeys("`"OK`"~")