Я знаю, что есть другие темы с этим вопросом, но все они включают код, который я не понимаю. Я очень мало разбираюсь в сценариях и ищу кого-нибудь, кто поможет мне дать простой для понимания ответ.
Я пытаюсь удалить программу с помощью PowerShell (в программе нет файла удаления).
Я могу удалить его с помощью Программы и компоненты панели управления, но я хотел бы сделать это удаленно с помощью сеанса PSSession. Итак, после некоторого поиска в Google я нашел следующий сценарий.
Я сначала бегу
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()
Затем я получаю следующую ошибку
You cannot call a method on a null-valued expression. At C:\Users\Administrator\Desktop\Remote2.ps1:4 char:1 + $app.Uninstall() + ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull
Может ли кто-нибудь помочь мне, рассказав, что не так, или предоставив правильный код?
- ОС: Windows Server 2012 R2
- Источник сценария: http://lifeofageekadmin.com/how-to-uninstall-programs-using-powershell/