Scroll to bottom of page for installation/downloads
Latest updates
6.31.06
Added support for new ChromeOS device fields:
<CrOSFieldName> ::=
deprovisionreason|
firstenrollmenttime|
lastdeprovisiontimestamp|
6.31.05
Google can return an error Internal error
on API calls; by default, GAM retries these API calls an additional 9 times
for a total of 10 tries. In some cases, determined by experience, the additional retries are unlikely to succeed and
GAM performs 1 additional retry rather than 9 for a total of 2 tries.
Added bail_on_internal_error_tries
variable to gam.cfg
that is used by GAM to control
the total number of tries for these API calls; Google seems to be sending this error when it is very busy.
The default value is 2 and values from 1 to 10 are allowed.
This is a rare event, this is an experiment to see if retrying these errors more times leads to success.
6.31.04
Added commands to display Chrome Devices Needing Attention counts.
gam print chromeneedsattn [todrive <ToDriveAttribute>*]
[(ou <OrgUnitItem>)|(ou_and_children <OrgUnitItem>)|
(ous <OrgUnitList>)|(ous_and_children <OrgUnitList>)]
[formatjson [quotechar <Character>]]
gam show chromeneedsattn
[(ou <OrgUnitItem>)|(ou_and_children <OrgUnitItem>)|
(ous <OrgUnitList>)|(ous_and_children <OrgUnitList>)]
[formatjson]
6.31.03
Added commands to display Chrome Auto Update Expiration counts.
gam print chromeaues [todrive <ToDriveAttribute>*]
[(ou <OrgUnitItem>)|(ou_and_children <OrgUnitItem>)|
(ous <OrgUnitList>)|(ous_and_children <OrgUnitList>)]
[minauedate <Date>] [maxauedate <Date>]
[formatjson [quotechar <Character>]]
gam show chromeaues
[(ou <OrgUnitItem>)|(ou_and_children <OrgUnitItem>)|
(ous <OrgUnitList>)|(ous_and_children <OrgUnitList>)]
[minauedate <Date>] [maxauedate <Date>]
[formatjson]
6.31.02
Updated gam <UserTypeEntity> vacation
to process (replace <Tag> <String>)*
in the subject.
6.31.01
Added option nofile
to gam <UserTypeEntity> get photo|profilephoto
that causes GAM to suppress
writing the photo data to a file. This would typicically be used when you are capturing the photo data
written to stdout.
6.31.00
Added retry_api_service_not_available
variable to gam.cfg
that is used to have GAM retry
Service not applicable
errors on API calls; Google seems to be sending this error when it is very busy.
This is a rare event, this is an experiment to see if GAM can identify these errors and retry them.
6.30.18
Fixed bug in gam <UserTypeEntity> move drivefile
where the modified time of files was inappropriately being changed.
6.30.17
Updated code for gam <UserTypeEntity> get profilephoto size <Integer>
to account for API documentation error.
6.30.16
Added option nodefault
to gam <UserTypeEntity> get profilephoto
that causes GAM to display an
error message and set the return code to 50 if the user has a default profile photo.
6.30.15
Added option gphoto <EmailAddress> <DriveFileIDEntity>|<DriveFileNameEntity>
to gam <UserTypeEntity> update photo
that specifies an owner and file to be used as the source of the photo.
6.30.14
Fixed bug in gam <UserTypeEntity> print|show peopleprofile fields ...
where metadata was being displayed
even when showmetadata
was not specified.
6.30.13
Fixed bug in gam <UserTypeEntity> show fileinfo <DriveFileEntity> fields shortcutdetails.targetid
that caused a trap.
Added option size <Integer>
to gam <UserTypeEntity> get profilephoto
that specifies the size in pixels of the file to download.
6.30.12
Updated gam update group <GroupEntity> update [<GroupRole>] [[delivery] <DeliverySetting>] <UserTypeEntity>
to handle the following error when <UserTypeEntity>
is an external member.
ERROR: 404: resourceNotFound - Does not exist
This is a Google bug where some external members can't be updated by email address.
6.30.11
Added option emailmatchpattern [not] <RegularExpression>
to gam <UserTypeEntity> delete group|groups
that allows deleting a user from all groups of which they are a member based on (not) matching the group email address.
6.30.10
Added the ability to specify fields when displaying calendars.
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Calendars
- See: https://github.com/taers232c/GAMADV-XTD3/wiki/Users-Calendars
6.30.09
Added the following shortcuts to <DriveFileQueryShortcut>
:
* my_top_files - "'me' in owners and mimeType != application/vnd.google-apps.folder and 'root' in parents"
* my_top_folders - "'me' in owners and mimeType = application/vnd.google-apps.folder and 'root' in parents"
* my_top_items - "'me' in owners and 'root' in parents"
6.30.08
Following Jay's lead, added the following License SKUs:
1010390001 - Assured Controls
1010400001 - Beyond Corp Enterprise
6.30.07
Added option sheetsfields <SpreadsheetSheetsFieldList>
to gam <UserTypeEntity> print|show sheet <DriveFileEntity>
that lets you specfiy the desired subfields from the sheets
field of a spreadsheet that should be displayed.
By default, all sheets
subfields are displayed.
<SpreadsheetSheetsField> ::=
bandedranges|
basicfilter|
charts|
columngroups|
conditionalformats|
data|
developermetadata|
filterviews|
merges|
properties|
protectedranges|
rowgroups|
slicers
<SpreadsheetSheetsFieldList> ::= "<SpreadsheetSheetsField>(,<SpreadsheetSheetsField>)*"
6.30.06
Fixed bug in gam <UserTypeEntity> create|update|delete drivefileacl <DriveFileEntity> ... updatesheetprotectedranges
that caused a trap.
6.30.05
Cleaned up code for option updatesheetprotectedranges
in gam <UserTypeEntity> create|update|delete drivefileacl <DriveFileEntity>
.
6.30.04
Improved output formatting for field sheets
in gam <UserTypeEntity> info sheet <DriveFileEntity>
.
6.30.03
Updated gam <UserTypeEntity> create|update drivefileacl <DriveFileEntity>
commands to handle the following error.
ERROR: 403: fileOrganizerOnFoldersInSharedDriveOnly - FileOrganizer role is only allowed on folders.
Added option updatesheetprotectedranges to
gam create|update|delete drivefileacl commands that causes GAM to update Sheet Protected Ranges if
` is a Google Sheet.
6.30.02
Fixed error message in gam print cigroups
when an invalid field was specified.
6.30.01
Fixed bug in gam create cigroup <EmailAddress> name <String> <GroupAttribute>+
where the group name was set to <EmailAddress>
rather than <String>
.
6.30.00
Added option returnidonly
to gam <UserTypeEntity> show fileinfo <DriveFileEntity>
that causes GAM to return just the file ID of the files in <DriveFileEntity>
file as output.
$ gam user user@domain.com show fileinfo root returnidonly
0AHYenC8f12ALUk9xyz
$ gam user testsimple show fileinfo name "Test File" returnidonly
0B3YenC8f12ALflhUTmtNS3E2Vk9LSUpBVXRSUG5lQ29GWkRtWHM1VzU1blc4ZW1pb2FnNTA
Changed the display format of file paths for files on Shared Drives.
- Old format - SharedDrive(TS Shared Drive 6)/TS SD6 Folder/TS TD6 Doc
- New format -SharedDrives/TS Shared Drive 6/TS SD6 Folder/TS TD6 Doc
Added option returnpathonly
to gam <UserTypeEntity> show filepath <DriveFileEntity>
that causes GAM to return just the file path of the files in <DriveFileEntity>
file as output.
$ gam user user@domain.com show filepath name "Test File" returnpathonly
My Drive/Classroom/Test File
$ gam user user@domain.com show filepath 0AJ6mqwXP9wHxUk9xyz returnpathonly
TS Shared Drive 6
$ gam user testsimple show filepath 0AJ6mqwXP9wHxUk9xyz returnpathonly fullpath
SharedDrives/TS Shared Drive 6
$ gam user user@domain.com show filepath teamdriveid 0AJ6mqwXP9wHxUk9xyz teamdrivefilename "TS TD6 Doc" returnpathonly
SharedDrives/TS Shared Drive 6//TS SD6 Folder/TS TD6 Doc
Added command gam comment <String>*
that displays the comment data on stdout.
This can be used to validate csv_input_row_filters
and column value extraction.
$ more Comment.csv
col1,col2
aaa,111
bbb,222
ccc,333
$ gam config csv_input_row_drop_filter "col1:regex:bbb" csv Comment.csv gam comment "Col1:~~col1~~" "Col2:~~col2~~"
2022-12-16T12:41:50.045-08:00,0/2,Using 2 processes...
Col1:aaa Col2:111
Col1:ccc Col2:333
Updated gam <UserTypeEntity> create|delete license <SKUIDList>
to take a list of SKUs.
Updated gam create user <EmailAddress> ... license <SKUIDList>
to take a list of SKUs.
Updated gam <UserTypeEntity> sync license <SKUIDList>
to take a list of SKUs and
added option allskus|onesku
that is required when multiple SKUs are specified.
allskus
indicates that users in<UserTypeEntity>
will be updated to have all of the SKUs in<SKUIDList>
.- This is typically used when assigning different types of licenses, such as an Enterprise license and a Voice license.
onesku
indicates that users in<UserTypeEntity>
with none of the licenses in<SKUIDList>
will be updated to have the first available license SKU in<SKUIDList>
.- This is typically used with Google Education Plus or Google Education Standard licenses, which are split across multiple SKUs.
Added option basic
to gam print cigroups
that causes GAM to display the basic
Cloud Identity Group fields, i.e., those fields that do not require an additional API call per group.
Following Jay's lead, added option query <String>
to gam print cigroups
.
Installation
If you are a first time Gam user:
If you are updating your GAMADV-XTD3 version:
If you are upgrading from standard Gam
If you are upgrading from GAMADV-X or GAMADV-XTD
sha256 hashes
9682b722ef676cd7bd80c1ed4b198914fbf0c2bfcec0097edc8eca444e157be5 gamadv-xtd3-6.31.06-linux-arm64-glibc2.23.tar.xz
0f6b1d3cf7a32e75468dd3bc1a609e097cc740ef4c6d5cb833a893942f8fe036 gamadv-xtd3-6.31.06-linux-arm64-glibc2.27.tar.xz
8fbb7df12f7d7ca254b100744f1482907fc29b16ae9089460d52da06c263f235 gamadv-xtd3-6.31.06-linux-arm64-glibc2.31.tar.xz
542d3036c86d7fc04214dbd65194f041c4d8d5cf57e45dbca7dbf134217be8a4 gamadv-xtd3-6.31.06-linux-x86_64-glibc2.19.tar.xz
b7fac60df55b76556592a6586ee34ed669c630691ba617ebf8662f7aa2bb79a8 gamadv-xtd3-6.31.06-linux-x86_64-glibc2.23.tar.xz
770684b4dcde9b1a3df7e79ea2ea16aa1dff3773d48aef8c9e509e3b38b43f7a gamadv-xtd3-6.31.06-linux-x86_64-glibc2.27.tar.xz
f6e046661e3494e25528653aa5a077b5b501783ab58d8b3f72917be55ecbd082 gamadv-xtd3-6.31.06-linux-x86_64-glibc2.31.tar.xz
498b0ff7fad00c2504687677ce12a77a0d08c85d81ab6654b0c26e122909a05b gamadv-xtd3-6.31.06-linux-x86_64-glibc2.35.tar.xz
0c4c6545a4ba35ef0fdedab6ef144ed4c43f7ec68c97622348dbe0fbebf74bc2 gamadv-xtd3-6.31.06-linux-x86_64-legacy.tar.xz
9d08b1cadf2d063cf3070769158892ba566355bf5cb878dd939d543e269e8c4e gamadv-xtd3-6.31.06-macos-arm64.tar.xz
d1440a65a6b8572a5f4fe3e266a2d33d86fb8ec7d29bab9d995553274070afda gamadv-xtd3-6.31.06-macos-x86_64-legacy.tar
aaaa4820436a5bc095fcac92ef37d0c6ffc51c6617e204b121479d1b7e2d6c8e gamadv-xtd3-6.31.06-macos-x86_64.tar.xz
e7093f000bf9c749b5e51112aa990beace5336231cf730fde84cc60e406e19a9 gamadv-xtd3-6.31.06-windows-x86.msi
c037c6941bf55eb61e00ebd4762f66e449568be33bc623d73c4695f8b21dc501 gamadv-xtd3-6.31.06-windows-x86.zip
285d4bd8d53b0e4a184685a76ad107ab04210d1c341462ba8c6695ca4ac136c8 gamadv-xtd3-6.31.06-windows-x86_64.msi
5295a3f63d57dd6e9b9d23bc0ccda465747a62b8ed91589106e3c9a723120b75 gamadv-xtd3-6.31.06-windows-x86_64.zip