github taers232c/GAMADV-XTD3 v6.59.13
GAM 6.59.13

latest releases: v6.60.04, v6.60.03, v6.60.02...
17 days ago

Scroll to bottom of page for installation/downloads

Latest updates


Fixed bug in gam <UserTypeEntity> print groups|grouptree|groupslist that caused the following
error whan an email address contained an apostrophe.

WARNING: Got 0 Groups: Invalid Member - test.o'

Fixed bug in gam <UserTypeEntity> print|show contacts ... filtercontactgroup <PeopleContactGroupItem> that returned
no contatcs when neither allfields or fields <PeopleFieldNameList> was specifiecd.


Fixed bug in gam create user <EmailAddress> ... immutableous <OrgUnitEntity> ... createifnotfound
that generated the following error when the user <EmailAddress> did not exist and needed to be created.

User: <EmailAddress>, Service not applicable/Does not exist


Updated gam print|show chromepolicies to query the following nameapaces when
namespace <NamespaceList> is not specified. Previously, only the namespaces
marked with a * were queried. chrome.devices.managedguest was added in 6.59.10.

chrome.users *
chrome.users.apps *
chrome.devices *
chrome.devices.kiosk *
chrome.devices.managedguest *


Fixed bug in gam print|show chromepolicies where policies in namespace chrome.devices.managedguest
were not displayed unless it was specified in namespace <NamespaceList>.

Improved error messages in gam <UserTypeEntity> move events.


Added option addnumericsuffixonduplicate <Number> to gam create user <EmailAddress> that
will attempt to create a unique <EmailAddress> when the original value is a duplicate user address.
If <EmailAddress> is <String>@<DomainName>, up to <Number> attempts will be made
to create a unique <EmailAddress>; <Number> defaults to 0.



Fixed bug in csv_output_row_filter "FieldName:date<Operator>Never" that didn't properly detect matches.
For example, the following command would not display users that had never logged in.

gam config csv_output_row_filter "lastLoginTime:date=Never" print users lastlogintime


Added option immutableous <OrgUnitEntity> to gam <UserTypeEntity> update user ... org <OrgUnitPath> that
does not update the user's OU to <OrgUnitPath> if <OrgUnitPath> appears in <OrgUnitEntity>. All other
fields are updated.

This can be used when a SIS outputs user data to be updated but students temporarily in special purpose
OUs should not be updated to the SIS specified OU. <OrgUnitEntity> and <OrgUnitPath> must both
specify OU paths, not IDs.

gam csv SISdata.csv gam update user "~primaryEmail" suspended off firstname "~First Name" lastname "~Last Name"
        ou "~OU" immutableous "'/Students/Lower School/Restricted,'/Students/Middle School/Restricted'"


Added option sources <PeopleProfileSourceNameList> to gam <UserTypeEntity> print|show peopleprofile
that allows specification of the sources of the data to display. By default, data from all sources is displayed.

<PeopleProfileSourceName> ::=
<PeopleProfileSourceNameList> ::= "<PeopleProfileSourceName>(,<PeopleProfileSourceName>)*"

Added option updatefilepermissions [<Boolean>] to gam <UserTypeEntity> move drivefile <DriveFileEntity>.
Previously, file permissions were not updated in the command; now, when updatefilepermissions is true,
file permissions will be removed/created as specified by the following noptions:

excludepermissionsfromdomains <DomainNameList>
includepermissionsfromdomains <DomainNameList>
mappermissionsdomain <DomainName> <DomainName>

Additionally, permissions referencing deleted groups/users will be removed.

The permissions are updated on the file before it is moved.

Test before using in production.


Added option includepermissionsfromdomains <DomainNameList> to the following commands
that copies only those permissions that reference any domain in <DomainNameList>.
It is mutually exclusive with exludepermissionsfromdomains <DomainNameList>.

gam copy|sync teamdriveacls <SharedDriveEntity>
gam <UserTypeEntity> copy|sync teamdriveacls <SharedDriveEntity>
gam <UserTypeEntity> copy|move drivefile <DriveFileEntity>


Fixed bug in gam <UserTypeEntity> print|show filesharecounts where ACLs for deleted user/groups
were miscounted as external shares.


Cleaned up Getting/Got messages for several commands.

Improved performance of gam print admins.


Updated the Analytic account/property commands to use service account access so that data
can be retrieved for any user.

