从SCCM中创建并运行Powershell脚本卸载软件

从SCCM中创建并运行Powershell脚本卸载软件,第1张

从SCCM中创建并运行Powershell脚本卸载软件

最近遇到一个要求:卸载所有电脑的某个工具软件,但是这个手机软件不是SCCM部署的,有的是客户自己安装的,有的是系统软件部署的时候就已经打包好了,版本号各种各样,安装路径也不一样!

首先想到的自然是Powershell。反过来,Get-Apppacke\Get-AppXpacke、Get-WMI对象类Win32_Product等几个方法都不好。最后用在注册表文件中查找UninstallString的方法来处理!

通过以下方式:

1.首先,用PowerShell准确定位注册表文件,

X86脚本:

设置位置HKLM:\software\Microsoft\Windows\currentversion\uninstall

X64脚本:

设置位置HKLM:\software\wow6432node\Microsoft\Windows\currentversion\uninstall

2.检查安装后在注册表文件Uninstall中的程序名称,如:Chrome,Uninstall中的Childitem名称为:GoogleChrome,其中Uninstallstring有卸载运行文档的实际方式,这个文件夹的名称和主要参数:

"C:\ProgramFiles(x86)\Google\Chrome\Application\74.0.3729.131\Installer\setup.exe"-uninstall-system-level-verbose-log

这是我们想要运行的卸载指令。有些手机软件只有实现文档,没有主要参数。比如Teamviewer只有一个Uninstall.exe,我们可以用Uninstall.exe/S静默卸载!

3.详细的PS脚本如下:

设置位置

HKLM:\software\wow6432node\Microsoft\Windows\currentversion\uninstall

#特定注册表文件的位置

$UninstallTeamviewer=get-childitem-path*Teamviewer*|get-itemproperty|%{$_。卸载字符串}

#搜索卸载指令,并将值赋给参数:$UninstallTeamviewer

启动$UninstallTeamviewer/S

#在#Powershell:$UninstallTeamviewer中运行卸载指令

对于注册表文件中已有的卸载程序和主参数,不需要添加上面的主参数个数:"/S"

4.创建脚本:在软件库\概述\脚本中单击鼠标右键并创建脚本:

5.将PowerShell脚本粘贴到脚本中。接下来,继续!

团队查看器

$OS=(Get-wmioobjectWin32_operatingsystem)。建筑

#检查计算机 *** 作系统的版本号

if((gwmiwin32_operatingsystem|selectOSarchitecture)。osaarchitecture-eq"32位"){

#32位运行以下过程

设置位置HKLM:\software\Microsoft\Windows\currentversion\uninstall

#指定以下注册表文件位置

$UninstallTeamviewer=get-childitem-path*Teamviewer*|get-itemproperty|%{$_。卸载字符串}

#搜索卸载指令,并将值赋给参数:$UninstallTeamviewer

启动$UninstallTeamviewer/S

#在#Powershell:$UninstallTeamviewer中运行卸载指令

$UninstallTeamviewer

#输出自变量的结果,方便查看分析。

}

否则{

#64位运行以下过程

设置位置HKLM:\software\wow6432node\Microsoft\Windows\currentversion\uninstall

#指定以下注册表文件位置

$UninstallTeamviewer=get-childitem-path*Teamviewer*|get-itemproperty|%{$_。卸载字符串}

#搜索卸载指令,并将值赋给参数:$UninstallTeamviewer

启动$UninstallTeamviewer/S

#在#Powershell:$UninstallTeamviewer中运行卸载指令

$UninstallTeamViewer

#输出自变量的结果,方便查看分析。

}

6.批准脚本:在新创建的脚本上单击鼠标右键并批准它。

在工作环境中,为了更好的安全性,客户创建的脚本必须经过第二个人的批准(即自己创建的脚本不能被批准)。如果您想批准自己创建的脚本,请转到:管理\站点配置\站点\层次结构设置,

取消“脚本作者需要额外的脚本审批者”前面的勾号。

7.运行脚本:在必须运行或设置整圈的电脑上,选择:运行脚本\下一步,也就是刚开始运行。

8.还可以查询监控中已经运行过的脚本的汇总结果,在“脚本情况”目录中查询手机客户端机器设备上已经运行过的每个脚本的结果。脚本退出代码“0”通常表示脚本已经成功运行。

9.以后也可以在手机软件报告里查!

10.如果某个手机软件安装了MIS包,卸载值会是“msiexec.exe/I{23170f69-40C1-2701-1602-00000100000}”,那么需要更改另一个PowerShell方法,例如:

if((gwmiwin32_operatingsystem|selectOSarchitecture)。osaarchitecture-eq"32位"){

#32位7zipX321602{23170f69-40C1-2701-1602-000001000000}

$script={invoke-expression"msiexec/qn/x“{23170f69-40C1-2701-1602-000001000000}”}

调用命令脚本块$脚本

$script

}否则{

#64位7zipX641602{23170f69-40C1-2702-1602-000001000000}

$script={invoke-expression"msiexec/qn/x“{23170f69-40C1-2702-1602-000001000000}”}

调用命令脚本块$脚本

$script

}

当然,如果没有SCCM的自然环境,你也可以尝试在广告中启用上述脚本!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/777438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存