Лучший отвечающий
SCSM2012 повторная активация инцидента

Вопрос
-
Доброго дня, коллеги!
Ситуация - создан инцидент по электронной почте, инцидент разрешен, статус у него соответствующий. Пользователь получает уведомление о разрешении с комментарием специалиста. Решает, что инцидент не разрешен и пишет в ответном письме, что инцидент не решен. Теперь вопрос - как сделать так, чтобы в этом случае инцидент менял статус с Разрешен на Активен?
Делать рабочий процесс? Там недостаточно критериев, по которому он будет срабатывать. Прошу помощи. Заранее спасибо!
22 марта 2017 г. 10:00
Ответы
-
Решил проблему самостоятельно написав MP выполняющий PS скрипт
- Помечено в качестве ответа Alexey Filimonov 30 июня 2017 г. 7:13
30 июня 2017 г. 7:13
Все ответы
-
Если штатными средствами, то только ручками: How to Reactivate a Resolved Parent Incident
Обычно:
- либо делают специальную форму для оценки решения (User Satisfaction Survey), которая при плохой оценке реактивирует заявку;
- либо принимают за правило, что если пришел любой комментарий от пользователя для закрытой заявки, то она реактивируется, либо с каким нибудь специальным статусом отправляется на повторную маршрутизацию (например - на диспетчеров, которые разберутся активировать её или нет...).
- ну или можно сделать какой-нибудь анализатор для пользовательских комментариев, но это дело такое...
Так или иначе сам процесс реакривации выполняется обычно через powershell, который запускают либо через Orchestrator, либо через workflow в самом SCSM.
- Изменено PeTrProduct 25 марта 2017 г. 9:56
- Предложено в качестве ответа PeTrProduct 25 марта 2017 г. 9:56
22 марта 2017 г. 15:21 -
Здравствуйте.
Если в компании используется Exchange, то можно задействовать Exchange Connector for SCSM. В настройках есть параметры, которые помогут реактивировать инцидент по ключевым словам в письме.
Если же почта не на Exchange, то есть утилиты сторонние, которые по IMAP/POP3 бегают на почту, забирают письма, ну а дальше аналогичная схема: ключевые слова в письме, по ним обработка инцидентов, запросов и т.д.
30 марта 2017 г. 10:04 -
Добрый день!
Был бы благодарен, если бы Вы приложили скрин или описание как это делается - было бы здорово, т.к. я не понял как это настроить)
Пошел сложным путем - два дня колдовства с powershell и родился скрипт, на основе которого я сделал MP. Пока работает.
10 апреля 2017 г. 6:32 -
-
Решил проблему самостоятельно написав MP выполняющий PS скрипт
- Помечено в качестве ответа Alexey Filimonov 30 июня 2017 г. 7:13
30 июня 2017 г. 7:13 -
Добрый день.
Расскажите как сделали? Тоже нужно по комменту чтобы реактивировался инцидент. Подписку сделал, а вот с самим переходом между статусами проблема...
24 января 2018 г. 10:31 -
Как то так
import-module 'C:\Program Files\Microsoft System Center 2012 R2\Service Manager\Powershell\System.Center.Service.Manager.psd1' $a = (Get-Date).AddDays(-2) $Active = Get-SCSMEnumeration IncidentStatusEnum.Active $b = $Active[0] $ParentWorkItemID = Get-SCSMClassInstance -Class (Get-SCSMClass -Name System.WorkItem.Incident) | Where {$_.CreatedDate -gt $a} $WorkItemClass = Get-SCSMClass -Name System.WorkItem.Incident foreach($ParentWorkItemID1 in $ParentWorkItemID) { $ItemID = $ParentWorkItemID1.'#Name' $WorkItemObject = Get-SCSMObject -Class $WorkItemClass -Filter "Id -eq $ItemID" $InID = Get-SCSMIncident -ID $ParentWorkItemID1.Id $Com1 = $InID.AppliesToTroubleTicket | where {$_.ClassName -eq "System.WorkItem.TroubleTicket.UserCommentLog"} | select $_.EnteredDate $Com2 = $Com1.EnteredDate $ResDate = Get-SCSMObject -Class $WorkItemClass -Filter "Id -eq $ItemID" | select $_.ID $ResDate1 = $ResDate.ResolvedDate if ($Com2 -gt $ResDate1) { Set-SCSMObject -SMObject $WorkItemObject -Property Status -Value $b } #else # { # Write-Output "No action needed", $InID # } }
24 января 2018 г. 15:03 -
Только убедительная рекомендация не использовать скрипт выше в продуктивной среде. В пятой строке происходит получение ВСЕХ инцидентов в системе и фильтрация уже внутри PowerShell, что очень и очень плохо с точки зрения производительности.
Вообще использовать |Where (|?) c Get-SCSMClassInstance\Get-SCSMObject использовать можно только в случае крайней необходимости (я даже не могу придумать когда это правда надо). Необходимо использовать параметр -Filter
Import-module 'C:\Program Files\Microsoft System Center 2012 R2\Service Manager\Powershell\System.Center.Service.Manager.psd1' $cl = Get-SCSMClass -Name "System.WorkItem.Incident" $date = (Get-Date).AddDays(-20).ToUniversalTime() $culture = New-Object CultureInfo("en-US") Get-SCSMClassInstance -Class $cl -Filter "CreatedDate -gt $($date.ToString($culture))"
Вторая проблема, что в скрипте перемешаны командлеты: используются SMLets и "родные" командлеты
itnetX AG
Free end user portal for SCSM
Personal email: freemanru (at) gmail (dot) com11 марта 2018 г. 21:27Модератор