Hi all:
As at least some of you are aware, Google splits the licensing for Education Plus users of Workspace into two separate SKUs, 1010310008 and 1010310009.
This is pretty inconvenient, because it means that we have to split up the users into two different groups, of approximately the right size, before applying licenses to those accounts by running the following 3 commands each night:
It’s necessary to run all 3 of those commands to handle the case in which someone moves from license 1010310009 to 1010310008, as the first command will throw an error if someone already has a 1010310009 license.
Both the “008” and “009” licenses are the same in terms of functionality, so it doesn’t really matter which one one of our users get. There’s a split because of the way Google sells licenses into education—for every X “Education Plus" (008) licenses you buy, you get Y "Education Plus (Staff)" (009) licenses.
But this split winds up getting to be pretty inconvenient because we have to maintain a significant buffer in each of the two groups, and segmenting our population in that way is pretty inconvenient.
So I was wondering if there might be some way to tell GAM (or put a wrapper around GAM) to get something to the effect of:
gam group_users
all_google_eduplus_licenses@
example.edu recursive end sync license
1010310008 OR 1010310009 productid 101031
In other words, meaning that we could just treat all of our licenses as a single big pool rather than having to manage the size of the two separate sub-groups, which is rather cumbersome, and also means we need to keep around a far larger buffer of unused licenses.
I’m thinking that this must be doable somehow, as the API gives an error if you try to add an “008” license to someone who already has an “009” license, so presumably that could be leveraged? Maybe something like:
- gam config csv_output_header_filter "userId" print licenses sku "1010310008,1010310009" to see who already has a license
- gam group_users all_google_ed...@example.edu recursive end print to see who *should* have a license.
- Compare the lists via comm (or similar) to get who should have a license added and who should have a license removed
- Remove the licenses from those that should no longer have a license, regardless of whether it’s a 008 or 009 license.
- Attempt to add a 008 license to those that should have a license, but don’t. If that fails, try adding a 009 license before giving up.
I know how to do steps 1 through 3, but I’m less sure about how to accomplish steps 4 and 5.
Any thoughts?
Thanks,
Ian
|
Ian Crew
Solutions Architect
Productivity & Collaboration Services
Berkeley IT
|