Last week Microsoft Teams Guest Access became generally available ( https://blogs.office.com/en-us/2017/09/11/expand-your-collaboration-with-guest-access-in-microsoft-teams). This feature is not meant to replace Federation ( Please Vote!), but I’m using this as a stop gap until Federation is available.
After working with a few Guest Access Teams, it quickly became apparent that no matter how often I switched between accounts, I wasn’t really engaged in conversations but just trying to catch up. My first thought was to repeat what I do with multiple Office 365 accounts, create a Chrome Profiles for each.
Matt Landis documented the Chrome Profile process here: http://windowspbx.blogspot.ca/2017/09/microsoft-teams-user-tips-18-keep.html
But the real answer to my tweet came from Steve Goodman: https://www.allabout365.com/2017/09/multiple-teams-accounts.
At first, I attempted to wrap Steve’s process around PowerShell and Graph APIs to query all the Guest Access accounts I had access to. After getting a prototype working, I realized how unsustainable this would be as the number of Tenants I use and amount of Guest Access items under each. Guest Access has only been available for a week and I now have 7 separate applications ~50MB a pop. It dawned on me that I could just build one application and set the url to: https://teams.microsoft.com. Upon launch you would sign into the Tenant of your choosing, subsequent instances would have the cached credentials and you can selecting different Guest Access accounts to connect to. Also, you could launch an instance, logout, login to a different Tenant and repeat the process.
I’ve packaged the portable Chromium application for Windows 32 and 64 bit and uploaded to the TechNet Gallery (download links below), make sure to unblock the zip file before extracting. If you would like to package it yourself look at Steve Goodman’s blog for step by step.
High-level Overview:
-
Install Node.js: https://nodejs.org/en/download/
-
Open Command Prompt and run:
- Install the Nativefier module, run:
npm install nativefier
``
- 32-Bit, run:
node_modules\.bin\nativefier.cmd https://teams.microsoft.com/ --name "MultiTeams" -u "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" --internal-urls .* -a ia32
``
- 64-Bit, run:
node_modules\.bin\nativefier.cmd https://teams.microsoft.com/ --name "MultiTeams" -u "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" --internal-urls .*
``
- Update Dec, 2017: Need to add a User-Agent to prevent unsupported browser error.
- Update Feb, 2018: Need to change User-Agent from “Chrome/64.0.3282.119” to “Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136” to resolve unable to IM Chat issue.
- Update Nov, 2018: Need to change User-Agent to “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134” to resolve unable to IM Chat issue.
- Update Nov, 2018: Need to add –internal-urls .* as Teams authentication (Oauth) was launching outside of MultiTeams in the default browser.
A quick video showing me unblocking my packaged application zip file, before extracting and running in parallel with the Microsoft Teams Desktop client. Followed by opening three sessions; main tenant, another with Guest Access and a second tenant.
MultiTeams 32-bit Download: https://gallery.technet.microsoft.com/MultiTeams-x86-6d934165
MultiTeams 64-bit Download: https://gallery.technet.microsoft.com/MultiTeams-x64-2fe55877