【发布时间】:2017-04-11 09:33:19
【问题描述】:
我知道这个问题还有其他线程,但它们都涉及我不理解的代码。我对脚本知之甚少,我正在寻找可以帮助我提供易于理解的答案的人。
我正在尝试使用 PowerShell 删除程序(该程序没有卸载程序文件)。
我可以使用控制面板 → 程序和功能将其删除,但我想使用 PSSession 远程执行此操作。所以在谷歌上搜索后,我找到了以下脚本。
我先跑
Get-WmiObject -Class Win32_Product | Select-Object -Property Name
这让我得到了我要删除的程序的名称:“OpenOTP-CP(64 位)”
然后我运行脚本:
$app = Get-WmiObject -Class Win32_Product | Where-Object {
$_.Name -match "OpenOTP-CP (64 bit)"
}
$app.Uninstall()
然后我得到以下错误
您不能在空值表达式上调用方法。 在 C:\Users\Administrator\Desktop\Remote2.ps1:4 char:1 + $app.卸载() + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull有人可以告诉我哪里出了问题或提供正确的代码来帮助我吗?
- 操作系统:Windows Server 2012 R2
- 脚本来源:http://lifeofageekadmin.com/how-to-uninstall-programs-using-powershell/
【问题讨论】:
标签: powershell scripting windows-server-2012-r2