Powershell - 安装Windows更新?

时间:2013-03-02 13:34:05

标签: powershell powershell-v2.0

这可能吗?

我想我们需要以某种方式调用WUAgent来运行检测,但我想基本上下载并安装更新,然后重新启动作为脚本的一部分。

这将是一个更大的脚本的一部分,通过Powershell基本上构建一个vanilla 2008R2盒子直到DC。

2 个答案:

答案 0 :(得分:9)

查看PowerShell的PSWindowsUpdate模块。

位于here at the Script Center

答案 1 :(得分:3)

我建议使用此脚本

Function WSUSUpdate {
$Criteria = "IsInstalled=0 and Type='Software'"
$Searcher = New-Object -ComObject Microsoft.Update.Searcher
try {
    $SearchResult = $Searcher.Search($Criteria).Updates
    if ($SearchResult.Count -eq 0) {
        Write-Output "There are no applicable updates."
        exit
    } 
    else {
        $Session = New-Object -ComObject Microsoft.Update.Session
        $Downloader = $Session.CreateUpdateDownloader()
        $Downloader.Updates = $SearchResult
        $Downloader.Download()
        $Installer = New-Object -ComObject Microsoft.Update.Installer
        $Installer.Updates = $SearchResult
        $Result = $Installer.Install()
    }
}
catch {
    Write-Output "There are no applicable updates."
    }
}

WSUSUpdate
If ($Result.rebootRequired) { Restart-Computer }

来源:https://gist.github.com/jacobludriks/9ca9ce61de251a5476f1