Вопрос 1: У меня есть скрипт ниже, который удаляет программу на локальном хосте, но в выходных данных мне просто нужно имя хоста и статус удаления
$app = Get-WmiObject -Class Win32_Product -Filter "Name = 'Test'"
$app.Uninstall()
Вопрос 2: У меня ниже скрипт, которыйработающий на нескольких удаленных машинах, он делает то, что нужно, но результаты в другом файле иногда бывают ложными.Мне нужен вывод в файл с колонками hostname и статусом удаления
$computers = (Get-Content 'C:\Test\testmchines.txt')
foreach ( $computer in $computers ) {
$Test = Get-WMIObject -Class Win32_Product -Filter "Name Like '%Test%'" -ComputerName $computer
if ($Test) {
"Found {0} on {1}" -f $Test.Name, $computer
$result = $Test.Uninstall()
if ($result -eq 0) {
"Uninstall successful on {0}" -f $computer | out-file 'C:\Test\uninstall.txt' -Append
}
else {
"Uninstall failed on {0}" -f $computer | out-file 'C:\Test\uninstall.txt' -Append
}
}
else {
"Test is not found on {0}" -f $computer | out-file 'C:\Test\uninstall.txt' -Append
} }
Пожалуйста, предложите исправление в приведенном выше скрипте, чтобы получить требуемый вывод.
Требуемый вывод: отчет / файл с именем хоста и статусом удаления, столбцы тестового приложения не найдены