Я пытаюсь выполнить поиск исправлений, установленных на машине, и передать имя машины с указанным КБ, установленным на лист Excel, «иначе» передать имена машин без КБ, установленного на другой лист Excel.
IМы получили базовую команду, которая сделает это, но поскольку она использует команду% (foreach), она добавляет имя машины к листу Excel для каждого КБ, который он находит или не находит, и я получаю десятки дубликатов..
Как я могу заставить этот код добавлять одну запись для каждого поиска во всех КБ, а не для каждого КБ?
Get-HotFix | %{if($_.HotFixID -match "KB2687455"){(get-wmiobject win32_computersystem).name | Out-File C:\Installed.txt -append}` else{(get-wmiobject win32_computersystem).name | Out-File C:\NotInstalled.txt -Append}}
РЕДАКТИРОВАТЬ:
У меня естьнашел работу вокруг.Вместо того, чтобы пытаться сделать это в коде типа командной строки, я переписал код, и он неожиданно сработал.Дайте мне знать, если увидите какие-либо потенциальные проблемы с этим кодом.
if (Get-HotFix |?{$_.HotFixID -match "KB2687455"}) {
(get-wmiobject win32_computersystem).name | out-file C:\Installed.txt
}
else {
(get-wmiobject win32_computersystem).name | out-file C:\NotInstalled.txt
}