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

Как SCSM связывает затронутых пользователей с запросами на обслуживание?

Я использую встроенные командлеты SCSM и модуль PowerShell SMlets. Я могу запрашивать запросы на обслуживание, но не могу понять, как получить затронутого пользователя данного запроса на обслуживание. Я получаю запросы на обслуживание следующим образом:

Import-Module SMlets -ErrorAction Stop

$SCSMclassSR = Get-SCSMClass -Name System.WorkItem.ServiceRequest
$SCSMobject = Get-SCSMObject -Class $SCSMclassSR

Если вы выберете любой заданный билет и запустите Get-Member на нем вы можете просмотреть список свойств. Ни один из них не связан с Затронутым пользователем. Думая, что данные билета сохраняются вместе с объектом пользователя, я запустил следующий код:

$scsmuser = Get-SCSMObject -Class (get-scsmclass -name microsoft.ad.user) -filter "UserName -like <username>"

Ни одно из свойств там не соответствует ни одному билету (также запустите gm). Конечно, это могло быть невежеством с моей стороны, а метод производства билетов просто не назван и не описан.

Я пробовал смотреть на Исходный код SMlets чтобы почерпнуть некоторое представление, но я не разработчик C #, поэтому некоторые из них проносятся мне через голову. Я также пытался получить некоторое понимание и помощь со страницы msdn для EnterpriseManagementObject - класс, но безрезультатно.

Надеюсь, у этого есть действительно простое решение, и я просто над этим подумал. Но, как получить затронутого пользователя для билета SCSM с помощью PowerShell? Желательно билет запроса на обслуживание.

Я продолжал копать и нашел в Интернете сценарий, в котором кто-то хотел найти адреса электронной почты пользователей для инцидентов. Я подумал, что сначала им нужно будет найти пользователя (что даст мне AffectedUser), и был прав. Вот решение:

$SCSMclassSR = Get-SCSMClass -Name System.WorkItem.ServiceRequest
$SCSMobject = Get-SCSMObject -Class $SCSMclassSR

$affectedUserRelClass = Get-SCSMRelationshipClass System.WorkItemAffectedUser$

Foreach($SR in $SCSMobject){
        $affectedUser = Get-SCSMRelatedObject -SMObject $SR -Relationship $AffectedUserRelClass
        Add-Member -InputObject $SR -Name AffectedUser -Value $affectedUser.UserName -MemberType NoteProperty
}