Windows-Server-2008-R2

SCSM 如何將受影響的使用者與服務請求聯繫起來?

  • February 20, 2015

我正在使用內置的 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# 開發人員,所以其中一些內容超出了我的想像。我也嘗試從EnterpriseManagementObject Class的 msdn 頁面獲得一些理解和幫助,但無濟於事。

希望有一個非常簡單的解決方案,我只是想多了。但是,如何使用 powershell 獲取 SCSM 票證的受影響使用者? 最好是服務請求票。

我不斷探勘並在網上找到了一個腳本,有人想在其中找到事件的使用者電子郵件地址。我認為他們必須首先找到使用者(這會給我 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
}

引用自:https://serverfault.com/questions/668158