Я использую WMI для удаленного удаления программного обеспечения, и это нормально работает для удаления программного обеспечения.Я борюсь с тем, чтобы использовать результаты этого (Успешного или нет), чтобы дать простое сообщение о выходе, а не обычный вывод команды.Я обычно использую $ lastexitcode для этого, но независимо от того, успешно ли выполняется команда, она запускается в моем сообщении об успешном удалении.Вот что я пытаюсь использовать:
$app = Get-WmiObject Win32_Product -ComputerName "$computer" | where { $_.vendor -eq "APN, LLC" }
$app.Uninstall()
if ($lastexitcode -eq 0)
{
write-host -ForegroundColor Green "Programm Successfully Removed"
}
else
{
write-host -ForegroundColor red "There was a problem uninstalling the program"
}
Когда я оставляю вывод операции, он возвращает:
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
Я полагаю, что мог бы что-то сделать с ReturnValue, но я 'Я не уверен, как.Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ: Решение благодаря ответу Брюса:
$app = Get-WmiObject Win32_Product -ComputerName "$computer" | where { $_.vendor -eq "APN, LLC" }
$appuninstall = $app.Uninstall()
if ($appuninstall.returnvalue -eq 0)
{
write-host -ForegroundColor Green "Programm Successfully Removed"
}
else
{
write-host -ForegroundColor red "There was a problem uninstalling the program"
}