System Center Orchestrator 2012 R2 – 访问退货项目的属性

我有一个Orchestrator Runbook使用Configuration Manager集成包中的“查询configurationpipe理器”活动来查询SCCM是否有所有待处理的应用程序请求。 这似乎是工作,但我不知道如何使用结果。 我可以select“Query Results from”,它返回整个对象,但是我想访问“User”属性。 当我尝试使用查询结果时,我总是得到整个项目:

"Application"="MyApp";"CI_UniqueID"="ScopeId_5A6F4DD1-9332-4D87-B040-05437E8677D7/Application_257e201b-9c34-4d1c-9de5-b84d428cfd67/2";"Comments"="User's comment during application request";"CurrentState"="1";"LastModifiedBy"="DOMAIN\username";"LastModifiedDate"="2014-08-21T14:29:05";"ModelName"="ScopeId_5A6F4DD1-9332-4D87-B040-05437E8677D7/Application_257e201b-9c34-4d1c-9de5-b84d428cfd67";"RequestGuid"="9CCDF61B-64BC-4EE9-A31C-7DA1218F7FCF";"RequestHistory"="";"User"="DOMAIN\username";"UserSid"=""; 

我试过的东西:

  • {来自“上一步”的查询结果}用户
  • $({来自“上一步”的查询结果)用户)
  • $(({{来自“上一步”的查询结果)})用户)

有谁知道如何做到这一点? 使用SCCM 2012和SCO 2012 R2,FWIW。

编辑:对不起,忘了提及上面的三个尝试导致(其中<itemAbove>是,上面的代码块中的项目):

  • <itemAbove> .User
  • <itemAbove> .User)
  • $(( <itemAbove> ).User)

我使用PowerShell脚本来完成这个。

 $appReqs = Get-WmiObject -ComputerName <computername> ` -Namespace root/SMS/site_<mysite> ` -Class SMS_UserApplicationRequest ` -Filter "RequestGuid = '<array of GUIDs from previous activity>'" foreach ($appReq in $appReqs) { $comment = $appReq.Comments $user = $appReq.User $appName = $appReq.Application $date = $appReq.ConvertToDateTime($appReq.LastModifiedDate) } 

为了回答他人追求的这个问题,你可以使用Field函数来检索数据。

例如: [Field('John;Smith;9055552211', ';', 2)]

以上将返回“史密斯”。 您将在第一个参数中插入“已发布数据”variables,最后一个参数是要返回的列号。