Эта публикация краткая выдержка о том, как можно массово удалить инциденты в SCSM. Например, в случае, когда вы настраивали и отлаживали систему Service Manager, но перед запуском в боевую эксплуатацию или опытную эксплуатацию вам необходимо удалить все тестовые рабочие элементы (инциденты, запросы на обслуживание, ручные действия и т.д.).
Задача
По тем или иным причинам вам необходимо массово удалить большое количество рабочих элементов системы Service Manager.
Примеры рабочих элементов системы Service Manager:
- Инциденты.
- Запросы на обслуживание.
- Ручные действия.
- Действия утверждения.
- Параллельные действия.
Решение
Для решения этой задачи нам понадобится сторонний модуль SMLets.
Установить его нужно на сервере Service Manager. Команда для установки (нужен доступ в интернет):
Install-Module -Name SMLets
А теперь главное – ниже я приведу готовые командлеты для удаление рабочих элементов.
Удаление всех инцидентов
Пример запроса для удаления всех инцидентов:
$IR=Get-SCSMObject -Class (get-scsmclass -name system.workitem.incident)
$IR | Remove-SCSMClassInstance
Удаление всех инцидентов до определенной даты
Пример запроса для удаления всех инцидентов до определенной даты:
$dt=Get-Date "16.10.2022"
$IRd=Get-SCSMObject -Class (get-scsmclass -name System.workitem.incident) -Filter "TimeAdded -lt $dt"
$IRd | Remove-SCSMClassInstance
Удаление всех запросов на обслуживание
Пример запроса для удаления всех запросов на обслуживание:
$SR=Get-SCSMObject -Class (get-scsmclass -name system.workitem.servicerequest)
$SR | Remove-SCSMClassInstance
Удаление всех ручных действий
Пример запроса для удаления всех ручных действий:
$MA=Get-SCSMObject -Class (get-scsmclass -name system.workitem.activity.manualactivity)
$MA | Remove-SCSMClassInstance