PowerShell for Microsoft Teams Owners?



Warning: Your organisation may have locked down this capability but if you work on Microsoft Teams it is still worth knowing that it’s technically possible. If you are an admin and you have not put controls in place, then you may decide to take action.

One of my colleagues recently asked if there was an easy way to move hundreds of users between Teams? He owned both Teams but was not a Microsoft Tenant Admin.

To be totally honest it took me a while to “remember” but it dawned on me that good old PowerShell might be the answer. One of the nice things about the Teams Module is that is does allow Owners to perform actions on their Microsoft Teams. For anyone who is a Microsoft IT Pro what comes next is probably trivial but there are loads of technically minded people out there who are not familiar with PowerShell and who are Microsoft Team owners. This post is aimed at these folks.

I’ve created the short video below that provides the answer to the “moving users” question.

If you are new to the Teams PowerShell module you can get started by reading the documentation.

In case it helps the commands I used in the video are provided below:

Get-TeamUser -GroupId 2a34a55f-7adc-4e6c-9355-a6500f61e44b

Get-TeamUser -GroupId 2a34a55f-7adc-4e6c-9355-a6500f61e44b | Export-CSV -path C:\temp\AppTest.csv

$FilePath = “C:\temp\AppTest.csv”

Import-CSV $FilePath | Add-TeamUser -GroupId 138cc514-2800-4eb3-8725-1f449c896b72

