From 720bd466833ec95e37c511a14fed44c656e06098 Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Mon, 19 Jun 2017 15:00:11 -0400 Subject: [PATCH] Filter Chrome devices by OU --- src/gam.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/gam.py b/src/gam.py index f05a78c2..3a903271 100755 --- a/src/gam.py +++ b/src/gam.py @@ -9624,12 +9624,16 @@ def doPrintCrosActivity(): listLimit = 0 delimiter = u',' query = None + orgUnitPath = None i = 3 while i < len(sys.argv): myarg = sys.argv[i].lower().replace(u'_', u'') if myarg == u'query': query = sys.argv[i+1] i += 2 + if myarg == u'limittoou': + orgUnitPath = sys.argv[i+1] + i += 2 elif myarg == u'todrive': todrive = True i += 1 @@ -9668,7 +9672,7 @@ def doPrintCrosActivity(): page_message = u'Got %%num_items%% Chrome devices...\n' all_cros = callGAPIpages(cd.chromeosdevices(), u'list', u'chromeosdevices', page_message=page_message, query=query, customerId=GC_Values[GC_CUSTOMER_ID], projection=u'FULL', - fields=fields, maxResults=GC_Values[GC_DEVICE_MAX_RESULTS]) + fields=fields, maxResults=GC_Values[GC_DEVICE_MAX_RESULTS], orgUnitPath=orgUnitPath) for cros in all_cros: row = {} for attrib in cros: @@ -9706,7 +9710,7 @@ def doPrintCrosDevices(): csvRows = [] addFieldToCSVfile(u'deviceid', CROS_ARGUMENT_TO_PROPERTY_MAP, fieldsList, fieldsTitles, titles) sortHeaders = False - query = projection = orderBy = sortOrder = None + query = projection = orderBy = sortOrder = orgUnitPath = None noLists = False selectActiveTimeRanges = selectRecentUsers = False startDate = endDate = None @@ -9717,6 +9721,9 @@ def doPrintCrosDevices(): if myarg == u'query': query = sys.argv[i+1] i += 2 + elif myarg == u'limittoou': + orgUnitPath = sys.argv[i+1] + i += 2 elif myarg == u'todrive': todrive = True i += 1 @@ -9814,7 +9821,7 @@ def doPrintCrosDevices(): sys.stderr.write(u'Retrieving All Chrome OS Devices for organization (may take some time for large accounts)...\n') page_message = u'Got %%num_items%% Chrome devices...\n' all_cros = callGAPIpages(cd.chromeosdevices(), u'list', u'chromeosdevices', page_message=page_message, - query=query, customerId=GC_Values[GC_CUSTOMER_ID], projection=projection, + query=query, customerId=GC_Values[GC_CUSTOMER_ID], projection=projection, orgUnitPath=orgUnitPath, orderBy=orderBy, sortOrder=sortOrder, fields=fields, maxResults=GC_Values[GC_DEVICE_MAX_RESULTS]) if (not noLists) and (not selectActiveTimeRanges) and (not selectRecentUsers): for cros in all_cros: