场景
有些企业需要批量卸载用户终端上的一些软件(商业软件、或者有些软件存在漏洞需要卸载),如果靠人工去处理的话工作量会很大,于是可以采取通过桌管或其他终端管控工具推送脚本去进行卸载。
思路
- 卸载软件正常来说是去控制面板里面进行操作,那么如何实现脚本的卸载呢?
- 一般卸载软件的原理是去软件的安装目录找到卸载程序,双击即可
- 那么逻辑大概就是先判断终端有没有装这款软件,装了的话找到卸载程序路径双击卸载即可
开始写powershell命令
如何判断是否安装了该款软件(拿钉钉举例)
- 注册表路径 hklm:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall (64位操作系统) 记录的终端软件的安装情况,可以从这里去判断是否有安装钉钉,同时也可以从这里获取钉钉的卸载程序路径,如下图
$root = "hklm:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
$softwares = (Get-ChildItem -path $root).name
#判断是否安装了钉钉
foreach($software in $softwares)
{
if ($software -match "钉钉")
{
$software = $software
}
}
#获取钉钉的卸载路径
$UninstallPath = (Get-ItemProperty $software|Select-Object UninstallString).UninstallString
#卸载钉钉(需要先杀掉钉钉的进程,如果钉钉当前在运行的话)
start $UninstallPath /S # /S为钉钉的静默卸载参数