Назад | Перейти на главную страницу

SCCM WMI Получить исправления, требующие перезагрузки

Как получить все исправления, требующие перезагрузки, перед запуском процесса установки с помощью WMI и SCCM. Пока у меня есть этот запрос wmi, в котором перечислены все доступные исправления, но ни одно из возвращенных свойств не указывает ничего о том, требуются исправления или нет.

function Get-CMMissingUpdate {
param (
$computer = "localhost"
)
    Get-WmiObject -Query "SELECT * FROM CCM_SoftwareUpdate" -Namespace "ROOT\ccm\ClientSDK" -ComputerName $computer
}

Кто-нибудь использовал что-нибудь еще, чтобы найти эту информацию из SCCM 2012?

Вы хотите отфильтровать EvaluationState свойство возвращаемых обновлений. Существует несколько типов состояний оценки для ожидающих перезагрузок, они перечислены на страница технет для sdk клиента sccm. Состояния 8,9 и 10 предназначены для ожидающих перезагрузок. Глядя на вашу функцию, я бы сделал что-то вроде

function Get-CMMissingUpdate {
param (
$computer = "localhost"
)
    Get-WmiObject -Query "SELECT * FROM CCM_SoftwareUpdate WHERE EVALUATIONSTATE = 8 OR EVALUATIONSTATE = 9 OR EVALUATIONSTATE = 10" -Namespace "ROOT\ccm\ClientSDK" -ComputerName $computer
}

Если вы собираетесь использовать необработанный синтаксис вместо использования PowerShell, независимо от того, что плавает ваша лодка. У меня сейчас нет ожидающих обновлений sccm, или времени для установки тестовой коробки, но это должно помочь вам.