Чтобы добавить немного к этому сообщению, мне нужно было иметь возможность удалять программное обеспечение с нескольких серверов. Я использовал ответ Джеффа, чтобы привести меня к этому:
Сначала я получил список серверов, я использовал запрос AD , но вы можете предоставить массив имен компьютеров так, как вы хотите:
$computers = @("computer1", "computer2", "computer3")
Затем я просмотрел их, добавив параметр -computer в запрос gwmi:
foreach($server in $computers){
$app = Get-WmiObject -Class Win32_Product -computer $server | Where-Object {
$_.IdentifyingNumber -match "5A5F312145AE-0252130-432C34-9D89-1"
}
$app.Uninstall()
}
Я использовал свойство IdentifyingNumber для сопоставления вместо имени, просто чтобы убедиться, что удаляю правильное приложение.