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

使用Jamf Pro API批量获取移动设备硬件网络信息遇字段为空如何解决?

解决Jamf Pro批量获取移动设备全量数据的问题

1. 利用v2端点的include参数补全字段

/api/v2/mobile-devices/detail端点默认仅返回general分类数据,你可以通过include查询参数显式指定需要拉取的分类,以此获取hardware和network的全量字段:

  • 基础请求示例:
    GET /api/v2/mobile-devices/detail?include=general,hardware,network
    
  • 分页请求(设备数量较多时):
    GET /api/v2/mobile-devices/detail?include=general,hardware,network&page=1&page-size=1000
    
    注:page-size最大值通常为1000,具体取决于你的Jamf Pro版本。

2. 验证返回数据完整性

发送请求后检查JSON结构,每台设备对象应包含general、hardware、network三个非空的子对象,对应分类下的所有字段(如hardware的model/serialNumber,network的wifiMacAddress/cellularNetwork等)都会被返回。

3. 实现每小时定时拉取

可以通过脚本结合定时工具完成周期性执行:

  • Python脚本示例(依赖requests库):
    import requests
    import time
    
    JAMF_INSTANCE = "https://你的Jamf Pro实例地址"
    API_TOKEN = "你的API令牌"
    REQ_HEADERS = {"Authorization": f"Bearer {API_TOKEN}", "Accept": "application/json"}
    
    def pull_all_devices():
        all_devices = []
        current_page = 1
        while True:
            req_params = {
                "include": "general,hardware,network",
                "page": current_page,
                "page-size": 1000
            }
            res = requests.get(f"{JAMF_INSTANCE}/api/v2/mobile-devices/detail", headers=REQ_HEADERS, params=req_params)
            res.raise_for_status()
            res_data = res.json()
            all_devices.extend(res_data["results"])
            if current_page >= res_data["totalPages"]:
                break
            current_page += 1
        # 此处添加数据持久化逻辑(如写入文件/数据库)
        print(f"已拉取{len(all_devices)}台设备数据")
    
    # 每小时执行一次
    while True:
        pull_all_devices()
        time.sleep(3600)
    
  • 更可靠的定时方案:Linux/macOS用cron,Windows用任务计划程序,替代脚本内的循环逻辑。

4. 备选方案:v1批量导出端点

如果v2端点仍存在问题,可尝试v1的批量导出端点,默认返回全量设备数据:

GET /JSSResource/mobiledevices/export

该端点返回XML格式数据,可通过xmltodict等工具转换为JSON处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.03 12:13:11