Managing Google Apps with Powershell

You don’t have to be too knowledgeable about computing to know Microsoft and Google are at each other’s throats constantly in the IT world. Fortunately, that doesn’t extend to every level, and so it is with some pleasure I have started to investigate the ability to use Powershell to provision and manage Google Apps for Education.
When I first started managing Google Apps domains for schools I went out looking for a useful management tool to do bulk account management (since Google doesn’t provide for this in their admin console) and after a time discovered the Dito GAM tool (Google Apps Manager). Since then I have used it to perform some aspects of account management, which included bulk account suspension when the accounts we had created for students weren’t immediately required. Whilst this tool has proved very versatile it lacks capability to be useful when called in scripts and also can’t manage the Google Apps shared contacts (we need something to manage this because it is another capability lacking in the Google Apps console).
So at this point I am starting to look at Powershell extensions to manage Google Apps instead. Assuming they conform to Powershell conventions and interoperability they will be usable in Powershell scripts that I write and can therefore be easily integrated into the student add script I am working on. So far here are some tools I have found and will be evaluating:

Of these, GShell looks the most promising. GDataCmdLet is currently the only one of the three that supports contact management, but hasn’t been updated since 2010.