Improve info|print users #1890
Some checks failed
Build and test GAM / build (false, build, 1, Build Intel Ubuntu Jammy, ubuntu-22.04) (push) Has been cancelled
Build and test GAM / build (false, build, 10, Build x86_64 macOS 15, macos-15-intel) (push) Has been cancelled
Build and test GAM / build (false, build, 11, Build x86_64 macOS 26, macos-26-intel) (push) Has been cancelled
Build and test GAM / build (false, build, 12, Build Arm MacOS 26, macos-26) (push) Has been cancelled
Build and test GAM / build (false, build, 13, Build Intel Windows, windows-2025-vs2026) (push) Has been cancelled
Build and test GAM / build (false, build, 14, Build Arm Windows, windows-11-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 2, Build Intel Ubuntu Noble, ubuntu-24.04) (push) Has been cancelled
Build and test GAM / build (false, build, 3, Build Arm Ubuntu Noble, ubuntu-24.04-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 4, Build Arm Ubuntu Jammy, ubuntu-22.04-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 5, Build Intel StaticX Legacy, ubuntu-22.04, yes) (push) Has been cancelled
Build and test GAM / build (false, build, 6, Build Arm StaticX Legacy, ubuntu-22.04-arm, yes) (push) Has been cancelled
Build and test GAM / build (false, build, 8, Build Arm MacOS 14, macos-14) (push) Has been cancelled
Build and test GAM / build (false, build, 9, Build Arm MacOS 15, macos-15) (push) Has been cancelled
Build and test GAM / build (false, test, 15, Test Python 3.10, ubuntu-24.04, 3.10) (push) Has been cancelled
Build and test GAM / build (false, test, 16, Test Python 3.11, ubuntu-24.04, 3.11) (push) Has been cancelled
Build and test GAM / build (false, test, 17, Test Python 3.12, ubuntu-24.04, 3.12) (push) Has been cancelled
Build and test GAM / build (false, test, 18, Test Python 3.13, ubuntu-24.04, 3.13) (push) Has been cancelled
Build and test GAM / build (false, test, 19, Test Python 3.15-dev, ubuntu-24.04, 3.15-dev) (push) Has been cancelled
Build and test GAM / build (true, test, 20, Test Python 3.14 freethread, ubuntu-24.04, 3.14) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Push wiki / pushwiki (push) Has been cancelled
Build and test GAM / publish (push) Has been cancelled
Check for Google Root CA Updates / check-certs (push) Has been cancelled

This commit is contained in:
Ross Scroggs
2026-03-11 15:14:36 -07:00
parent 9d01e3fa27
commit 8412ba78b2
5 changed files with 71 additions and 11 deletions

View File

