diff --git a/wiki/Basic-Items.md b/wiki/Basic-Items.md index 543658b4..a7fc707f 100644 --- a/wiki/Basic-Items.md +++ b/wiki/Basic-Items.md @@ -283,6 +283,8 @@ ::= emojiname | customemojis/ ::= spaces//members/ ::= spaces//messages/ + ::= users//sections/ | sections/ | section + ::= users//sections//items/ | sections//items/ ::= spaces/ | space | space spaces/ ::= spaces//threads/ ::= diff --git a/wiki/Calendars-Events.md b/wiki/Calendars-Events.md index d54c3fa0..57803752 100644 --- a/wiki/Calendars-Events.md +++ b/wiki/Calendars-Events.md @@ -595,7 +595,7 @@ By default, Gam displays event details, use `countsonly` to display only the num ``` gam calendar print events [] * - [fields ] [showdayofweek] + [fields ] [showdayofweek] [attendeeslist] (addcsvdata )* [eventrowfilter] [countsonly|(formatjson [quotechar ])] [todrive *] @@ -609,6 +609,10 @@ option `singleevents` to display all instances of a recurring event. `showdayofweek` displays columns `start.dayOfWeek` and `end.dayOfWeek` when event start and end times are displayed. +By default, each attendee is displayed in a separate column; `attendeeslist` causes GAM to display +the attendee email addresses in a single column `attendeesList`; no attendee details are displayed. +The email addresses are separated by `csv_output_field_delimiter` from `gam.cfg`. + Add additional columns of data from the command line to the output after the calendarId. * `addcsvdata ` diff --git a/wiki/ChromeOS-Devices.md b/wiki/ChromeOS-Devices.md index 3e4a6f3f..d9d6043e 100644 --- a/wiki/ChromeOS-Devices.md +++ b/wiki/ChromeOS-Devices.md @@ -445,12 +445,19 @@ is configurable from 0 to some large number. If the status reaches `EXPIRED`, `C wipe_users| take_a_screenshot -gam issuecommand command [times_to_check_status ] [doit] +gam issuecommand command + [times_to_check_status ] [csv] [doit] ``` +By default, when a Chrome command is issued, GAM outputs details of the command status as indented keywords and values. +* `csv` - Output the details in CSV format. + If the final status is not reached before GAM exits, you can issue the following commands to continue checking the status. ``` -gam getcommand commandid [times_to_check_status ] +gam getcommand commandid + [times_to_check_status ] [csv] ``` +By default, when a Chrome command status is read, GAM outputs details of the command status as indented keywords and values. +* `csv` - Output the details in CSV format. ### Action Examples Remove user profile data from the device; the device will remain enrolled and connected. diff --git a/wiki/Cloud-Identity-Groups-Membership.md b/wiki/Cloud-Identity-Groups-Membership.md index 20748ba4..42ff1606 100644 --- a/wiki/Cloud-Identity-Groups-Membership.md +++ b/wiki/Cloud-Identity-Groups-Membership.md @@ -13,7 +13,7 @@ - [Display user group member options](#display-user-group-member-options) - [Display group membership in CSV format](#display-group-membership-in-csv-format) - [Display group membership in hierarchical format](#display-group-membership-in-hierarchical-format) - +- [Display external users in groups with allowExternalMembers=False](#Display-external-users-in-groups-with-allowExternalMembers-False) ## API documentation * [Cloud Identity Groups Overview](https://cloud.google.com/identity/docs/groups) * [Cloud Identity Groups API - Groups](https://cloud.google.com/identity/docs/reference/rest/v1/groups) @@ -349,7 +349,8 @@ gam print cigroup-members [todrive *] [emailmatchpattern [not] ] [namematchpattern [not] ] [descriptionmatchpattern [not] ] [roles ] [members] [managers] [owners] - [internal] [internaldomains ] [external] + [internal] [internaldomains all|primary|] [external] + [verifyallowexternal []] [types ] * [fields ] [minimal|basic|full] @@ -381,11 +382,23 @@ By default, all members, managers and owners in the group are displayed; these o By default, all types of members (cbcmbrowser, chromeosdevice, customer, group, serviceaccount, user) in the group are displayed; this option modifies that behavior: * `types ` - Display specified types +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names + By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +Members without an email address, e.g. `customer`, `chrome-os-device` and `cbcm-browser` are considered `internal`. + +When the `internal` or `external` options are specified, GAM adds the column `allowExternalMembers` +that shows that setting for the group and adds the column `category` that shows whether the member +is `external` or `internal`. + +The option `verifyallowexternal` causes GAM to only display `external` users in groups with `allowExternalMembers=False'. By default, members that are groups are displayed as a single entry of type GROUP; this option recursively expands group members to display their user members. * `recursive` - Recursively expand group members @@ -442,9 +455,10 @@ gam show cigroup-members [emailmatchpattern [not] ] [namematchpattern [not] ] [descriptionmatchpattern [not] ] [roles ] [members] [managers] [owners] + [internal] [internaldomains all|primary|] [external] [types ] - [memberemaildisplaypattern|memberemailskippattern ] [minimal|basic|full] + [memberemaildisplaypattern|memberemailskippattern ] [(depth ) | includederivedmembership] ``` By default, the group membership of all groups in the account are displayed, these options allow selection of subsets of groups: @@ -470,6 +484,18 @@ By default, all members, managers and owners in the group are displayed; these o By default, all types of members (cbcmbrowser, chromeosdevice, customer, group, serviceaccount, user) in the group are displayed; this option modifies that behavior: * `types ` - Display specified types +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names + +By default, when listing group members, GAM does not take the domain of the member into account. +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +Members without an email address, e.g. `customer`, `chrome-os-device` and `cbcm-browser` are considered `internal`. + Members that have met the above qualifications to be displayed can be further qualifed by their email address. * `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed * `memberemailskippattern ` - Members with email addresses that match `` will not be displayed; others will be displayed @@ -507,3 +533,7 @@ To show the structure of all groups you can do the following; it will be time co ``` gam redirect stdout ./groups.txt show cigroup-members types group ``` + +## Display external users in groups with allowExternalMembers=False +When printing group membership, the option `verifyallowexternal` causes +GAM to only display external users in groups with `allowExternalMembers=False'. diff --git a/wiki/Cloud-Identity-Groups.md b/wiki/Cloud-Identity-Groups.md index 51598cde..10392305 100644 --- a/wiki/Cloud-Identity-Groups.md +++ b/wiki/Cloud-Identity-Groups.md @@ -267,7 +267,7 @@ gam info cigroups [nosecurity|nosecuritysettings] [allfields|*|(fields )] [roles ] [members] [managers] [owners] - [internal] [internaldomains ] [external] + [internal] [internaldomains all|primary|] [external] [types ] [memberemaildisplaypattern|memberemailskippattern ] [formatjson] @@ -283,13 +283,17 @@ By default, all direct members, managers and owners in the group are displayed; By default, when displaying members from a group, all types of members (customer, group, serviceaccount, user) in the group are displayed; this option modifies that behavior: * `types ` - Display specified types -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names -Members without an email address, e.g. `customer`, `chrome-os-device` and `cbcm-browser` are considered internal. +By default, when listing group members, GAM does not take the domain of the member into account. +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +Members without an email address, e.g. `customer`, `chrome-os-device` and `cbcm-browser` are considered `internal`. Members that have met the above qualifications to be displayed can be further qualifed by their email address. * `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed @@ -317,7 +321,7 @@ gam print cigroups [todrive *] [descriptionmatchpattern [not] ] [basic|allfields|(* [fields ])] [roles ] [memberrestrictions] - [internal] [internaldomains ] [external] + [internal] [internaldomains all|primary|] [external] [members|memberscount] [managers|managerscount] [owners|ownerscount] [totalcount] [countsonly] [types ] [memberemaildisplaypattern|memberemailskippattern ] @@ -374,13 +378,20 @@ By default, no members, managers or owners in the group are displayed; these opt By default, when displaying members from a group, all types of members (customer, group, serviceaccount, user) in the group are displayed; this option modifies that behavior: * `types ` - Display specified types -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names -Members without an email address, e.g. `customer`, `chrome-os-device` and `cbcm-browser` are considered internal. +By default, when listing group members, GAM does not take the domain of the member into account. +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +When the `internal` or `external` options are specified, GAM adds the column `allowExternalMembers` +that shows that setting for the group. + +Members without an email address, e.g. `customer`, `chrome-os-device` and `cbcm-browser` are considered `internal`. Members that have met the above qualifications to be displayed can be further qualifed by their email address. * `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed diff --git a/wiki/GamUpdates.md b/wiki/GamUpdates.md index 31b11c21..c1f702d2 100644 --- a/wiki/GamUpdates.md +++ b/wiki/GamUpdates.md @@ -10,6 +10,43 @@ Add the `-s` option to the end of the above commands to suppress creating the `g See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation +### 7.32.00 + +Added option `verifyallowexternal` to `gam print cigroup-members|group-members` that causes +GAM to only display external members in groups with `allowExternalMembers=False'. +This option can be used to help verify that internal-only groups don't have external members. + +Updated option `internaldomains` for the following commands: +``` +gam info|print groups +gam print|show group-members +gam info|print cigroups +gam print|show cigroup-members +gam print|show filesharecounts +``` +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names + +Added option `csv` to `gam issuecommand command ` +and `gam getcommand commandid ` so that command details are displayed in CSV format. +This can be used to log commands issued to devices and then monitor the results. + +Added option `filemimetype category ` to `gam copy drivefile` to support +copying of files based on their MimeType category. + +Added option `attendeeslist` to `gam calendars print events` and `gam print events` +that causes GAM to display the attendee email addresses in a single column `attendeesList`; no attendee details +are displayed. The email addresses are separated by `csv_output_field_delimiter` from `gam.cfg`. + +Fixed bug in `gam sendemail ... replyto ` that caused a message delivery error if +`` did not include a domain name. + +Added support for users's chat sections. +* See: https://github.com/GAM-team/GAM/wiki/Users-Chat#manage-chat-users-sections +* This is in Deveoper Preview; you must have a `developer_preview_api_key` in `gam.cfg` to use these commands. + ### 7.31.06 Added option `batchsize ` to `gam calendar delete|purge events` and @@ -2925,7 +2962,7 @@ Added option `showmimetype category ` to `gam ::= application|audio|font|image|message|model|multipart|text|video ::= "(,)*" -gam user user@domain.com print filelist fields id,name,mimetype showmimetype prefixes audio,video +gam user user@domain.com print filelist fields id,name,mimetype showmimetype category audio,video ``` ### 6.71.11 diff --git a/wiki/Groups-Membership.md b/wiki/Groups-Membership.md index 4bd3e065..b3051d7c 100644 --- a/wiki/Groups-Membership.md +++ b/wiki/Groups-Membership.md @@ -615,7 +615,7 @@ gam print group-members [todrive *] [descriptionmatchpattern [not] ] [admincreatedmatch ] [roles ] [members] [managers] [owners] - [internal] [internaldomains ] [external] + [internal] [internaldomains all|primary|] [external] [membernames] [showdeliverysettings] * [fields ] [notsuspended|suspended] [notarchived|archived] @@ -682,13 +682,21 @@ By default, when displaying members from a group, all members, whether suspended * `notsuspended archived` - Only include archived members, this is not common but allows creating groups that allow easy identification of archived users * `suspended notarchived` - Only include suspended members, this is not common but allows creating groups that allow easy identification of suspended users -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names -Members without an email address, e.g. `customer`, are considered internal. +By default, when listing group members, GAM does not take the domain of the member into account. +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +Members without an email address, e.g. `customer`, are considered `internal`. + +When the `internal` or `external` options are specified, GAM adds the column `allowExternalMembers` +that shows that setting for the group and adds the column `category` that shows whether the member +is `external` or `internal`. Members that have met the above qualifications to be displayed can be further qualifed by their email address. * `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed @@ -756,7 +764,7 @@ gam show group-members [descriptionmatchpattern [not] ] [admincreatedmatch ] [roles ] [members] [managers] [owners] [depth ] - [internal] [internaldomains ] [external] + [internal] [internaldomains all|primary|] [external] [notsuspended|suspended] [notarchived|archived] [types ] [memberemaildisplaypattern|memberemailskippattern ] @@ -809,232 +817,17 @@ By default, when displaying members from a group, all members, whether suspended By default, all types of members (customer, group, user) in the group are displayed; this option modifies that behavior: * `types ` - Display specified types -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names -Members without an email address, e.g. `customer`, are considered internal. - -Members that have met the above qualifications to be displayed can be further qualifed by their email address. -* `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed -* `memberemailskippattern ` - Members with email addresses that match `` will not be displayed; others will be displayed - -By default, members of type GROUP are recursively expanded to show their constituent members. (Members of -type CUSTOMER are not expanded.) The `depth ` argument controls the depth to which nested groups are displayed. -* `depth -1` - all groups in the selected group and below are displayed; this is the default. -* `depth 0` - the groups within a selected group are displayed, no descendants are displayed. -* `depth N` - the groups within the selected group and those groups N levels below the selected group are displayed. - -The `includederivedmembership` option causes the API to expand type GROUP and type CUSTOMER -members to display their constituent members while still displaying the original member. - -The options `types user` and `includederivedmembership types user` return the same list of users. -The `includederivedmembership` option makes less API calls but doesn't show hierarchy. -Expanding a member of type CUSTOMER may produce a large volume of data as it will display all users in your domain. - -### Display group structure -To see a group's structure of nested groups use the `type group` option. -``` -$ gam show group-members group testgroup5 types group -Group: testgroup5@domain.com - MEMBER, GROUP, testgroup1@domain.com, ACTIVE - MEMBER, GROUP, testgroup2@domain.com, ACTIVE - MEMBER, GROUP, testgroup3@domain.com, ACTIVE - MEMBER, GROUP, testgroup2@domain.com, ACTIVE - MEMBER, GROUP, testgroup4@domain.com, ACTIVE -``` -To show the structure of all groups you can do the following; it will be time consuming for a large number of groups. -``` -gam redirect stdout ./groups.txt show group-members types group -``` - -### Examples -#### Print a CSV of all members of a group regardless of role, all fields -``` -gam print group-members -``` -#### Print a CSV containing all managers emails -``` -gam print group-members role manager fields email -``` -#### Print a CSV output of all members and their emails only -``` -gam print group-members role member fields email -``` -#### Display group owners in your domain, but excluding groups where the email starts with a 4 digit code -``` -gam print group-members domain emailmatchpattern not '^1234.*' roles owners -``` - - -These options further limit the list of groups selected above: -* `emailmatchpattern ` - Limit display to groups whose email address matches `` -* `emailmatchpattern not ` - Limit display to groups whose email address does not match `` -* `namematchpattern ` - Limit display to groups whose name matches `` -* `namematchpattern not ` - Limit display to groups whose name does not match `` -* `descriptionmatchpattern ` - Limit display to groups whose description matches `` -* `descriptionmatchpattern not ` - Limit display to groups whose description does not match `` -* `admincreatedmatch True` - Limit display to groups created by administrators -* `admincreatedmatch False` - Limit display to groups created by users - -By default, all members, managers and owners in the group are displayed; these options modify that behavior: -* `roles ` - Display specified roles -* `members` - Display members -* `managers` - Display managers -* `owners` - Display owners - -By default, all types of members (customer, group, user) in the group are displayed; this option modifies that behavior: -* `types ` - Display specified types - -By default, members that are groups are displayed as a single entry of type GROUP; this option recursively expands group members to display their user members. -* `recursive` - Recursively expand group members - -When `recursive` is specified, the default is to only display type user members; this option modifies those behaviors: -* `types ` - Display specified types - -By default, when displaying members from a group, all members, whether suspended/archived or not, are included. -* `notsuspended` - Display only non-suspended members -* `suspended` - Display only suspended members -* `notarchived` - Do not include archived members -* `archived` - Only include archived members, this is not common but allows creating groups that allow easy identification of archived users -* `notsuspended notarchived` - Do not include suspended and archived members -* `suspended archived` - Include only suspended or archived members -* `notsuspended archived` - Only include archived members, this is not common but allows creating groups that allow easy identification of archived users -* `suspended notarchived` - Only include suspended members, this is not common but allows creating groups that allow easy identification of suspended users - -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` - -Members without an email address, e.g. `customer`, are considered internal. - -Members that have met the above qualifications to be displayed can be further qualifed by their email address. -* `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed -* `memberemailskippattern ` - Members with email addresses that match `` will not be displayed; others will be displayed - -By default, the ID, role, email address, type and status of each member are displayed along with the group email address; -these options specify which fields to display: -* `membernames` - Display members full name; an additional API call per member is required -* `showdeliverysettings` - Display delivery settings; an additional API call per member is required -* `*` - Individual field names -* `fields ` - A comma separated list of field names - * `delivery|deliverysettings` - Specify this field to get delivery information; an additional API call per member is required - -For members that are users, you can specify additional information to display; an additional API call per member is required -* `userfields ` - Display specific user fields -* `allschemas|(schemas|custom|customschemas )` - Display all or specific custom schema values - -The additional API calls can be reduced with the `cachememberinfo` option; a single API call is made for each user/group -and the data is cached to eliminate to need to repeat the API call; this consumes more memory but dramatically reduces the number of API calls. - -If member names are requested, names are not available for users not in the domain; you can request that GAM use the People API to retrieve -names for these users. Names are not retrieved in all cases and success is dependent on what user is used to perform the retrievals. -* `peoplelookup` - Use the administrator named in oauth2.txt to perform the retrievals -* `peoplelookupuser ` - Use `` to perform the retrievals - -By default, when `membernames` is specified, GAM displays `Unknown` for members whose names can not be determined. -Use `unknownname ` to specify an alternative value. - -By default, the group email address is always shown, you can suppress it with the `nogroupemail` option. - -The `recursive` option adds two columns, level and subgroup, to the output: -* `level` - At what level of the expansion does the user appear; level 0 is the top level -* `subgroup` - The group that contained the user - -Displaying membership of multiple groups or recursive expansion may result in multiple instances of the same user being displayed; these multiple instances can be reduced to one entry. -* `noduplicates` - Reduce multiple instances of the same user to the first instance - -The `includederivedmembership` option is an alternative to `recursive`; it causes the API to expand type GROUP and type CUSTOMER -members to display their constituent members while still displaying the original member. -The API produces inconsistent results, use with caution. - -The options `recursive noduplicates` and `includederivedmembership types user noduplicates` return the same list of users. -The `includederivedmembership` option makes less API calls but doesn't show level and subgroup information. -Expanding a member of type CUSTOMER may produce a large volume of data as it will display all users in your domain. - -By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format, -* `formatjson` - Display the fields in JSON format. - -By default, when writing CSV files, Gam uses a quote character of double quote `"`. The quote character is used to enclose columns that contain -the quote character itself, the column delimiter (comma by default) and new-line characters. Any quote characters within the column are doubled. -When using the `formatjson` option, double quotes are used extensively in the data resulting in hard to read/process output. -The `quotechar ` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output. -`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used. - -## Display group membership in hierarchical format -``` -gam show group-members - [([domain|domains ] ([member|showownedby ]|[(query )|(queries )]))| - (group|group_ns|group_susp )| - (select )] - [emailmatchpattern [not] ] [namematchpattern [not] ] - [descriptionmatchpattern [not] ] - [admincreatedmatch ] - [roles ] [members] [managers] [owners] [depth ] - [internal] [internaldomains ] [external] - [notsuspended|suspended] [notarchived|archived] - [types ] - [memberemaildisplaypattern|memberemailskippattern ] - [includederivedmembership] -``` -By default, the group membership of all groups in the account are displayed, these options allow selection of subsets of groups: -* `domain|domains ` - Limit display to groups in the domains specified by `` - * You can predefine this list with the `print_agu_domains` variable in `gam.cfg`. -* `member ` - Limit display to groups that contain `` as a member; mutually exclusive with `query ` -* `showownedby ` - Limit display to groups that contain `` as an owner; mutually exclusive with `query ` -* `(query )|(queries )` - Limit groups to those that match a query; each query is run against each domain -* `group ` - Limit display to the single group `` -* `group_ns ` - Limit display to the single group ``, display non-suspended members -* `group_susp ` - Limit display to the single group ``, display suspended members -* `select ` - Limit display to the groups specified in `` -* `showownedby ` - Limit display to groups owned by `` - -When using `query ` with the `name:{PREFIX}*` query, `PREFIX` must contain at least three characters. - -You can identify groups with the `All users in the organization` member with: -* `query "memberKey="` -* `member id:` - -These options further limit the list of groups selected above: -* `emailmatchpattern ` - Limit display to groups whose email address matches `` -* `emailmatchpattern not ` - Limit display to groups whose email address does not match `` -* `namematchpattern ` - Limit display to groups whose name matches `` -* `namematchpattern not ` - Limit display to groups whose name does not match `` -* `descriptionmatchpattern ` - Limit display to groups whose description matches `` -* `descriptionmatchpattern not ` - Limit display to groups whose description does not match `` -* `admincreatedmatch True` - Limit display to groups created by administrators -* `admincreatedmatch False` - Limit display to groups created by users - -By default, all members, managers and owners in the group are displayed; these options modify that behavior: -* `roles ` - Display specified roles -* `members` - Display members -* `managers` - Display managers -* `owners` - Display owners - -By default, when displaying members from a group, all members, whether suspended/archived or not, are included. -* `notsuspended` - Display only non-suspended members -* `suspended` - Display only suspended members -* `notarchived` - Do not include archived members -* `archived` - Only include archived members, this is not common but allows creating groups that allow easy identification of archived users -* `notsuspended notarchived` - Do not include suspended and archived members -* `suspended archived` - Include only suspended or archived members -* `notsuspended archived` - Only include archived members, this is not common but allows creating groups that allow easy identification of archived users -* `suspended notarchived` - Only include suspended members, this is not common but allows creating groups that allow easy identification of suspended users - -By default, all types of members (customer, group, user) in the group are displayed; this option modifies that behavior: -* `types ` - Display specified types - -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` - -Members without an email address, e.g. `customer`, are considered internal. +By default, when listing group members, GAM does not take the domain of the member into account. +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +Members without an email address, e.g. `customer`, are considered `internal`. Members that have met the above qualifications to be displayed can be further qualifed by their email address. * `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed diff --git a/wiki/Groups.md b/wiki/Groups.md index 18a08ffd..77034810 100644 --- a/wiki/Groups.md +++ b/wiki/Groups.md @@ -396,7 +396,7 @@ gam info group|groups [basic] * [fields ] [nodeprecated] [ciallfields|(cifields )] [roles ] [members] [managers] [owners] - [internal] [internaldomains ] [external] + [internal] [internaldomains All|] [external] [notsuspended|suspended] [notarchived|archived] [types ] [memberemaildisplaypattern|memberemailskippattern ] @@ -423,13 +423,17 @@ By default, when displaying members from a group, all members, whether suspended By default, when displaying members from a group, all types of members (customer, group, user) in the group are displayed; this option modifies that behavior: * `types ` - Display specified types -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your primary workspace domain + * `internaldomains ` - A list of domain names -Members without an email address, e.g. `customer`, are considered internal. +By default, when listing group members, GAM does not take the domain of the member into account. +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +Members without an email address, e.g. `customer`, are considered `internal`. Members that have met the above qualifications to be displayed can be further qualifed by their email address. * `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed @@ -467,7 +471,7 @@ gam print groups [todrive *] [ciallfields|(cifields )] [nodeprecated] [roles ] - [internal] [internaldomains ] [external] + [internal] [internaldomains all|primary|] [external] [members|memberscount] [managers|managerscount] [owners|ownerscount] [totalcount] [countsonly] [includederivedmembership] [notsuspended|suspended] [notarchived|archived] @@ -558,13 +562,20 @@ By default, when displaying members from a group, all members, whether suspended By default, when displaying members from a group, all types of members (customer, group, user) in the group are displayed; this option modifies that behavior: * `types ` - Display specified types -By default, when listing group members, GAM does not take the domain of the member into account. -* `internal internaldomains ` - Display members whose domain is in `` -* `external internaldomains ` - Display members whose domain is not in `` -* `internal external internaldomains ` - Display all members, indicate their category: internal or external -* `internaldomains ` - Defaults to value of `domain` in `gam.cfg` +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names -Members without an email address, e.g. `customer`, are considered internal. +By default, when listing group members, GAM does not take the domain of the member into account. +* `internal` - Display members whose domain matches a value in `internaldomains` +* `external` - Display members whose domain does not match value in `internaldomains` +* `internal external` - Display all members, indicate their category: `internal` or `external` + +Members without an email address, e.g. `customer`, are considered `internal`. + +When the `internal` or `external` options are specified, GAM adds the column `allowExternalMembers` +that shows that setting for the group. Members that have met the above qualifications to be displayed can be further qualifed by their email address. * `memberemaildisplaypattern ` - Members with email addresses that match `` will be displayed; others will not be displayed diff --git a/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md b/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md index cbb30594..26d597f8 100644 --- a/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +++ b/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md @@ -252,7 +252,7 @@ writes the credentials into the file oauth2.txt. admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin$ gam version WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found -GAM 7.31.06 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.32.00 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.14.2 64-bit final macOS Tahoe 26.2 x86_64 @@ -990,7 +990,7 @@ writes the credentials into the file oauth2.txt. C:\>del C:\GAMConfig\oauth2.txt C:\>gam version WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found -GAM 7.31.06 - https://github.com/GAM-team/GAM - pythonsource +GAM 7.32.00 - https://github.com/GAM-team/GAM - pythonsource GAM Team Python 3.14.2 64-bit final Windows 11 10.0.26200 AMD64 diff --git a/wiki/Users-Calendars-Events.md b/wiki/Users-Calendars-Events.md index 11d39e07..330d0e14 100644 --- a/wiki/Users-Calendars-Events.md +++ b/wiki/Users-Calendars-Events.md @@ -681,9 +681,10 @@ By default, Gam displays event details, use `countsonly` to display only the num ``` gam print events [] * - [fields ] [showdayofweek] + [fields ] [showdayofweek] [attendeeslist] (addcsvdata )* - [eventrowfilter] [countsonly|(formatjson [quotechar ])] [todrive *] + [eventrowfilter] + [countsonly|(formatjson [quotechar ])] [todrive *] ``` In ``, any `` options must precede all other options. @@ -694,6 +695,10 @@ option `singleevents` to display all instances of a recurring event. `showdayofweek` displays columns `start.dayOfWeek` and `end.dayOfWeek` when event start and end times are displayed. +By default, each attendee is displayed in a separate column; `attendeeslist` causes GAM to display +the attendee email addresses in a single column `attendeesList`; no attendee details are displayed. +The email addresses are separated by `csv_output_field_delimiter` from `gam.cfg`. + Add additional columns of data from the command line to the output after the calendarId. * `addcsvdata ` diff --git a/wiki/Users-Chat.md b/wiki/Users-Chat.md index 5b2d7009..322ba34f 100644 --- a/wiki/Users-Chat.md +++ b/wiki/Users-Chat.md @@ -37,7 +37,7 @@ gam user user@domain.com update serviceaccount [*] 11) Chat API - User Sections (supports readonly) ``` -`Chat API - User Sections` is in Developer Preview. +`Chat API - User Sections` is in Developer Preview; you must have a `developer_preview_api_key` in `gam.cfg` to use these commands. Added `use_chat_admin_access` Boolean variable to `gam.cfg`. ``` @@ -484,14 +484,22 @@ gam move chatsectionitem to ### Display information about a user's chat section items ``` gam show chatsectionitems + [space ] [formatjson] ``` +You can search for a chat section that contains a chat space with: +`show chatsectionitems sections/- space ` + By default, Gam displays the information as an indented list of keys and values. * `formatjson` - Display the fields in JSON format. ``` gam print chatsectionitems [todrive *] + [space ] [formatjson [quotechar ]] ``` +You can search for a chat section that contains a chat space with: +`print chatsectionitems sections/- space ` + By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format, * `formatjson` - Display the fields in JSON format. diff --git a/wiki/Users-Drive-Copy-Move.md b/wiki/Users-Drive-Copy-Move.md index d61ac434..4fa784fc 100644 --- a/wiki/Users-Drive-Copy-Move.md +++ b/wiki/Users-Drive-Copy-Move.md @@ -42,6 +42,7 @@ ::= > ::= application|audio|font|image|message|model|multipart|text|video + ::= "(,)*" ::= / ::= "(,)*" @@ -103,7 +104,7 @@ gam copy drivefile * [skipids ] [copysubfiles []] [filenamematchpattern ] - [filemimetype [not] ] + [filemimetype [not] ] [filemimetype category ] [copysubfilesownedby any|me|others| users | @@ -189,6 +190,7 @@ By default, GAM displays a message referencing files and folders not selected fo You can specify restrictions on the MIME types to be copied. * `filemimetypes ` - Copy sub files with the specified MIME types * `filemimetypes not ` - Copy sub files with MIME types other than those specified +* `filemimetypes category ` - Copy sub files with the specified MIME type categories ### By default, when copying sub files, folders and shortcuts, all are copied. You can specify `` patterns that limit the items copied based on their name. diff --git a/wiki/Users-Drive-Files-Display.md b/wiki/Users-Drive-Files-Display.md index c2a4c506..3003051c 100644 --- a/wiki/Users-Drive-Files-Display.md +++ b/wiki/Users-Drive-Files-Display.md @@ -880,11 +880,11 @@ Print or show the share type counts of a user's files. These fields are displaye ``` gam print filesharecounts [todrive *] [excludetrashed] - [internaldomains ] + [internaldomains all|primary|] [summary none|only|plus] [summaryuser ] gam show filesharecounts [excludetrashed] - [internaldomains ] + [internaldomains all|primary|] [summary none|only|plus] [summaryuser ] ``` @@ -892,8 +892,10 @@ By default, print|show filesharecounts displays share type counts of all files o Use the `excludetrashed` option to suppress counting files in the trash. -By default, `internaldomains ` defaults to your primary domain; if you have other domains that -you consider internal, list all of them in ``. +Which domains are considered internal domains: + * `internaldomains all` - All of your workspace domains; this is the default + * `internaldomains primary` - Your workspace primary domain + * `internaldomains ` - A list of domain names By default, share type counts for individual users are displayed; the `summary` option offers alternatives that can display a summarization of share type counts across all users specified in the command. diff --git a/wiki/Version-and-Help.md b/wiki/Version-and-Help.md index e80d9c78..eb654831 100644 --- a/wiki/Version-and-Help.md +++ b/wiki/Version-and-Help.md @@ -3,7 +3,7 @@ Print the current version of Gam with details ``` gam version -GAM 7.31.06 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.32.00 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.14.2 64-bit final macOS Tahoe 26.2 x86_64 @@ -15,7 +15,7 @@ Time: 2025-12-23T13:57:00-08:00 Print the current version of Gam with details and time offset information ``` gam version timeoffset -GAM 7.31.06 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.32.00 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.14.2 64-bit final macOS Tahoe 26.2 x86_64 @@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second Print the current version of Gam with extended details and SSL information ``` gam version extended -GAM 7.31.06 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.32.00 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.14.2 64-bit final macOS Tahoe 26.2 x86_64 @@ -68,7 +68,7 @@ MacOS High Sierra 10.13.6 x86_64 Path: /Users/Admin/bin/gam7 Version Check: Current: 5.35.08 - Latest: 7.31.06 + Latest: 7.32.00 echo $? 1 ``` @@ -76,7 +76,7 @@ echo $? Print the current version number without details ``` gam version simple -7.31.06 +7.32.00 ``` In Linux/MacOS you can do: ``` @@ -86,7 +86,7 @@ echo $VER Print the current version of Gam and address of this Wiki ``` gam help -GAM 7.31.06 - https://github.com/GAM-team/GAM +GAM 7.32.00 - https://github.com/GAM-team/GAM GAM Team Python 3.14.2 64-bit final macOS Tahoe 26.2 x86_64