# Update GAM7 to latest version Automatic update to the latest version on Linux/Mac OS/Google Cloud Shell/Raspberry Pi/ChromeOS: - Do not create project or authorizations, default path `$HOME/bin` - `bash <(curl -s -S -L https://git.io/gam-install) -l` - Do not create project or authorizations, specify a path - `bash <(curl -s -S -L https://git.io/gam-install) -l -d ` By default, a folder, `gam7`, is created in the default or specified path and the files are downloaded into that folder. Add the `-s` option to the end of the above commands to suppress creating the `gam7` folder; the files are downloaded directly into the default or specified path. See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation ### 7.09.01 Fixed bug in `gam print diskusage` where the `ownedByMe` column was blank for the top folder. Fixed bug in `gam update chromepolicy` where the following error was generated when updating policies with simple numerical values. ``` ERROR: Missing argument: Expected " ``` ### 7.09.00 Removed the overly broad service account `IAM and Access Management API` scope `https://www.googleapis.com/auth/cloud-platform` from DWD. The `gam check|Update serviceaccount` commands issue an error message if this scope is enabled prompting you to update your service account authorization so that the scope can be removed. GAM commands that need IAM access now use the more limited scope `https://www.googleapis.com/auth/iam` in a non-DWD manner. Added `enforce_expansive_access` Boolean variable to `gam.cfg` that provides the default value for option `enforceexpansiveaccess` in all commands that delete or update drive file ACLs/permissions. It's default value is False. ``` gam delete permissions gam delete drivefileacl gam update drivefileacl gam copy drivefile gam move drivefile gam transfer ownership gam claim ownership gam transfer drive ``` Fixed bug in `gam print shareddriveorganizers` that caused a trap when an organizer was a deleted user. Updated to Python 3.13.4 ### 7.08.02 Updated the defaults in `gam print shareddriveorganizers` to match the most common use case, not the script. * `domainlist` - The workspace primary domain * `includetypes` - user * `oneorganizer` - True * `shownoorganizerdrives` - True * `includefileorganizers` - False To select organizers from any domain, use: `domainlist ""` These commands produce the same result. ``` gam redirect csv ./TeamDriveOrganizers.csv print shareddriveorganizers domainlist mydomain.com includetypes user oneorganizer shownoorganizerdrives gam redirect csv ./TeamDriveOrganizers.csv print shareddriveorganizers ``` ### 7.08.01 Added option `shareddrives (|(select |))` to `gam print shareddriveorganizers` that displays organizers for a specific list of Shared Drive IDs. See: https://github.com/GAM-team/GAM/wiki/Shared-Drives#display-shared-drive-organizers ### 7.08.00 Added the following command that can be used instead of the `GetTeamDriveOrganizers.py` script. gam [] print shareddriveorganizers [todrive *] [adminaccessasadmin] [shareddriveadminquery|query ] [orgunit|org|ou ] [matchname ] [domainlist ] [includetypes ] [oneorganizer []] [shownorganizerdrives [false|true|only]] [includefileorganizers []] [delimiter ] ``` See: https://github.com/GAM-team/GAM/wiki/Shared-Drives#display-shared-drive-organizers The command defaults match the script defaults: * `domainlist` - All domains * `includetypes` - user,group * `oneorganizer` - False * `shownoorganizerdrives` - True * `includefileorganizers` - False For example, to get a single user organizer from your domain for all Shared Drives including no organizer drives: ``` gam redirect csv ./TeamDriveOrganizers.csv print shareddriveorganizers domainlist mydomain.com includetypes user oneorganizer shownoorganizerdrives ``` ### 7.07.17 Added option `oneuserperrow` to `gam print devices` to have each of a device's users displayed on a separate row with all of the other device fields. ### 7.07.16 Added `chromeostype`, `diskspaceusage` and `faninfo` to `` for use in `gam info|print cros`. Fixed bugs/cleaned output in `gam info|print cros`. ### 7.07.15 Added option `shareddrivesoption included|included_if_account_is_not_a_member|not_included` to `gam create vaultexport`. The previous option `includeshareddrives ` is mapped as follows: * `includeshareddrives false` - `shareddrivesoption included_if_account_is_not_a_member` * `includeshareddrives true` - `shareddrivesoption included` ### 7.07.14 Update `gam setup chat` output to include the following that shows the actual Cloud Pub/Sub Topic Name. ``` You'll use projects//topics/no-topic in Connection settings Cloud Pub/Sub Topic Name ``` ### 7.07.13 Added option `showitemcountonly` to `gam [] print|show shareddrives` that causes GAM to display the number of Shared Drives on stdout; no CSV file is written. ### 7.07.12 Fixed bug in `gam print|show oushareddrives` that caused a trap. Improved getting Shared Drive names from IDs when accessing Shared Drives in external workspaces. ### 7.07.11 Updated `gam calendars update events` and `gam update events ` to handle the following error: ``` ERROR: 400: badRequest - Bad Request ``` Updated `gam move drivefile` to handle the following error: ``` ERROR: 400: shareOutNotPermitted ``` ### 7.07.10 Updated `gam calendars update events` and `gam update events ` to handle the following error: ``` ERROR: 400: eventTypeRestriction - Attendees cannot be added to 'fromGmail' event with this visibility setting. ``` ### 7.07.09 Updated `gam calendars update events` and `gam update events ` to handle the following error: ``` gamlib.glgapi.serviceNotAvailable: Authentication backend unavailable. ``` ### 7.07.08 Fixed bug in `gam print filelist ... countsonly` that issued an incorrect warning message like the following when `redirect csv multiprocess` was specified. ``` WARNING: csv_output_row_filter column "^name$" does not match any output columns ``` ### 7.07.07 Fixed bug in `gam report ... countsonly eventrowfilter` that issued an incorrect warning message like the following when `redirect csv multiprocess` was specified. ``` WARNING: csv_output_row_filter column "^doc_title$" does not match any output columns ``` ### 7.07.06 Added option `eventrowfilter` to `gam calendars print events ... countsonly` and `gam print events ... countsonly` that causes GAM to apply `config csv_output_row_filter` to the event details rather than the event counts. This will be useful when `` and `` do not have the capabilty to select the events of interest; e.g., you want to filter based on the event `created` property. Dropped the extraneous `id` column for `gam calendars print events ... countsonly` and `gam print events ... countsonly`. ### 7.07.05 Updated `gam move drivefile` to recognize the API error: `ERROR: 400: shareOutWarning`. ### 7.07.04 Updated `gam create vaultexport ... rooms ` to strip `spaces/` from the Chat Space IDs. Updated `gam copy drivefile` to recognize the API error: `ERROR: 400: shareOutWarning`. ### 7.07.03 Updated `gam create vaultexport` to allow allow specifying a list of items in a search method with `shareddrives|rooms|sitesurl select |`. ### 7.07.02 Fixed bug in `redirect csv ... transpose` where a CSV file with multiple rows was not properly transposed. ### 7.07.01 Fixed bug in `gam print|show chromepolicies` that caused a trap. Made additional updates to handle changes in the Chrome Policy API. ### 7.07.00 As of mid-October 2024, Google deprecated the API that retrieved the Global Address List. The following commands have been eliminated. ``` gam info gal gam print gal gam show gal ``` These commands are a work-around for `gam print gal`. ``` gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" redirect csv ./UserGAL.csv print users fields name,gal gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" batch_size 25 redirect csv ./GroupGAL.csv print groups fields name,gal ``` ### 7.06.14 Updated `create|update adminrole` to allow specifying a collection of privileges with `privileges select |` which makes copying roles much simpler. Added option `role ` to `gam print|show adminroles` to allow display of information for a specific role. ### 7.06.13 Updated `gam print group-members ... recursive` and `gam print cigroup-members ... recursive` to expand groups representing chat spaces. ### 7.06.12 Deleted commands to display Analytic UA properties; the API has been deprecated. ``` gam print|show analyticuaproperties ``` ### 7.06.11 Improved `gam checkconn`. Updated `gam print group-members` and `gam print cigroup-members` to recognize members that are groups representing chat spaces. For now, these groups are not expanded when `recursive` is specified. ### 7.06.10 Added the following license SKU. ``` 1010020034 - Google Workspace Frontline Plus ``` ### 7.06.09 Added `gemini` and `geminiforworkspace` to `` for use in `gam report `. ### 7.06.08 Fixed problem where Yubikeys caused a trap. ### 7.06.07 Updated private key rotation progress messages in `gam create|use|update project` and `gam upload sakey`. Updated `gam use project` to display the following error message when the specifed project already has a service account. ``` Re-run the command specify a new service account name with: saname ' ``` ### 7.06.06 Native support for Windows 11 Arm-based devices. Renamed some MacOS and Linux binary installer files to align on terminology. Everything is "arm64" now, no "aarch64". ### 7.06.05 Updated code in `gam delete|update chromepolicy` to handle the `policyTargetKey[additionalTargetKeys]` field in a more general manner for future use. ### 7.06.04 Fixed bug in `gam report ` where a report with no activities was not displaying any output. ### 7.06.03 Fixed bug in `gam print|show drivelastmodification` that caused a trap when an empty drive was specified. ### 7.06.02 Updated `gam print|show filecounts ... showlastmodification` to include file mimetype and path information for the last modified file. Added simple commands to get information about the last modified file on a drive. By default, a user's My Drive is processed; optionally, a Shared Drive can be processed. ``` gam print drivelastmodification [todrive *] [select ] [pathdelimiter ] (addcsvdata )* gam show drivelastmodification [select ] [pathdelimiter ] ``` ### 7.06.01 Updated `gam create|update drivefileacl ... expiration