У меня есть много серверов, с которых мне нужно удалить Symantec Endpoint Protection. Я связался с Symantec и получил код ниже:Удалить Symantec Endpoint Protection в среде предприятия
(Get-WmiObject -Class Win32_Product -Filter "Name='Symantec Endpoint Protection'" -ComputerName xxxxxx).Uninstall()
я использовал его, и он работал на 10 серверах не проблема вообще. Я попробовал еще раз сегодня, и я получаю сообщение об ошибке:
You cannot call a method on a null-valued expression. At line:1 char:1 + (Get-WmiObject -Class Win32_Product -Filter "Name='Symantec Endpoint Protection' ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull
Ничто не изменилось с момента, когда я начал, и я пытаюсь выяснить, что означает, что выше ошибка. Кроме того, если я могу заставить это работать, кто-нибудь видит способ добавить много серверов в команду foreach или что-то в этом роде.
'Get-WmiObject' не возвращает результат, поэтому вы пытаетесь вызвать' Uninstall() 'на нулевом значении. Вы можете избежать ошибки следующим образом: 'Get-WmiObject ... | ForEach-Object {$ _. Uninstall()} ' –