-
Notifications
You must be signed in to change notification settings - Fork 473
Upgrade Benefits
- Configuration
- Syntax Checking
- API error checking
- Batch files
- CSV processing redirects
- Data selection
- Specifying Google Drive files
- Uploading CSV files from gam print commands to Google Drive
- Calendars
- Contacts
- Courses
- Data Studio
- Drive File Copy and Move
- Drive File Orphans
- Drive File Ownership
- Drive File Revisions
- Drive File Transfer
- Send email messages
- Forms
- Gmail
- Groups
- Keep
- Organizational Units
- Resource Calendars
- Shared Drives
- Spreadsheets
- Tasks
GAM7 uses a configuration file, gam.cfg, to store the values of the various environment variables and signal files used by earlier versions of GAM. Configuration files client_secrets.json, oauth2.txt, oauth2service.json and extra_args.txt are moved to a version independent location. This should simplify upgrading GAM versions in the future. Additionally, if you support multiple clients/domains or have multiple users running GAM, gam.cfg lets you easily manage your configuration.
See: gam.cfg
GAM7 produces better error messages when syntax errors are found on the command line.
In GAM, most API calls are made without error handling; if an API call fails for a particular item and the command was an operation on multiple items, the items after the failing item are not processed. The GAM solution is to have you produce a CSV file containing the items you want to process; as each item is an independent excution, API failures for some items do not affect other items. Capturing meaningful output from the CSV execution is hard and you have to create the CSV file as a separate step.
In GAM7, every API call is made with error handling; if an API call fails, a message is output and execution continues with additional items if possible.
GAM uses multiprocessing for processing batch files and CSV files; this offers better performance than using threads. Unfortunately, one multiprocess subprocess can not create another subprocess; this prevents using gam csv commands inside GAM batch files.
GAM7 supports two commands for processing batch files, batch and tbatch. gam batch uses multiprocessing and gam tbatch uses threads. If you have a batch file that contains gam csv commands, gam tbatch can successfuly process the batch file.
See: Bulk Processing
With GAM, if you want to process a CSV file and capture the output, you do one of the following:
gam csv File.csv gam <Command> > File.out 2> File.err
gam csv File.csv gam <Command> > File.out 2>&1
Multiple processes are writing to File.out(.err) simultaneously resulting in interleaved output that can be hard to read.
With GAM7, you can capture the output from the multiple processes such that all of the output from each process is contiguous.
gam redirect stdout ./File.out multiprocess redirect stderr ./File.err multiprocess csv File.csv gam <Command>
gam redirect stdout ./File.out multiprocess redirect stderr stderr csv File.csv gam <Command>
You can choose to have GAM7 bracket the output from each process with lines that show the command being executed.
gam config show_multiprocess_info true redirect stdout ./File.out multiprocess redirect stderr ./File.err multiprocess csv File.csv gam <Command>
gam config show_multiprocess_info true redirect stdout ./File.out multiprocess redirect stderr stderr csv File.csv gam <Command>
See: Meta Commands and File Redirection
GAM7 has many more ways to specify collections of ChromeOS devices, Users and other items.
See: Collections of ChromeOS Devices
See: Collections of Users
See: Collections of Items
GAM specifies drive files in different ways based on the command.
GAM7 has a consistent way of specifying Google Drive files for all commands.
See: Drive File Selection
GAM allows no options when you use the todrive option with a gam print command; the file is always uploaded with a fixed name to the root folder of Google Drive for the Google Admin user named in oauth2.txt.
GAM7 allows you to specify the name, location and user for files uploaded with todrive; you can also save a local copy of the file.
See: Todrive
GAM can manage the list of calendars a user can view; GAM7 can also create, modify and remove calendars.
GAM can add and delete events; GAM7 can also update, move, show and print events.
GAM can add, update, delete and show calendar ACLs; GAM7 can also get ACLs for a single calendar and print a CSV file of calendar ACLs.
See: Calendars - Access, Calendars - Events
See: Users - Calendars
See: Users - Calendars - Events
See: Users - Calendars - Transfer
GAM7 supports domain shared contacts and user contacts.
See: Users - People - Contacts & Profiles
When updating a course, GAM can only add/delete a single alias; GAM7 can add/delete multiple aliases.
When updating a course's membership, GAM can only add/delete a single student/teacher; GAM7 can add/delete multiple students/teachers.
When creating/updating courses, GAM7 can copy settings from another course.
See: Courses
GAM7 supports commands to display Data Studio assets and display/manage Data Studio permissions
See: Users - Data Studio
GAM7 supports advanced file/folder copying/moving
See: Users - Drive - Copy/Move
GAM7 allows collecting a user's orphaned files.
GAM7 allows transferring ownership of selected folders of a source user to a target user.
GAM7 allows claiming ownership of of selected folders to which the user has access.
See: Users - Drive - Ownership
GAM7 can manage drive file revisions.
GAM7 has more capabilites for transferring the Google Drive of a source user to a target user.
See: Users - Drive - Revisions
GAM7 can send email messages.
See: Send Email
GAM7 supports commands to manage and display Google Forms.
See: Users - Forms
GAM7 has commands for displaying Gmail messages.
GAM7 has commands for forwarding Gmail messages.
See: Users - Gmail - Messages/Threads
GAM7 allows selecting fields with info group
. The output is much easier to read.
When creating/updating groups, GAM7 can copy settings from another group.
See: Groups
GAM7 has a more powerful print group-members
command.
GAM7 has a more powerful ways of specifying changes to group membership.
See: Groups Membership
GAM7 has commands to display/manage a user's group membership.
GAM7 supports commands to manage and display Google Keep notes.
See: Users - Keep
GAM7 supports updating multiple org units in a single command.
See: Organizational Units
GAM7 supports managing resource calendar ACLs.
See: Resource Calendars
GAM7 has more powerful commands for managing Shared Drives.
See: Shared Drives
GAM7 can manipulate Google Sheets.
See: Users - Spreadsheets
GAM7 supports commands to manage and display Google Tasks.
See: Users - Tasks
Need more help? Ask on the GAM Discussion Group
Update History
Installation
- How to Install GAM7
- How to Upgrade GAMADV-XTD3 to GAM7
- How to Upgrade Legacy GAM to GAM7
- How to Update GAM7
- Install GAM as Python Library
- GAM7 on Chrome OS Devices
- GAM7 on Android Devices
- Google Network Addresses
- HTTPS Proxy
- SSL Root CA Certificates
- How to Uninstall GAM7
Configuration
- Authorization
- GAM Configuration
- Running GAM7 securely on a Google Compute Engine
- Using GAM7 with a delegated admin service account
- Using GAM7 with a YubiKey
Notes and Information
- Upgrade Benefits
- Questions? Visit the GAM Discussion Forum
- GAM Public Chat Room
- Scripts
- Other Resources
- Drive REST API v3
- BNF Syntax
- GAM Return Codes
- Python Regular Expressions
- Rclone
Definitions
Command Processing
- Bulk Processing
- Command Line Parsing
- Command Logging and Progress
- Command data from Google Docs/Sheets/Storage
- CSV Special Characters
- CSV Input Filtering
- CSV Output Filtering
- Meta Commands and File Redirection
- Permission matches
- Tag Replace
- Todrive
Collections
Client Access
- Addresses
- Administrators
- Alert Center
- Aliases
- Calendars
- Calendars - Access
- Calendars - Events
- Chrome Auto Update Expiration Counts
- Chrome Browser Cloud Management
- Chrome Device Needs Attention Counts
- Chrome Installed Apps
- Chrome Policies
- Chrome Printers
- Chrome Profile Management
- Chrome Version Counts
- Chrome Version History
- ChromeOS Devices
- Classroom - Courses
- Classroom - Guardians
- Classroom - Invitations
- Classroom - Membership
- Cloud Channel
- Cloud Identity Devices
- Cloud Identity Groups
- Cloud Identity Groups - Membership
- Cloud Identity Policies
- Cloud Storage
- Context Aware Access Levels
- Customer
- Domains
- Domains - Verification
- Domain People - Contacts & Profiles
- Domain Shared Contacts - Global Address List
- Email Audit Monitor
- Find File Owner
- Google Data Transfers
- Groups
- Groups - Membership
- Inbound SSO
- Licenses
- Mobile Devices
- Organizational Units
- Reports
- Reseller
- Resources
- Send Email
- Schemas
- Shared Drives
- Sites
- Users
- Unmanaged Accounts
- Users - Signout and Turn off 2-Step Verification
- Vault - Takeout
- Version and Help
Special Service Account Access
Service Account Access
- Users - Analytics Admin
- Users - Application Specific Passwords
- Users - Backup Verification Codes
- Users - Calendars
- Users - Calendars - Access
- Users - Calendars - Events
- Users - Chat
- Users - Classification Labels
- Users - Classroom - Profile
- Users - Deprovision
- Users - Contacts
- Users - Contacts - Delegates
- Users - Drive - File Selection
- Users - Drive - Activity/Settings
- Users - Drive - Cleanup
- Users - Drive - Comments
- Users - Drive - Copy/Move
- Users - Drive - Files-Display
- Users - Drive - Files-Manage
- Users - Drive - Orphans
- Users - Drive - Ownership
- Users - Drive - Permissions
- Users - Drive - Query
- Users - Drive - Revisions
- Users - Drive - Shortcuts
- Users - Drive - Transfer
- Users - Forms
- Users - Gmail - Client Side Encryption
- Users - Gmail - Delegates
- Users - Gmail - Filters
- Users - Gmail - Forwarding
- Users - Gmail - Labels
- Users - Gmail - Messages/Threads
- Users - Gmail - Profile
- Users - Gmail - S/MIME
- Users - Gmail - SendAs/Signature/Vacation
- Users - Gmail - Settings
- Users - Group Membership
- Users - Keep
- Users - Looker Studio
- Users - Meet
- Users - Classroom - Profile
- Users - People - Contacts & Profiles
- Users - Photo
- Users - Profile Sharing
- Users - Shared Drives
- Users - Spreadsheets
- Users - Tasks
- Users - Tokens
- Users - YouTube
GAM Tutorials
- Account Auditing
- Calendar Settings
- Chat Bot commands
- Chrome Browser Management
- Chrome Policy Settings
- Context Aware Access levels
- Data Transfers
- Domain Verification
- Google Drive Management
- Group Settings
- Inbound SSO Settings
- Managing Admins
- Managing Classroom
- Managing Custom User Schemas
- Managing Devices
- Managing Organizations
- Managing Product Licenses
- Managing Users, Groups, Aliases, Domains, Mobile and Chrome Devices, and Resource Calendars
- OAuth Authentication Related Commands
- Print Users, Groups, Aliases, Mobile and Chrome OS devices, OUs, Licenses and Reports
- Printers
- Unmanaged Users and Invitations
- User Email Settings
- User Security Settings