Fixed bug where the Analytics Admin API was not being added in gam update project
forcing you to manually enable it.


Updated gam checkconnection to check connections to the following sites:

Contacts API - Domain Shared Contacts -
Email Audit API -
Sites API -


Added commands to display Analytic account/property information.


Fixed bug in gam [<UserTypeEntity>] print shareddriveacls oneitemperrow shownopermissionsdrives true
where the Shared Drives with no ACLs were not shown; they were shown if oneitemperrow was omitted.


Updated gam <UserTypeEntity> print filelist ... filepath|fullpath to not display parent information
for orphans. Previously, GAM would incorrectly display:


Now the corrected display is:


This change makes the output the same as when filepath|fullpath is omitted.


Added the following options to tag replace processing to allow control of the case of replacement data.

You can control the case of the letters in replace <Tag> <String> and replace <Tag> <UserReplacement>.

  • {PC}...{Tag1}...{Tag2}...{/PC} - For all sequences of letters between {PC} and {/PC}, the first letter is converted to uppercase, subsequent letters to lowercase.
  • {UC}...{Tag1}...{Tag2}...{/UC} - All letters between {UC} and {/UC} will be converted to uppercase
  • {LC}...{Tag1}...{Tag2}...{/LC} - All letters between {LC} and {/LC} will be converted to lowercase


Added license_max_results variable to gam.cfg. When retrieving licenses from License API,
this variable controls how many should be retrieved in each chunk. The default value is 100; the range is 100-1000.
As of 2023-04-27, larger numbers cause Google to return an incorrect number of licenses.


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

d4608e834473add1063b20311f7d57f40208b084d9c013e03004b3ebae71506c  gamadv-xtd3-6.59.13-linux-arm64-glibc2.23.tar.xz
6d5b191589ad2093b34f18d4555e7349d5ab3b6d8801ba2ec68f2f62da254b89  gamadv-xtd3-6.59.13-linux-arm64-glibc2.27.tar.xz
329540abfd72c06cb5ec1354ee11b14f2ea0ecd43c81d8209683850c526f4874  gamadv-xtd3-6.59.13-linux-arm64-glibc2.31.tar.xz
f413915400e1000726e6b5ab5f78357f3e2ae289f7f9839e5de1e47ccf03cbf4  gamadv-xtd3-6.59.13-linux-x86_64-glibc2.19.tar.xz
55ad3dbb6570135e7f2393a35ee6e4b501ed56b96279d522190fdef1e7b2ccf3  gamadv-xtd3-6.59.13-linux-x86_64-glibc2.23.tar.xz
bfec401bc4092596c3a49bab49a185c98a49098fa84adf414701b10740ab0803  gamadv-xtd3-6.59.13-linux-x86_64-glibc2.27.tar.xz
7c14fdd4e92f7997b02c007f4da940d43057b05d749ca9051024f589317be68c  gamadv-xtd3-6.59.13-linux-x86_64-glibc2.31.tar.xz
1729cc471c49cc78aeedae7221a6c94b712d71a7d9cceba236b111e47f3a8ba1  gamadv-xtd3-6.59.13-linux-x86_64-glibc2.35.tar.xz
4d20a3ffed3996200dbf93172a782a6462df04c29337f090b8c7161275de7821  gamadv-xtd3-6.59.13-linux-x86_64-legacy.tar.xz
4caa966110fc9e40cbbab22c25f5eb0f6da96bf868da9b9e9b592d1dc3705545  gamadv-xtd3-6.59.13-macos-arm64.tar.xz
065560de11af29ba86adcf9030fab5c4921d4c43cd55dc94fa106d49d4461997  gamadv-xtd3-6.59.13-macos-x86_64-legacy.tar
53c7311e2b5068a4f8d73e7857fc637d0726813cb83e9380e07c85087402221b  gamadv-xtd3-6.59.13-macos-x86_64.tar.xz
6bb0d0a93de3811ba6e68d0c64ee2377e835846905fdea068877ae00742ed856  gamadv-xtd3-6.59.13-windows-x86.msi
a7a7cb5705c7e2032a81b9a80ac5465cfa018e859e23af7c566ec0bdfebd5ee7  gamadv-xtd3-6.59.13-windows-x86_64.msi

Don't miss a new GAMADV-XTD3 release

NewReleases is sending notifications on new releases.