@@ -10,10 +10,31 @@ 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 See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
### 7.35.04 ### 7.36.00
Fixed bug in `gam create feature name <Name>` where the result was incorrectly shown as Added options `filtermultiattrtype` and filtermultiattrcustom` to `gam info user` and
`Building: <Name>, Added` instead of `Feature: <Name>, Added`. `gam print users` that support filtering `<UserMultiAttribute>` display based on `type` or `customType`.
```
<UserMultiAttributeFilterName> ::=
address|addresses|
externalid|externalids|
im|ims|
keyword|keywords|
location|locations|
orgainzation|organizations|
otheremail|otheremails|
phone|phones|
relation|relations|
website|websites
```
* `filtermultiattrtype <UserMultiAttributeFilterName> <String>` - Display `<UserMultiAttributeFilterName>` if its `type` is `<String>`
* `filtermultiattrcustom <UserMultiAttributeFilterName> <String>` - Display `<UserMultiAttributeFilterName>` if its `customType` is `<String>`
```
gam info user user@domain.com quick filtermultiattrtype organizations work filtermultiattrcustom phones private
```
### 7.35.03 ### 7.35.03

View File

@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
``` ```
gamteam@server:/Users/gamteam$ rm -f /Users/gamteam/GAMConfig/oauth2.txt gamteam@server:/Users/gamteam$ rm -f /Users/gamteam/GAMConfig/oauth2.txt
gamteam@server:/Users/gamteam$ gam version gamteam@server:/Users/gamteam$ gam version
GAM 7.35.04 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.36.00 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.3 64-bit final Python 3.14.3 64-bit final
macOS Tahoe 26.3.1 arm64 macOS Tahoe 26.3.1 arm64
@@ -1034,7 +1034,7 @@ writes the credentials into the file oauth2.txt.
``` ```
C:\>del C:\GAMConfig\oauth2.txt C:\>del C:\GAMConfig\oauth2.txt
C:\>gam version C:\>gam version
GAM 7.35.04 - https://github.com/GAM-team/GAM - pythonsource GAM 7.36.00 - https://github.com/GAM-team/GAM - pythonsource
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.3 64-bit final Python 3.14.3 64-bit final
Windows 11 10.0.26200 AMD64 Windows 11 10.0.26200 AMD64

View File

@@ -377,6 +377,9 @@ features "CameraSet"
features "'Laptop Cart'" features "'Laptop Cart'"
features "CameraSet,'Laptop Cart'" features "CameraSet,'Laptop Cart'"
``` ```
For quoting rules, see: [List Quoting Rules](Command-Line-Parsing)
## Manage buildings ## Manage buildings
When creating a building, at a minimum you must enter `address|addresslines` and `country|regioncode`. When creating a building, at a minimum you must enter `address|addresslines` and `country|regioncode`.

View File

@@ -329,6 +329,20 @@ You can remove all instances of a `<UserMultiAttribute>` with `<UserClearAttribu
<UserMultiAttribute>| <UserMultiAttribute>|
<UserClearAttribute> <UserClearAttribute>
``` ```
```
<UserMultiAttributeFilterName> ::=
address|addresses|
externalid|externalids|
im|ims|
keyword|keywords|
location|locations|
orgainzation|organizations|
otheremail|otheremails|
phone|phones|
relation|relations|
website|websites
```
## Admin Console User Info ## Admin Console User Info
When defining a user in the admin console, there is a section labelled `Employee information` with the following items: When defining a user in the admin console, there is a section labelled `Employee information` with the following items:
* `Employee ID` * `Employee ID`
@@ -971,6 +985,8 @@ gam info user [<UserItem>]
[(products|product <ProductIDList>)|(skus|sku <SKUIDList>)] [(products|product <ProductIDList>)|(skus|sku <SKUIDList>)]
[noschemas|allschemas|(schemas|custom|customschemas <SchemaNameList>)] [noschemas|allschemas|(schemas|custom|customschemas <SchemaNameList>)]
[userview] <UserFieldName>* [fields <UserFieldNameList>] [userview] <UserFieldName>* [fields <UserFieldNameList>]
(filtermultiattrtype <UserMultiAttributeFilterName> <String>)*
(filtermultiattrcustom <UserMultiAttributeFilterName> <String>)*
[formatjson] [formatjson]
``` ```
### Display information about multiple users ### Display information about multiple users
@@ -984,6 +1000,8 @@ gam info users <UserTypeEntity>
[(products|product <ProductIDList>)|(skus|sku <SKUIDList>)] [(products|product <ProductIDList>)|(skus|sku <SKUIDList>)]
[noschemas|allschemas|(schemas|custom|customschemas <SchemaNameList>)] [noschemas|allschemas|(schemas|custom|customschemas <SchemaNameList>)]
[userview] <UserFieldName>* [fields <UserFieldNameList>] [userview] <UserFieldName>* [fields <UserFieldNameList>]
(filtermultiattrtype <UserMultiAttributeFilterName> <String>)*
(filtermultiattrcustom <UserMultiAttributeFilterName> <String>)*
[formatjson] [formatjson]
gam <UserTypeEntity> info users gam <UserTypeEntity> info users
[quick] [quick]
@@ -994,6 +1012,8 @@ gam <UserTypeEntity> info users
[(products|product <ProductIDList>)|(skus|sku <SKUIDList>)] [(products|product <ProductIDList>)|(skus|sku <SKUIDList>)]
[noschemas|allschemas|(schemas|custom|customschemas <SchemaNameList>)] [noschemas|allschemas|(schemas|custom|customschemas <SchemaNameList>)]
[userview] <UserFieldName>* [fields <UserFieldNameList>] [userview] <UserFieldName>* [fields <UserFieldNameList>]
(filtermultiattrtype <UserMultiAttributeFilterName> <String>)*
(filtermultiattrcustom <UserMultiAttributeFilterName> <String>)*
[formatjson] [formatjson]
``` ```
For `info users`, unlike all other GAM commands, a `<UserTypeEntity>` value of `all users` is actually `all users_ns_susp` not `all users_ns`. For `info users`, unlike all other GAM commands, a `<UserTypeEntity>` value of `all users` is actually `all users_ns_susp` not `all users_ns`.
@@ -1031,6 +1051,11 @@ By default, Gam displays fields that only an adminstrator can view.
By default, Gam displays all fields for a user. By default, Gam displays all fields for a user.
* `<UserFieldName>* [fields <UserFieldNameList>]` - Only display selected fields. * `<UserFieldName>* [fields <UserFieldNameList>]` - Only display selected fields.
By default, all instances of `<UserMultiAttribute>` are displayed, use these options to only display instances
of a specified `type` or `customType`.
* `filtermultiattrtype <UserMultiAttributeFilterName> <String>` - Display `<UserMultiAttributeFilterName>` if its `type` is `<String>`
* `filtermultiattrcustom <UserMultiAttributeFilterName> <String>` - Display `<UserMultiAttributeFilterName>` if its `customType` is `<String>`
By default, Gam displays the information as an indented list of keys and values. By default, Gam displays the information as an indented list of keys and values.
* `formatjson` - Display the fields in JSON format. * `formatjson` - Display the fields in JSON format.
@@ -1062,6 +1087,8 @@ gam print users [todrive <ToDriveAttribute>*]
[schemas|custom|customschemas all|<SchemaNameList>] [schemas|custom|customschemas all|<SchemaNameList>]
[emailpart|emailparts|username] [emailpart|emailparts|username]
[userview] [allfields|basic|full|(<UserFieldName>*|fields <UserFieldNameList>)] [userview] [allfields|basic|full|(<UserFieldName>*|fields <UserFieldNameList>)]
(filtermultiattrtype <UserMultiAttributeFilterName> <String>)*
(filtermultiattrcustom <UserMultiAttributeFilterName> <String>)*
[delimiter <Character>] [sortheaders [<Boolean>]] [scalarsfirst [<Boolean>]] [delimiter <Character>] [sortheaders [<Boolean>]] [scalarsfirst [<Boolean>]]
[formatjson [quotechar <Character>]] [quoteplusphonenumbers] [formatjson [quotechar <Character>]] [quoteplusphonenumbers]
[issuspended <Boolean>] [isarchived <Boolean>] [aliasmatchpattern <REMatchPattern>] [issuspended <Boolean>] [isarchived <Boolean>] [aliasmatchpattern <REMatchPattern>]
@@ -1088,6 +1115,8 @@ gam print users [todrive <ToDriveAttribute>*] select <UserTypeEntity>
[schemas|custom|customschemas all|<SchemaNameList>] [schemas|custom|customschemas all|<SchemaNameList>]
[emailpart|emailparts|username] [emailpart|emailparts|username]
[userview] [basic|full|allfields|(<UserFieldName>*|fields <UserFieldNameList>)] [userview] [basic|full|allfields|(<UserFieldName>*|fields <UserFieldNameList>)]
(filtermultiattrtype <UserMultiAttributeFilterName> <String>)*
(filtermultiattrcustom <UserMultiAttributeFilterName> <String>)*
[delimiter <Character>] [sortheaders [<Boolean>]] [scalarsfirst [<Boolean>]] [delimiter <Character>] [sortheaders [<Boolean>]] [scalarsfirst [<Boolean>]]
[formatjson [quotechar <Character>]] [quoteplusphonenumbers] [formatjson [quotechar <Character>]] [quoteplusphonenumbers]
[issuspended <Boolean>] [isarchived <Boolean>] [aliasmatchpattern <REMatchPattern>] [issuspended <Boolean>] [isarchived <Boolean>] [aliasmatchpattern <REMatchPattern>]
@@ -1102,6 +1131,8 @@ gam <UserTypeEntity> print users [todrive <ToDriveAttribute>*]
[schemas|custom|customschemas all|<SchemaNameList>] [schemas|custom|customschemas all|<SchemaNameList>]
[emailpart|emailparts|username] [emailpart|emailparts|username]
[userview] [basic|full|allfields|(<UserFieldName>*|fields <UserFieldNameList>)] [userview] [basic|full|allfields|(<UserFieldName>*|fields <UserFieldNameList>)]
(filtermultiattrtype <UserMultiAttributeFilterName> <String>)*
(filtermultiattrcustom <UserMultiAttributeFilterName> <String>)*
[delimiter <Character>] [sortheaders [<Boolean>]] [scalarsfirst [<Boolean>]] [delimiter <Character>] [sortheaders [<Boolean>]] [scalarsfirst [<Boolean>]]
[formatjson [quotechar <Character>]] [quoteplusphonenumbers] [formatjson [quotechar <Character>]] [quoteplusphonenumbers]
[issuspended <Boolean>] [isarchived <Boolean>] [aliasmatchpattern <REMatchPattern>] [issuspended <Boolean>] [isarchived <Boolean>] [aliasmatchpattern <REMatchPattern>]
@@ -1137,6 +1168,11 @@ By default, Gam displays only the primary email address for each user.
* `schemas|custom all` - Display custom schema information for all schemas. * `schemas|custom all` - Display custom schema information for all schemas.
* `schemas|custom <SchemaNameList>` - Display all fields or selected fields of the specified custom schemas * `schemas|custom <SchemaNameList>` - Display all fields or selected fields of the specified custom schemas
By default, all instances of `<UserMultiAttribute>` are displayed, use these options to only display instances
of a specified `type` or `customType`.
* `filtermultiattrtype <UserMultiAttributeFilterName> <String>` - Display `<UserMultiAttributeFilterName>` if its `type` is `<String>`
* `filtermultiattrcustom <UserMultiAttributeFilterName> <String>` - Display `<UserMultiAttributeFilterName>` if its `customType` is `<String>`
By default, when aliases are displayed, all aliases are displayed. Use `aliasmatchpattern <REMatchPattern>` By default, when aliases are displayed, all aliases are displayed. Use `aliasmatchpattern <REMatchPattern>`
to limit the display of aliases to those that match `<REMatchPattern>`. to limit the display of aliases to those that match `<REMatchPattern>`.

View File

@@ -3,7 +3,7 @@
Print the current version of Gam with details Print the current version of Gam with details
``` ```
gam version gam version
GAM 7.35.04 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.36.00 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.3 64-bit final Python 3.14.3 64-bit final
macOS Tahoe 26.3.1 arm64 macOS Tahoe 26.3.1 arm64
@@ -15,7 +15,7 @@ Time: 2026-02-15T07:51:00-08:00
Print the current version of Gam with details and time offset information Print the current version of Gam with details and time offset information
``` ```
gam version timeoffset gam version timeoffset
GAM 7.35.04 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.36.00 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.3 64-bit final Python 3.14.3 64-bit final
macOS Tahoe 26.3.1 arm64 macOS Tahoe 26.3.1 arm64
@@ -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 Print the current version of Gam with extended details and SSL information
``` ```
gam version extended gam version extended
GAM 7.35.04 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.36.00 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.3 64-bit final Python 3.14.3 64-bit final
macOS Tahoe 26.3.1 arm64 macOS Tahoe 26.3.1 arm64
@@ -68,7 +68,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/gamteam/bin/gam7 Path: /Users/gamteam/bin/gam7
Version Check: Version Check:
Current: 5.35.08 Current: 5.35.08
Latest: 7.35.04 Latest: 7.36.00
echo $? echo $?
1 1
``` ```
@@ -76,7 +76,7 @@ echo $?
Print the current version number without details Print the current version number without details
``` ```
gam version simple gam version simple
7.35.04 7.36.00
``` ```
In Linux/MacOS you can do: In Linux/MacOS you can do:
``` ```
@@ -86,7 +86,7 @@ echo $VER
Print the current version of Gam and address of this Wiki Print the current version of Gam and address of this Wiki
``` ```
gam help gam help
GAM 7.35.04 - https://github.com/GAM-team/GAM GAM 7.36.00 - https://github.com/GAM-team/GAM
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.3 64-bit final Python 3.14.3 64-bit final
macOS Tahoe 26.3.1 arm64 macOS Tahoe 26.3.1 arm64