我正在使用内置的 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),我是对的。这是解决方案: