Code42 API的示例使用
这篇文章是给谁看的?
老师,不。
Incydr Professional, Enterprise, Horizon和Gov F2,是的。
Incydr基础,高级,和Gov F1,没有。
概述
您可以使用Code42 API创建自定义报告、执行自动化操作或与组织内的现有系统集成。本文展示了使用Code42 API与Code42环境交互的多种方式中的一些。
在开始之前
下面的几个例子使用了Python JSON格式化工具(python3 -mjson.tool
).如果您的系统没有Python 3,您可以从官方下载页面.
GitHub
GitHub是一个流行的开源代码存储库和开发人员的社交平台。您可以在上面找到其他API示例、代码库、脚本和开发人员文档Code42的GitHub页面.欢迎大家投稿。
例子
电脑
按用户排序的设备备份状态
Code42 API可以方便地查看用户的设备最后一次完全备份的时间。下面的示例使用电脑资源并限制输出积极= true,包括备份使用情况,并根据最近备份的日期对输出进行排序。一旦知道了userID,这个示例就可以更改为只报告单个用户的详细信息。
curl "https://console.us.code42.com/api/v1/Computer?active=true&incBackupUsage=true&srtKey=lastBackup" -H '授权:承载' | python3 -mjson.tool . zip
取代< auth_token >
与一个身份验证令牌.
样例输出:
{"metadata": {"timestamp": "2014-08-07T15:31:21.466-05:00", "params": {"incBackupUsage": "true", "srtKey": "lastBackup", "active": "true"}}, "data": {"computers": [{"computerId": 10, "name": "Alpha", "guid": "619174385806213377", "type": "COMPUTER", "status": "active", "active": true, "blocked": false, "alertState": 0, "alertStates": ["OK"], "userId": 2, "orgId": 2, "parentComputerId": null, "lastConnected": "2014-08-07T15:14:04.234-05:00", "osName": "Linux", "osVersion":"3.2.0-4-686-pae", "osArch": "i386", "address": "127.0.0.1:4242", "remoteAddress": "127.0.0.1", "javaVersion": "1.6.0_27", "modelInfo": null, "timeZone": "US/Central", "version": 1375333203614, "productVersion": "3.6.1.4", "creationDate": "2014-08-01T16:37:51.131-05:00", "modificationDate": "2014-08-07T15:14:09.645-05:00", "loginDate": "2014-08-07T15:14:09.645-05:00", "backupUsage": [{"targetComputerId": 2, "targetComputerParentId": null, "targetComputerGuid": "“647903643760066817”、“targetComputerName”:“Code42服务器”、“targetComputerOsName”:空,“targetComputerType”:“服务器”、“selectedFiles”:8“selectedBytes”:21944年,“todoFiles”:0,“todoBytes”:0,“archiveBytes”:111170年,“billableBytes”:111170年,“sendRateAverage”:70139年,“completionRateAverage”:0,“lastBackup”:“2014 - 08年- 07 - t15:14:12.802凌晨”、“lastCompletedBackup”:“2014 - 08年- 07 - t15:14:12.802凌晨”、“lastConnected”:“2014 - 08年- 07 - t15:16:45.469凌晨”、“lastMaintenanceDate”:“2014 - 08 - 01 - t16:38:13.955凌晨”、“lastCompactDate”:空,“modificationDate”:“2014 - 08年- 07 - t15:16:45.469凌晨”,“创建日期”:“2014 - 08 - 01 - t16:38:13.958凌晨”、“使用”:真的,“alertState”:0,“alertStates”:“OK”,“percentComplete”:100年,“storePointId”:1、“storePointName”:“默认”,“serverId”:3,“serverName”:“Code42服务器”、“serverHostName”:“http://alpha: 4280”、“isProvider”:假的 } ] }, { " computerId”:11,“名称”:“测试版”、“guid”:“631663249095393537”、“类型”:“计算机”、“状态”:"Active", "Active": true, "blocked": false, "alertState": 0, "alertStates": ["OK"], "userId": 3, "orgId": 2, "parentComputerId": null, "lastConnected": "2014-08-07 t15:26:14. 214 -05:00", "osName": "Linux", "osVersion": "3.2.0-4-686-pae", "osArch": "i386", "address": "172.16.195.139:4242", "remoteAddress": "172.16.195.139", "javaVersion": "1.6.0_27", "modelInfo": null, "timeZone": "US/Central", "version": 1375333203614, "productVersion": "3.6.1.4", "creationDate":“2014 - 08年- 07 - t15:26:12.274凌晨”、“modificationDate”:“2014 - 08年- 07 - t15:26:16.615凌晨”、“loginDate”:“2014 - 08年- 07 - t15:26:14.309凌晨”、“backupUsage”:[{“targetComputerId”:2,“targetComputerParentId”:空,“targetComputerGuid”:“647903643760066817”,“targetComputerName”:“Code42服务器”、“targetComputerOsName”:空,“targetComputerType”:“服务器”、“selectedFiles”:588年,“selectedBytes”:798675763,“todoFiles”:588年,“todoBytes”:798675763,“archiveBytes”:357年,“billableBytes”:357年,“sendRateAverage”:92047年,“completionRateAverage”:0,“lastBackup”:“2014 - 08年- 07 - t15:27:08.191凌晨”、“lastCompletedBackup”:空,“lastConnected”:“2014 - 08年- 07 - t15:29:45.648凌晨”、“lastMaintenanceDate”:“2014 - 08年- 07 - t15:27:05.388凌晨”、“lastCompactDate”:空,“modificationDate”:“2014 - 08年- 07 - t15:29:45.648凌晨”,“创建日期”:“2014 - 08年- 07 - t15:27:05.389凌晨”、“使用”:真的,“alertState”:0,“alertStates”:“OK”,“percentComplete”:0,“storePointId”:1、“storePointName”:"Default", "serverId": 3, "serverName": "Code42 Server", "serverHostName": "http://alpha:4280", "isProvider": false}]}]}}
Code42应用程序版本x上的设备数量
Code42 API的一个常见用途是确定有多少设备运行特定的版本号。这在客户端升级后可以用来确认设备是否自动升级。下面的示例使用电脑资源,将输出限制为仅使用的活动设备积极= true,并导出数据。Grep然后筛选输出以计算版本字符串的实例数量8.7.0,.
curl "https://console.us.code42.com/api/v1/Computer?export=csv&active=true" -H '授权:承载' | grep -c,8.7.0,
该命令显示运行3.6.3版本的主用设备总数(最多999台)。
注意电脑资源包括移动设备和电脑。
Code42除x以外的应用程序版本
如果你有一个大型的Code42 for Enterprise环境,(超过1000个设备),使用长长的信息列表标准输出(stdout)可能很麻烦。您可以将列表导出到CSV文件,然后使用实用程序操作数据,例如awk或者微软Excel。Awk是一种文本处理编程语言,是操作文本文件的有用工具。
下面的示例使用旋度,grep,awk显示当前版本(本例中当前版本为3.6.3)以外的活动设备列表。这可能是一个在大规模升级之后查看环境中存在哪些客户机版本的有用脚本。
该示例使用电脑资源。输出仅限于有源设备(积极= true),然后输出。导出的输出包含报告当前版本(不是3.6.3)的活动设备的所有计算机资源属性。我们使用grep删除标题行,然后将输出重定向到名为“devices.txt”的文本文件。然后我们使用awk处理文本文件并只显示不包含版本号8.7.0的行。
curl "https://console.us.code42.com/api/v1/Computer?export=csv&active=true" -H '授权:承载' | python3 -mjson. curl "https://console.us.code42.com/api/v1/Computer?export=csv&active=true" -H '授权:承载 ' |工具| grep,, > devices.txt awk -F "," '$18 != "8.7.0" {print $18}' devices.txt
样例输出:
8.7.1 8.6.1 8.6.0
用户
betway365管理员访问的安全审计
随着Code42环境的发展,可能会有大量管理员参与日常管理。下面的示例使用用户资源列出已分配的所有活动用户roleId = 10,对应于组织管理.属性对输出进行筛选grep实用程序只显示包含用户名的行。
curl "https://console.us.code42.com/api/v1/User?active=true&pgSize=999&roleId=10&incRoles=true" -H '授权:承载' | python3 -mjson. curl "https://console.us.code42.com/api/v1/User?active=true&pgSize=999&roleId=10&incRoles=true" -H '授权:承载 ' |工具| grep -w用户名
样例输出:
username:“michelle.lee@example.com”,username:“chris.smith@example.com”,username:“joe.johnson@example.com”,
移动用户
通过向Code42 API传递参数,可以将用户移动到不同的组织。这里是用户帐户用户id = 307是搬到组织跟parentOrgId = 71.
curl -v -H "Content-Type: application/json" -X POST -d '{"userId":307,"parentOrgId":71}' https://console.us.code42.com/api/v1/UserMoveProcess -H '授权:持有人'
更新用户备份磁盘配额
您可以使用用户资源,以更新允许用户在所有设备上使用的存储总量。这里是用户用户id = 80将更新为具有30gb的配额。
curl -X PUT -H "Content-Type: application/json" -d '{"quotaInBytes":30000000000}' https://console.us.code42.com/api/v1/User/80 -H '授权:承载'