SCSM 如何将受影响的用户与服务请求关联起来?

SCSM 如何将受影响的用户与服务请求关联起来?

我正在使用内置的 SCSM cmdlet 和 SMlets powershell 模块。我能够查询服务请求,但似乎无法弄清楚如何获取给定服务请求的受影响用户。我以以下方式获取服务请求:

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 类,但无济于事。

希望有一个非常简单的解决方案,我只是多想了。但是,如何使用 powershell 获取受影响用户的 SCSM 票证? 最好是服务请求票。

答案1

我继续挖掘,在网上找到了一个脚本,有人想在其中查找事件的用户电子邮件地址。我认为他们必须先找到用户(这会给我 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
}

相关内容