Логика заведения и подтверждения инцидентов по обновлениям, устанавливаемым с помощью SCCM 2007

в 17:22, , рубрики: ITIL, sccm, sql, системное администрирование, метки: , ,

Введение

Отправной точкой для статьи служит момент, когда очередные окна обслуживания пройдены, обновления систем на большую часть систем установлены, но остается незначительный процент машин на которые, судя по отчетам, обновления не встали.

Заводим инциденты

Следующий логический шаг – завести инциденты по данным машинам, и выставить их на IT – специалистов соответствующего уровня поддержки. Сделать это можно в автоматическом режиме, выполнив запрос к базе SCCM, составляем запрос (как прикрутить запрос к конкретной процессной системе выходит за рамки статьи):

use SMS
select 
	rs.Name0 as MachineName,
	rs.AD_Site_Name0 as Location,
	ui.Title as Title,
	rs.ResourceID as ID, 
	from v_R_System as rs
join v_UpdateComplianceStatus as css on css.ResourceID = rs.ResourceID
join v_UpdateInfo ui on ui.CI_ID=css.CI_ID
left join v_CITargetedMachines ctm on ctm.CI_ID=css.CI_ID and ctm.ResourceID = rs.ResourceID
where css.Status= 2 and ctm.ResourceID is not null
order by ID

В запросе достаточно легко разобраться, поясню лишь пару основных моментов — основным моментом запроса является условие:

 where css.Status= 2 and ctm.ResourceID is not null 

Сss.Status = 2 указывает на то, что обновление машине требуется, а tm.ResourceID is not null указывает на то, что обновление назначено для установки данной машине.
Выполнив запрос, мы получим: список имен машин, сайт в котором они находятся, название обновления, уникальный ID машины в базе SCCM.

Подтверждаем закрытие инцидента

Итак, IT-специалист отработал по инциденту, все исправил (или не исправил) и закрывает инцидент, в этот момент нам надо проверить, что IT-специалист отработал честно и действительно устранил проблему, а не просто закрыл инцидент, ничего не сделав, для этого мы снова сделаем запрос к базе SCCM:

use SMS
select 
	css.Status
from v_UpdateComplianceStatus as css
join v_R_System as rs on rs.ResourceID = css.ResourceID
join v_UpdateInfo ui on ui.CI_ID=css.CI_ID
where rs.ResourceID = <ID машины в базе SCCM> and ui.Title like '<имя обновления>'

Для подтверждения инцидента, результат запроса не должен быть равен 2 (это будет означать, что обновление установлено) или нам вообще ничего не должно вернуться (это будет означать, что обновление более не требуется или мы удалили данную машину из SCCM).
В заключении, рекомендую сделать для IT-специалистов доступным стандартный отчет SCCM: Compliance 6 — Specific computer, это позволит им самостоятельно мониторить обновление статусов проблемных компов.

Автор: greeensnake

Источник

Поделиться

* - обязательные к заполнению поля