我有一个 Orchestrator 运行手册,它使用 Configuration Manager Integration Pack 中的查询配置管理器活动来查询 SCCM 中所有待处理的应用程序请求。它似乎在工作,但我不知道如何使用结果。我可以选择“查询结果来自”,它会返回整个对象,但我想访问“用户”属性。当我尝试使用查询结果时,我总是会返回整个项目:
"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,仅供参考。
编辑:抱歉,忘了提及上述三次尝试导致(<itemAbove>
上面的项目在代码块中的位置):
<itemAbove>
。用户- (
<itemAbove>
.用户) - $((
<itemAbove>
).用户)
答案1
我最终使用 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)
}
答案2
为了回答其他人寻求的这个问题,您可以使用场地函数来检索数据。
例子:
[Field('John;Smith;9055552211', ';', 2)]
以上将返回“Smith”。您将在第一个参数中插入“已发布数据”变量,最后一个参数是要返回的列号。