Note: You will need to replace the Team’s GroupIds (ObjectIDs) with your own. If your tenant admin has not switched off access you can to do this by logging onto your Azure Portal (https://portal.azure.com) using your Microsoft 365 credentials and navigating to Groups, which live under Azure AD. The Export-CSV command will create the AppTest.csv file for you.

Hopefully, this has provided some food for thought?

Using Cortana to schedule Microsoft Teams Meetings



Who likes scheduling meetings? Does it burn time? Would you like someone to do it for you?

If the answer is yes to the above questions, then maybe it’s time to revisit Cortana. This has been around for a while but in case you aren’t aware Cortana provides an AI scheduling service. If you’ve not used it before it’s worth taking a look as it works! All you need to do is to register and configure your profile settings. You should be up and running in minutes and the link you need is:

Scheduler – Easy meeting scheduling (calendar.help)

I’ve also provided a 2 minute overview below that should help you get started.

Tip: Using the service is really intuitive but the one small piece of education needed for some attendees is to ensure they know to reply to Cortana and not directly back to you during the scheduling experience. I’ve previously used something like the example below in the email body:

“I’m going to ask Cortana to schedule our meeting, be sure to reply back to her (and not me) during the scheduling process”.

Microsoft Teams Business Voice with Calling Plan: Direct Routing Tip



As you are likely aware Microsoft Teams Business Voice comes in two versions in the UK, with Calling Plan and without. At the time of writing Microsoft Partners who have the Small and Midmarket Cloud Solution competency have Business Voice included as part of their Internal Use Rights (IURs). The UK IUR licensing comes with Microsoft Calling Plan. I mention this as the scenario discussed below applies to both standard and IUR Business Voice licensing.

Even though they have Microsoft Calling Plan use rights some customers/partners may still want to assign an on-premises phone number to one or more of their users. An example scenario might be a Microsoft UK Partner with Business Voice IURs who wants to use their own Direct Routing service for PSTN calls.

This is perfectly legal but even if Direct Routing is set up correctly and the user is assigned their on-premises number I’ve seen this configuration fail. Why? The short video below contains the answer.



The resolution may seem trivial with hindsight but it’s an easy step to overlook!

Tagging in Microsoft Teams Status Messages



Sometimes it’s the simplest things that turn out to be most useful. For example, I think it’s common knowledge that you can set a personalised status message in Teams, which then can be used to compliment your presence status. However, did you know that you can also use the @Tag feature in your status message to provide alternate contacts? In fact you can provide more than one!

This feature is especially useful in a Front Line worker or Operational environment when staff have to take breaks or are not on their shift. Using Tags they can let colleagues know who is covering for them.

Check out the short demonstration below:

In the video I also show that it’s possible to mark a message as Important or Urgent. Again in some situations the ability to repeatedly keep notifying the recipient is extremely helpful.

Microsoft Teams In-Meeting Polls using Forms



I created the video demo shared in this post to show that’s it’s really easy to add in-meeting polls to Microsoft Teams meetings using Forms. Consider this a top tip!

The polls can be created ahead of time and support anonymous responses if desired. I think this capability is really useful for anyone who wants to solicit specific feedback from their meeting attendees. If required, each Poll can be downloaded as an Excel spreadsheet.

Enhancing Video Engagement in Teams Meetings



As you may have already have seen I’ve previously posted a couple of videos about using OBS for Live Events. If not, then check out “Network Device Interface and Microsoft Teams” and “Top Tip – Teams Live Events External Production” to learn more.

We never stop learning! During a team meeting last week my esteemed colleague Chris Haley shared how OBS (there are other encoders available) can be used to enhance presenter engagement during a Microsoft Teams Meeting. Our team then spent a couple of hours having some fun with the Technology. I’ve captured the end result below. Check this out!

If you followed this year’s Ignite announcements, then you will have already heard about the new Custom Layouts feature, which I think will probably wrap what I showed during the video directly into Teams. Even so, I still think tools like OBS will allow professional presenters to remain creative and bring even more engagement into their virtual deliveries.

If you are interested in building the meeting experience I showed above I’ve listed some high level steps below. The good news is that no GBPs were spent during the creation process and it is surprisingly easy to set up!

  1. Make sure you have a second Monitor connected to your PC/Laptop.
  2. Configure a green screen background for your webcam. I used chromacam. Just search for it on the web.
  3. Then use it to configure a Green background for your selected webcam.
  4. If you don’t have OBS studio download it. It’s free.
  5. Follow the configuration steps in above video.

Network Device Interface and Microsoft Teams



Microsoft Teams has recently added support for Network Device Interface (NDI), which is a LAN based IP Video broadcast technology. You can learn more about the mechanics of NDI here.

The first use cases I’ve started to see for NDI in Teams revolve around providing and consuming content to/from third party encoders to assist with the production of Live Events. For example, a Live Event producer can pull individual video streams out of a Teams meeting and add them as discrete sources within an encoder (such as OBS), then stream these into a Live Event broadcast.

This is really useful as it provides an easy way to insert additional video production content into a Town Hall or Broadcast event.

NDI support in the Microsoft Teams client is controlled via an admin policy. Refer to the Microsoft Docs if you want to learn more.

If you want to run through an introduction on producing Live Events with an external encoder, check out my previous post: Teams Live Events External Production.

My Teams Security Slide



One of the things that I personally like about Microsoft Teams from an architect’s perspective is that the service leverages existing Microsoft 365 and Azure AD security capabilities. From an Admin’s perspective, the security features available for other Microsoft 365 services such as EXO and SPO are, when relevant, directly applicable to Teams.

Having said this, if you are new to Microsoft Teams you might struggle to get your head around which of the myriad of available controls relate to Teams and whether they fall under the Microsoft 365 or Azure AD administrative umbrellas. To try and help with this I recently created the diagram below to try and position a lot of the “bells and whistles” you might want to consider for a Teams security posture. One point to note is that different customers (or parts of a business) will have different security requirements. But I use this chart as a bit of a cheat sheet to remind me of some of the main components that should/could be considered during the planning stages of a Teams implementation.

Note; As per the slide name this is a “sample” of the capabilities so may not be exhaustive but it works for me as a super high level overview.

Anyway, just thought I’d post this in case this was helpful. I’ll probably bring some of the features mentioned above to life by way of some video demos in future posts.

So what is the Microsoft Teams Meeting Lifecycle?



When the virtual Meeting Lifecycle concept was originally introduced it took me a while to get my head around how this would play out in real life. After going through my own personal learning curve a couple of years ago I’ve become a big fan.

Moving forward to 2020 I think it’s a perfect time to revisit this topic to ensure anyone using Microsoft Teams is taking full advantage of the “pre” and “post” meeting phases of the Lifecycle. Given the current state of the world a high proportion of meetings are now taking place online and I don’t think anyone wants to waste time during a call to handle tasks that could be dealt with offline and asynchronously.

One of the mantras I have is to try and keep remote meetings as short as possible and attempt to limit them to important interactions and decision making. If possible I try not to book back to back meetings. I expect most of us have experienced the machine gun meeting phenomenon and the subsequent stress of arriving late (and under prepared) for the next meeting. As a result I normally schedule 30-45 minute calls, which gives me some time to actually do some “in between” work and be punctual.

However, this is where the before and after sections of the Microsoft Teams Lifecycle come into their own. To be able to keep my meetings as short as possible, when appropriate, I will do some initial collaborative preparation and post real-time wrap up.

Once you get use to this way of working it’s really productive but new users may need help with the “Art of the Possible”. So I decided to create some videos that I use to demo the Lifecycle. In case it helps, I’ve shared one of them below:

Top Tip – Teams Live Events External Production



If you know about virtual meeting tools then you have probably come across or used Live Events, which is the meeting broadcast solution that’s part of Microsoft Teams. It’s not entirely unexpected but I’ve seen a rapid rise in the use of Live Events over the last 6 months and I am actively working with Microsoft Partners to increase market capacity for this type of meeting in the UK.

When reading up on Live Events you may have come across external encoding? This is the ability to use 3rd party equipment to deliver studio quality production via the Teams Live Events client. I felt the documentation was a bit dry so I created the following demonstration video to provide a quick intro into this topic in under 4 minutes.

Hint – the encoder password shown in the video is a dummy one

As you can see it’s actually not too hard to get started with the technology. However, I believe they key to delivering a professional looking event is actually creativity, preparation and practice, regardless of the encoding/production method you are using.

Just to finish off, here are a few tips and tricks that might be useful: