github taers232c/GAMADV-XTD3 v6.13.09
GAM 6.13.09

latest releases: v7.0036, v7.00.36, v7.00.35...
2 years ago

Latest updates

6.13.09

Fixed bug in gam <UserTypeEntity> update chromepolicy that caused a trap.

Fixed bug in gam print|show datatransfers oldowner|newowner <UserItem> that did not
properly handle <UserItem> of form uid:<String>.

6.13.08

  • Upgraded to OpenSSL 1.1.1m

Added command gam info currentprojectid that displays the current Project ID.

6.13.07

Added options showpermissionmessages and sendemailifrequired to gam <UserTypeEntity> copy|move drivefile <DriveFileEntity>.
Previously, when attempting to copy ACLs, GAM would report any errors; some errors were generated when an attempt
was made to inappropriately copy an ACL. Now, GAM will not attempt to copy ACLs unless they are appropriate.
When showpermissionmessages is specified GAM will display messages about ACLs not copied, ACLs that were copied
and any remaining copy errors.

When copying an ACL that references a non Google account, an error is generated unless an email is sent to the account;
by default, no email notifications are sent. The sendemailifrequired options instructs GAM to send an email notification in this case.

Added option formatjson to gam <UserTypeEntity> info filters and gam <UserTypeEntity> show filters.

Handle the following error in gam <UserTypeEntity> signout:

ERROR: 400: invalidInput - Invalid Input

This can be caused by applying the command to a suspended user.

Added option showsize to gam <UserTypeEntity> print|show filecounts that displays the
size (in bytes) of the files counted.

Following Jay's lead, added commands to display ChromeOS device telemetry data.

To use these commands you must authorize an additional scope:

  • Chrome Management API - Telemetry read only
gam oauth create

Added option reverselists <ListFieldNameList> to commands that display ChromeOS device information.
For each list in <ListFieldNameList>, the list order is changed from ascending (oldest to newest) to descending (newest to oldest);
this makes it easy to get the N most recent values with listlimit N reverselists <ListFieldNameList>.

Added options parentselector <OrgUnitSelector> and childselector <OrgUnitSelector> to
gam print orgs|ous that add an additional column orgUnitSelector to the output. This column
value can be used in subsequent gam csv commands to appropriately select members without duplication.

<OrgUnitSelector> ::=
        cros_ou | cros_ou_and_children|
        ou| ou_ns | ou_susp|
        ou_and_children | ou_and_children_ns | ou_and_children_susp

Get file count summaries by OU; top level selector is ou, sub level selectors are ou_and_children

gam redirect csv ./TopLevelOUs.csv print ous showparent toplevelonly parentselector ou childselector ou_and_children fields orgunitpath
gam redirect csv ./FileCounts.csv multiprocess csv ./TopLevelOUs.csv gam "~orgUnitSelector" "~orgUnitPath" print filecounts excludetrashed summary only summaryuser "~orgUnitPath"

Updated error handling in gam <UserTypeEntity> copy drivefile when copying files to a shared drive folder.

Added option summaryuser <String> to gam <UserTypeEntity> print filecounts and
gam <UserTypeEntity> print filelist countsonly that replaces the default summary user Summary
with <String>.

gam redirect csv ./FileCounts.csv multiprocess csv ./OUs.csv gam ou_ns "~orgUnitPath" print filecounts excludetrashed summary only summaryuser "~orgUnitPath"

Uodated `gam update drivefile teamdriveparentid
to handle the following error:

ERROR: 400: shareOutNotPermitted - Bad Request. User message: "shareOutNotPermitted"

Fixed bug in gam <UserTypeEntity> copy drivefile where contentManager|fileOrganizer ACLs
were not copied from a source shared drive folder to a target shared drive folder.

Fixed bug where redirect csv - multiprocess todrive redirect stdout - multiprocess would disable
multiprocess for redirect csv which resulted in multiple files being uploaded.

Added option showshareddrivepermissions to gam <UserTypeEntity> show fileinfo <DriveFileEntity> that is applicable
when no fields are selected and <DriveFileEntity> is a shared drive file/folder. In this case,
the Drive API returns the permission IDs but not the permissions themselves so GAM makes an additional API call
to get the permissions.

Added option showshareddrivepermissions to gam <UserTypeEntity> print filelist that is applicable
when no fields are selected and shared drives are queried/selected. In this case,
the Drive API returns the permission IDs but not the permissions themselves so GAM makes an additional API call
per file to get the permissions.

Added commands that can process lists of Gmail labels.

Updated gam info|print cros showdvrsfp formatjson to include diskVolumeReports.volumeInfo.storageFreePercentage.

Improved error messages for gam create resource when options capacity <Number> and floor <String>
are required but not provided.

Added option showdvrsfp to gam info|print cros that causes GAM to display a field
diskVolumeReports.volumeInfo.storageFreePercentage which is calculated as:

  • (diskVolumeReports.volumeInfo.storageFree/diskVolumeReports.volumeInfo.storageTotal)*100

You can use an output row filter to only show ChromeOS devices with a limited amount of free space:

  • config csv_output_row_filter "diskVolumeReports.volumeInfo.0.storageFreePercentage:countrange=1/15"
    Use countrange=1/15 instead of count<15 as the latter will display ChromeOS devices with no
    diskVolumeReports; a blank entry is treated as a zero.

ChromeOS devices can have multiple diskVolumeReports; some experimentation may be required to
get the desired results.

The 6.12.02 bug fix in gam <UserTypeEntity> print|show filetree select <DriveFileEntity>
was too aggressive; when showing a file tree, folders owned by others must be processed
so that files owned by the user within those folders are displayed.

When running gam oauth create and gam.cfg no_browser = true, the authorization link is
no longer copied to the file gamoauthurl.txt as this functionality required modifying
a Google supplied library.

Removed the option writeurltofile from gam check| svcacct that caused GAM to write
the authorization link to the file gamsvcaccturl.txt.

Fixed bug in gam <UserTypeEntity> print|show filetree select <DriveFileEntity> where
file ownership was not being checked which resulted in files not owned by the user being displayed.

Updated code to perform retries when a serviceNotAvailable error occurs when listing file permissions.

Fixed bug in gam <UserTypeEntity> copy drivefile <DriveFileEntity> <DriveFileParentAttribute> recursive
that mis-copied files when the target parent folder <DriveFileParentAttribute> was within the folder structure of <DriveFileEntity>.

Fixed bug in gam <UserTypeEntity> check drivefileshortcut <DriveFileEntity> csv that caused a trap.

Added command gam <UserTypeEntity> delete labelid <LabelID> that is used to
delete Gmail labels by ID rather than by name.

Fixed bug in 6.11.05 for updating Chromebook OU by ID.

Added update_cros_ou_with_id variable to gam.cfg that causes GAM to update
the OU of a Chromebook with the OU ID rather than the OU path.
Set this value to true if you are getting the following error:

400: invalidInput - Invalid Input: Inconsistent Orgunit id and path in request

When specifying <UserAttribute> languages, it is an error to specify a custom language with a preference suffix +-.

Added option includederivedmembership to gam print|show cigroup-members.
This option causes the API to list indirect members of groups.
See: https://github.com/taers232c/GAMADV-XTD3/wiki/Cloud-Identity-Groups-Membership

Updated gam oauth export|refresh to privent the following error.

ERROR: Authentication Token Error - Not all requested scopes were granted by the authorization server, missing scopes , https://sitesgooglecom/feeds, https://wwwgooglecom/m8/feeds

Added option noinvitablecheck to gam whatis <EmailItem> that suppresses the user invitation check
to avoid exceeding quota limits when checking a large number of addresses.

Following Jay's lead, updated processing of <UserAttribute> languages.
You could always set a user's languages via the API; Google has added the ability to
indicate whether a language is preferred or not_preferred. This is implemeted in
GAM by optionally appending a + to a language code to set preferred and a '-' to set not_preferred.
In the user's profile, only preferred languages are displayed.

gam update user user@domain.com languages en+,fr+.

Updated all Cloud Identity API group calls to use version v1 of the API rather than version v1beta1.

Added option nobatchupdate to gam <CrOSTypeEntity> update ou <OrgUnitPath> and
gam update cros <CrOSEntity> ou <OrgUnitPath> that prevents GAM from using batch mode
to update the devices; this allows handling the rateLimitExceeded error described below.

Updated code to to handle the following error as retryable:

403: rateLimitExceeded - Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'admin.googleapis.com' for consumer 'project_number: (project)'

Updated gam print groups and gam print|show group-members to allow identification of groups
with the All users in the organization member with: member id:<CustomerID>.

Upgraded to Python 3.10.1

Installation

If you are a first time Gam user:

If you are upgrading from standard Gam

If you are upgrading from GAMADV-X or GAMADV-XTD

Don't miss a new GAMADV-XTD3 release

NewReleases is sending notifications on new releases.