6.7 KiB
Mobile Devices
- API documentation
- Query documentation
- Definitions
- Manage mobile devices
- Display mobile devices
- Print mobile devices
- Display mobile device counts
API documentation
Query documentation
Definitions
<QueryMobile> ::= <String>
See: https://support.google.com/a/answer/7549103
<QueryMobileList> ::= "<QueryMobile>(,<QueryMobile>)*"
<ResourceID> ::= <String>
<ResourceIDList> ::= "<ResourceID>(,<ResourceID>)*"
<MobileEntity> ::=
<ResourceIDList> |
(query:<QueryMobile>)|(query <QueryMobile>)
<MobileAction> ::=
admin_remote_wipe|wipe|
admin_account_wipe|accountwipe|wipeaccount|
approve|
block|
cancel_remote_wipe_then_activate|
cancel_remote_wipe_then_block)
<MobileFieldName> ::=
adbstatus|
applications|
basebandversion|
bootloaderversion|
brand|
buildnumber|
defaultlanguage|
developeroptionsstatus|
devicecompromisedstatus|
deviceid|
devicepasswordstatus|
email|
encryptionstatus|
firstsync|
hardware|
hardwareid|
imei|
kernelversion|
lastsync|
managedaccountisonownerprofile|
manufacturer|
meid|
model|
name|
networkoperator|
os|
otheraccountsinfo|
privilege|
releaseversion|
resourceid|
securitypatchlevel|
serialnumber|
status|
supportsworkprofile|
type|
unknownsourcesstatus|
useragent|
wifimacaddress
<MobileFieldNameList> ::= "<MobileFieldName>(,<MobileFieldName>)*"
<MobileOrderByFieldName> ::=
deviceid|email|lastsync|model|name|os|status|type
Manage mobile devices
gam update mobile <MobileEntity> action <MobileAction>
[doit] [matchusers <UserTypeEntity>]
gam delete mobile <MobileEntity>
[doit] [matchusers <UserTypeEntity>]
If <MobileEntity> uses a query, the doit option must be used to enable execution.
The matchusers <UserTypeEntity> option disables execution on devices that don't have
have an email address contained in that list.
Display mobile devices
gam info mobile <MobileEntity>
[basic|full|allfields] <MobileFieldName>* [fields <MobileFieldNameList>]
[formatjson]
By default, Gam displays the information as an indented list of keys and values.
formatjson- Display the fields in JSON format.
Print mobile devices
gam print mobile [todrive <ToDriveAttribute>*]
[(query <QueryMobile>)|(queries <QueryMobileList>) (querytime<String> <Time>)*]
[orderby <MobileOrderByFieldName> [ascending|descending]]
[basic|full|allfields] <MobileFieldName>* [fields <MobileFieldNameList>]
[delimiter <Character>] [appslimit <Number>] [oneappperrow] [listlimit <Number>]
[formatjson [quotechar <Character>]]
The email, name and otheraccountsinfo fields can have multiple values; the listlimit argument controls how these fields are displayed.
listlimit -1- print no values for the fieldlistlimit 0- print all values for the fieldlistlimit 1- print one value for the field, defaultlistlinit N- print the first N values for the field
The applications field can have multiple values; the appslimit argument controls how this field is displayed.
appslimit -1- print no values for the field, defaultappslimit 0- print all values for the fieldappslinit N- print the first N values for the field
For a device with many applications, displaying all of the applications on one row can make an excessively long field;
use the oneappperrow option to have each application be displayed on a separate row with all of the other mobile device fields.
Use the querytime<String> <Time> option to allow times, usually relative, to be substituted into the query <QueryMobile> option.
The querytime<String> <Time> value replaces the string #querytime<String># in any queries.
The characters following querytime can be any combination of lowercase letters and numbers. This is most useful in scripts
where you can specify a relative date without having to change the script.
For example, query for mobile devices synced more that 30 days ago.
gam print mobile fields querytime30d -30d query "sync:..#querytime30d#"
To AND query terms, put all of your terms in one query:
gam print mobile query "manufacturer:Meizu os:Android 7.0.0"
To OR query terms, put the terms im multiple queries:
gam print mobile queries "'model:iPhone 6','model:samsung'"
delimiter - The items in the applications, email, name and otheraccountsinfo fields are separated by delimiter, it defaults to the value of csv_output_field_delimiter in gam.cfg.
By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format,
formatjson- Display the fields in JSON format.
By default, when writing CSV files, Gam uses a quote character of double quote ". The quote character is used to enclose columns that contain
the quote character itself, the column delimiter (comma by default) and new-line characters. Any quote characters within the column are doubled.
When using the formatjson option, double quotes are used extensively in the data resulting in hard to read/process output.
The quotechar <Character> option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
quotechar defaults to gam.cfg/csv_output_quote_char. When uploading CSV files to Google, double quote " should be used.
Display mobile device counts
Display the number of mobile devices.
gam print mobile
[(query <QueryMobile>)|(queries <QueryMobileList>) (querytime<String> <Time>)*]
showitemcountonly
Example
$ gam print mobile showitemcountonly
Getting all Mobile Devices, may take some time on a large Google Workspace Account...
Got 100 Mobile Devices...
Got 115 Mobile Devices
115
The Getting and Got messages are written to stderr, the count is writtem to stdout.
To retrieve the count with showitemcountonly:
Linux/MacOS
count=$(gam print mobile showitemcountonly)
Windows PowerShell
count = & gam print mobile showitemcountonly