You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Beta Graph API deviceRunStates筛选功能失效问题求助

解决Microsoft Graph API筛选特定设备脚本执行结果的问题

问题根源分析

  1. 第一个API调用失败:你拼接的${ScriptId}:${DeviceId}并不是deviceManagementScriptDeviceState的合法ID,该ID是Graph自动生成的唯一标识符,并非脚本ID+设备ID的组合,因此直接通过/deviceRunStates/{id}访问会触发路由匹配错误。
  2. 第二个方法的筛选失效:userRunStates下级的deviceRunStates集合不支持通过$filter=id eq ...进行服务端筛选,因此会返回所有结果。

正确解决方案

直接针对deviceManagementScripts/{ScriptId}/deviceRunStates集合使用deviceId作为筛选条件,这是官方支持的服务端筛选方式:

$GraphCPU = "https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts/${ScriptId}/deviceRunStates?`$filter=deviceId eq '${DeviceId}'"

$ResponseCPU = Invoke-RestMethod -Uri $GraphCPU -Headers $Headers -Method GET

# 输出目标设备的执行结果
$ResponseCPU.value | Format-List

补充优化

  • 若只需获取resultMessage等特定字段,可添加$select参数精简返回内容:
    $GraphCPU = "https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts/${ScriptId}/deviceRunStates?`$filter=deviceId eq '${DeviceId}'&`$select=resultMessage,deviceId,lastStateUpdateDateTime"
    
  • 确保你的应用已拥有DeviceManagementManagedDevices.Read.All或更高权限,避免出现权限不足的错误。

内容的提问来源于stack exchange,提问作者user3519805

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 02:52:13