Установить обновления Windows из папки и вернуть статус установлен или нет - PullRequest
0 голосов
/ 21 июня 2011

Мне нужна помощь по проверке состояния обновлений, установленных из папки, вот скрипт ниже.

# Specify the location of the *.msu files
$updatedir = "C:\install\hvpatches"
foreach ($msu in $msus)
{
    write-host "Installing update $msu ..."
    $fullname = $msu.fullname
    # Need to wrap in quotes as folder path may contain spaces
    $fullname = "`"" + $fullname + "`""

###

$files = Get-ChildItem $updatedir -Recurse
$msus = $files | ? {$_.extension -eq ".msu"}
    # Specify the command line parameters for wusa.exe
    $parameters = $fullname + " /quiet /norestart"
    # Start wusa.exe and pass in the parameters
    $install = [System.Diagnostics.Process]::Start( "wusa",$parameters )
    $install.WaitForExit()
    write-host "Finished installing $msu"
}

Обновления Windows устанавливаются из приведенного выше сценария, я хотел как-то проверить, правильно ли установлены эти обновления или дать статус, если установка не удалась.

Я надеюсь, что некоторые из наших гуру PowerShell помогут мне:)

Спасибо, Vinith!

1 Ответ

0 голосов
/ 21 июня 2011

Я вряд ли гуру PS, но некоторое время назад я играл с проверкой обновлений в другом контексте, поэтому, возможно, мой совет будет вам полезен.

В точку. Попробуйте назвать этот фрагмент, который я записал тогда:

$session = New-Object -ComObject Microsoft.Update.Session 
$searcher = $session.CreateUpdateSearcher() 
$result = $searcher.Search("IsInstalled=1 and Type='Software'" ) 
$result.Updates | get-member

Через некоторое время (это довольно медленно) вы получите список вещей, которые вы можете проверить. Я не знаю, какая у вас информация об этих обновлениях, которые вы устанавливаете, но вот некоторые, возможно, полезные, например, номер Title или KBArticleIDs (возможно, содержащий некоторую соответствующую информацию). Затем вы заменяете последнюю строку на то, что вы хотите, например,

$result.Updates | select Title

и сравните с данными о недавно установленных обновлениях.

Извините за какой-то неполный ответ - у моего текущего окна Windows есть некоторые проблемы, и вышеупомянутые коды не работают точно так, как я его помню. Не стесняйтесь указывать, если это просто неправильно, errare humanum est! ;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...