Organisation Wide Backgrounds

With background effects coming to Teams for the web, providing your users with organisation standardised backgrounds is going to be even more useful.  If like me you’ve been looking in vain for the organisation wide backgrounds in Microsoft Teams, then you too have probably been looking in the wrong place.

The articles I read all said to go to Meeting Policies and add your images, so I have been looking in the actual policies, but could see nowhere to add background images.  Then today I spotted the Customize Meeting Images button on the top right of the screen!

Organisation wide background images require users to be assigned the Advanced Communications licence to benefit to view and apply.

To add images for use by your organisation, in the Teams Admin Center, expand Meetings and choose Meeting Policies, then at the top right click Customize Meeting Images  button.

Image showing Teams Admin Center with the meeting policies menu option selected and customize meeting images button highlighted to assist with navigation.

You now need to turn On the custom backgrounds and add your images

Image showing the customize meeting images screen to illustrate position of the Custom backgrounds on toggle and add button.

You can add up to 50 images in the Managing Backgrounds space.  Images can be in JPG or PNG format and must be between 360x360px and 3840x2160px.

Image showing the managing backgrounds screen with 6 images added.  The managing backgrounds screen also states "Select up to 50 images that you'd like to add.  These images will appear on users' interfaces in order of upload.  Only users with an advanced comms SKU will see these images."

It can take up to 24 hours for them to appear, but your users will be able to use the organisational background just the same as any others, better yet, they appear at the top of the list of available backgrounds.

Image shows the Teams meeting join screen with the 6 organisational background images shown after no background and blur but before the stock images.

MS-700 Useful PowerShell – Part 1

PowerShell is very powerful (no pun intended) but if you don’t know what you are doing it can be dangerous, making big changes to your environment without prompting for confirmation.  If you run ANY PowerShell scripts against your Office 365 tenant you alone are fully responsible for the actions undertaken, so please ensure you are fully confident in the source of your information.

I would recommend having a look at the Microsoft Learn module as a first step.  It should only take approx 1h to complete. Introduction to PowerShell – Learn | Microsoft Docs

Then review the guidance on managing Microsoft Teams using PowerShell from Microsoft Microsoft Teams PowerShell Overview – Microsoft Teams | Microsoft Docs

If you are looking at scripts for Microsoft Teams from a blog (like this one) I would recommend checking  them against MicrosoftTeamsPowerShell Module | Microsoft Docs.  This helps you learn more about the scripts but also lets you check the cmdlets (commands) you intend to use are still valid.

ALWAYS close your PowerShell Windows when you are not actively using them.  This closes the connection and logs you out, helping to keep your environment secure. Or even better disconnect then close the window.

Finally remember that Teams runs on Microsoft 365 groups, includes SharePoint features and shares some configuration with Skype for Business Online.  This means you may also need to use PowerShell cmdlets for Azure AD Power, Exchange Online, SharePoint and Skype for Business too, though the Skype for Business Online cmdlets are included in the Teams PowerShell module, they are still referenced separately in Docs.

This blog series is designed to support those studying for the MS-700 exam to appreciate how to do many of the tasks in the course using PowerShell.  As such I have divided it down into the course modules, which also help other trainers when they are delivering.

In this blog I have used <aaa> to indicate where you should change parts of the script to apply to your requirements.  Replace the <> as well as the words, but not any ” ” so <email> would become someone@email.com and “<email>” would become “someone@email.com”

REMEMBER: Any scripts here are run at your own risk, though I have tested them, I offer no guarantees or warrantees.

Overview

https://docs.microsoft.com/en-gb/microsoftteams/teams-powershell-overview

https://docs.microsoft.com/en-us/powershell/skype/intro?view=skype-ps

Install, Connect & Upgrade Teams PowerShell

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Install Teams Powershell by running this script (see Install Microsoft Teams PowerShell – Microsoft Teams | Microsoft Docs)

Install-Module -Name MicrosoftTeams

  1. Import the newly installed module into the open PowerShell window

Import-Module MicrosoftTeams

  1. Log in to Microsoft Teams 

Connect-MicrosoftTeams

  1. You are now ready to manage Teams using PowerShell

When you are installing PowerShell Modules, you will always be prompted to confirm download from the repository, as shown below.  You should only confirm one repository at a time using Y response.

Once set up you can then log in future by:

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Import the Teams module into the open PowerShell window

Import-Module MicrosoftTeams

  1. Log in to Microsoft Teams 

Connect-MicrosoftTeams

To Update Teams Powershell

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Run the Update Script

Update-Module MicrosoftTeams

  1. Import the Teams module into the open PowerShell window

Import-Module MicrosoftTeams

  1. Log in to Microsoft Teams 

Connect-MicrosoftTeams

Learn more about the Teams PowerShell Module

The commands in this section are not needed for the MS-700, but they do help to understand the Teams PowerShell module.

List Available Versions of Teams PowerShell Module

Get-Module -Name MicrosoftTeams* -ListAvailable | select Name,Version,Path

What is included in the Teams PowerShell Module

These cmdlets will let you explore what is availalbe in the Microsoft Teams PowerShell module

List all cmdlets

Get-Command -CommandType Cmdlet -Module MicrosoftTeams

List all commands

Get-Command -Module MicrosoftTeams

List all commands which use ‘Get’

Get-Command -Module MicrosoftTeams -Verb Get

List all commands which use ‘set’

Get-Command -Module MicrosoftTeams -Verb Set

List all commands which use ‘New’

Get-Command -Module MicrosoftTeams -Verb New

List all commands which act on a ‘Team’

Get-Command -Module MicrosoftTeams -Noun Teams

List all commands which act on a ‘Channel’

Get-Command -Module MicrosoftTeams -Noun TeamChannel

How Many commands are included in the Teams PowerShell Module

Get-Command -Module MicrosoftTeams |Measure-Object

Get help about with the New-Team PowerShell cmdlet

Get-Help New-Team

You can replace the New-Team cmdlet in this script with any cmdlet.  However this returns the help in the PowerShell window so you may prefer to open the help file in a separate window or even online using:

Get-Help New-Team -ShowWindow

Or

Get-Help New-Team -Online

Disconnect

You do not need to disconnect from Teams in PowerShell but it is a good idea to do so before closing your PowerShell window using:

Disconnect-MicrosoftTeams

Assign Teams Admin Role via PowerShell

See Assign roles to Microsoft 365 user accounts with PowerShell – Microsoft 365 Enterprise | Microsoft Docs

You need to use the Azure AD PowerShell Module for this.

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Install AzureAD Powershell by running this script (see Connect to Microsoft 365 with PowerShell – Microsoft 365 Enterprise | Microsoft Docs)  You should also be prompted to confirm NuGet and PSGallery access during the install of this module

Install-Module MSOnline

  1. Log in to Azure AD

Connect-MsolService

  1. Check names of roles which can be assigned using
    Get-MsolRole | Sort Name | Select Name,Description

The teams admin roles are:

  • Teams Administrator
  • Teams Communications Administrator
  • Teams Communications Support Engineer
  • Teams Communications Support Specialist 
  • Teams Devices Administrator     
  1. Copy the script below and replace <email> with login email address of user to be assigned the role and <role> with the role to be assigned.

$upnName="<email>"

$roleName="<role>"

Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName

Finding out about your tenant

You can also find quite a lot of information about your Teams tenant using PowerShell.  The cmdlets are all from the Teams module.

Get a list of all Teams in the tenant using:

Get-Team

Find What Details You Can Display About a Team using:

Get-Team |Get-Member

Get details of a Single Team using:

Get-Team -DisplayName <TeamName>

Get a list of all archived teams using:

Get-Team -Archived $true

Get List of all Team Users using:

Get-Team |Get-TeamUser

Get list of Unique Teams Users (each user listed once) using:

Get-Team |Get-TeamUser |Sort UserID -Unique

Get list of team members and role for one team using

$Team=Get-Team -DisplayName <TeamName>

Get-TeamUser -GroupID $Team.GroupID | Select User, Role

Get a list of all Guest users in all Teams using:

You will need all the lines below:

$Teams = Get-Team

foreach ($Team in $Teams) { Get-TeamUser -GroupId $Team.GroupID | where {$_.Role -eq "Guest"} | Select User, Role, @{n='TeamName' ;e={$Team.DisplayName}}}

For large environments, displaying the info in the PowerShell Window is messy, so create a csv export of owners and members of each Team using:

$AllTeams = (Get-Team).GroupID

$TeamList = @()

Foreach ($Team in $AllTeams)

{      

        $TeamGUID = $Team.ToString()

        $TeamName = (Get-Team | ?{$_.GroupID -eq $Team}).DisplayName

        $TeamOwner = (Get-TeamUser -GroupId $Team | ?{$_.Role -eq 'Owner'}).Name

        $TeamMember = (Get-TeamUser -GroupId $Team | ?{$_.Role -eq 'Member'}).Name

        $TeamList = $TeamList + [PSCustomObject]@{TeamName = $TeamName; TeamObjectID = $TeamGUID; TeamOwners = $TeamOwner -join ', '; TeamMembers = $TeamMember -join ', '}

}

$TeamList | export-csv c:\temp\TeamsData.csv -NoTypeInformation

Create a Team Using PowerShell and add a member & channel

New-Team (MicrosoftTeamsPowerShell) | Microsoft Docs

This script creates a new private team, sets the owner of the team and disables the ability for members to create or update channels. It then goes on to add a user to the team and create a new channel.

$group = New-Team -DisplayName "<TeamName>" -Description "<Description>" -Visibility Private  -Owner "<OwnerUPN/Email>" -AllowCreateUpdateChannels $False

Add-TeamUser -GroupId $group.GroupId -User "<MemberEmail/UPN>"

New-TeamChannel -GroupId $group.GroupId -DisplayName "<ChannelName>"

Once created you can unhide the group from Outlook via Set-UnifiedGroup (ExchangePowerShell) | Microsoft Docs  But first you need to install the Exchange Online PowerShell Module (see Connect to Exchange Online PowerShell | Microsoft Docs)

  1. Import-Module ExchangeOnlineManagement
  2. Connect-ExchangeOnline

Once installed you can then use the following script to make Team mailbox visible and also autosubscribe new members.

Set-UnifiedGroup -Identity "<TeamName>" -HiddenFromExchangeClientsEnabled:$false -AutoSubscribeNewMembers

You can also manage Teams Channels and Membership from PowerShell.  Some examples which all use the Teams PowerShell module.

Add a specific channel to all Teams

$Teams = Get-Team

foreach ($Team in $Teams) { New-TeamChannel -GroupId $Team.GroupID -DisplayName "<ChannelName>"}

Add a specific user to all Teams

$Teams = Get-Team

foreach ($Team in $Teams) { Add-TeamUser -GroupId $Team.GroupID -User <UserEmail/UPN> -Role Member}

Remove a specific channel from all Teams

$Teams = Get-Team

foreach ($Team in $Teams) { Remove-TeamChannel -GroupId $Team.GroupID -DisplayName "<ChannelName>"}

Remove a specific user from all Teams

$Teams = Get-Team

foreach ($Team in $Teams) { Remove-TeamUser -GroupId $Team.GroupID -User <UserEmail/UPN> -Role Member}

Download

Here is a text file with all the above scripts in that I used for testing purposes in preparing this blog. As always, please check before running as the responsibility is yours.

Other References

Whilst beyond what you need for MS-700 you may find these links useful:

External People in Group Chat in Teams

Group chats in Teams can now include external people.  It’s as simple as creating any group chat in Teams.  First, just make sure you can message the external people to be included in the group.  In other words send them a Teams chat message.  Then simply create a new group or add them to an existing group.

Start a New Chat

Click the new chat icon.

Enter the name of the person. 
To send a message to someone in a different organisation use their full email address rather than just their name.

Compose your message

Click Send

Start a New Group Chat

Click the new chat icon

Enter the name of the first person, enter names of other people

Compose your message, use

 to send a longer message.

Click Send

Add People to Chat

In the chat, click

Enter the name or email of person to be added

Choose the amount of chat history to be shared with new members

Click Add

Rename a Group Chat

Select the group chat

Next to names click pencil icon

Enter new name

Click Save

My First Custom Together Mode Scene

To accompany Build 2021, there is a new Teams blog with enhancements for developers.  Have a read at https://techcommunity.microsoft.com/t5/microsoft-teams-blog/microsoft-teams-announces-new-developer-features-build-2021/ba-p/2352558

What caught my eye was the Together Mode custom scenes and it is surprisingly simple.  Here’s the official guide https://docs.microsoft.com/en-us/microsoftteams/platform/apps-in-teams-meetings/teams-together-mode

To create your own to test, navigate to https://dev.teams.microsoft.com/scenes and sign in with your Microsoft 365 identity.

Choose Create a new Scene

You now need to add images as layers. 

Start with your main background image.  It is recommended that images are in PNG format, no more than 5MB in size and max 1920 by 1080.

I’m using the Imperial Star Destroyer Bridge from https://www.starwars.com/news/star-wars-backgrounds, which is actually a jpg file and still works.

Add the number of participants, by clicking the + Participants button and change the scroll to the number of people to have and click the Add button.

I added 10 here and you can see them all along the bottom of my image.

I can now drag the participants around my scene and position the placeholders.  You can also resize the placeholders, align them and adjust the x/y position in the image, which can be useful to align participant placeholders with others in the scene.

Given my meeting organiser deserves pride of place in my scene, I decided to reserve one placeholder for the organiser by assigning the image.

As you work, it’s probably a good idea to Save. Before you save you need to input a scene name.

If you click on participants you can add/remove participant placeholders

To try it out click the View in Teams button

Review the information and click Preview in Teams

Allow Teams to Open and then click Add  to add your new app

To Test create a meeting and invite enough attendees to test your scene. Once they join, switch to together mode and change the scene

Select your scene and click Apply.  I think I may need to adjust the image sizes in my scene, but it works for me and others in the same meeting, EVEN external people joining the meeting via the web.

Busy on Busy Options – Teams Calling

New options for call handling when a user is busy are availalbe and can be set now using PowerShell.  The option will eventually also be availalbe via the Teams Admin Center in Calling Policy.

Call handling when a user is already in a call is called Busy on Busy and by default is off in the Global Calling policy.

Previously we could set this to on or off.  When on callers got a busy signal and when off, the call just rang.  Going forward we also have an Unanswered option which means when the user is busy the setting for unanswered calls is used. 

Users configure their unanswered call handling themselves from Settings within Teams.

Users have the option to direct their unanswered calls including to their voicemail or alternative contact, including their own mobile phone if stored in their profile.

To set busy on busy option in the Global calling policy to use the users unanswered calls setting run this script

Set-CsTeamsCallingPolicy -Identity Global -BusyOnBusyEnabledType "Unanswered"

Note that the Teams Admin Center will currently show busy on busy as off once you have done this until the updated control is available.

As with all PowerShell scripts, you run them at your own risk.  So I’d always recommedn checking the official documentation before running any script you get from a blog (like this one).  The cmdlet used here is Set-CsTeamsCallingPolicy (SkypeForBusiness) | Microsoft Docs

For more on the Admin settings for this feature, please see https://docs.microsoft.com/microsoftteams/teams-calling-policy#busy-on-busy-is-available-while-in-a-call

For more on user settings, please visit https://support.microsoft.com/office/manage-your-call-settings-in-teams-456cb611-3477-496f-b31a-6ab752a7595f

Enable Stretchy Meetings & Webinars

OK, so Microsoft don’t call them Stretchy Meetings.  Officially they are meetings with view-only attendees but a meeting that can grow to accommodate more users to my mind is stretchy.  But that’s enough about the title of this blog.

In two recent message center posts Microsoft announced the rollout of webinars and view only attendees in Teams Meetings when the meeting exceeds 300 attendees (aka stretchy Meetings). Both are included at the end of this article for reference.

As they offer two solutions to larger meetings, I wanted to address how you can enable these for your users.

Both posts include guidance for admins on configuring the features using the meeting policy. At the time of writing this article the settings are not available in the meeting policy via Teams Admin Center but is available to set via PowerShell.

You should note that by default view-only attendee mode is disabled.  Webinars are on and though the documentation says default is Everyone can register but in my test tenants the default was to allow only people in your organisation to register.  So its worth checking.

For more info on the Set-CsTeamsMeetingPolicy cmdlet see Set-CsTeamsMeetingPolicy (SkypeForBusiness) | Microsoft Docs and for the Get-CSTeamsMeetingPolicy cmdlet see Get-CsTeamsMeetingPolicy (SkypeForBusiness) | Microsoft Docs

The limits as at 17th May is 1000 active participants in a meeting or webinar increasing to 20k with view only attendees enabled. This limit will drop back to 10k at the end of the year. For more details in limits see https://docs.microsoft.com/en-gb/microsoftteams/limits-specifications-teams#meetings-and-calls and View-only meeting experience – Microsoft Teams | Microsoft Docs

To check and change the settings

As both of these features are policy controlled you can configure different settings for each meeting policy. In the examples here I’ve shown managing both settings in the global policy.

To check/change other policies replace the word Global in these scripts with the name of the policy you want to change/look at.

Steps 6 to 10 give you options on the different settings, you should run the step(s) for the settings you wish to change from the default.  

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Import the Teams module into the open PowerShell window
    Import-Module MicrosoftTeams
  3. Log in to Microsoft Teams 
    Connect-MicrosoftTeams
  4. Confirm the features are available in your tenant by loading the current settings of the Global meeting policy and verifying that -StreamingAttendeeMode and -WhoCanRegister are available
    Get-CsTeamsMeetingPolicy -Identity Global
  5. Check the default settings for these two features.  You are looking for StreamingAttendeeMode for the view-only attendee options and AllowMeetingRegistration plus WhoCanRegister for the webinars.  You should also check the setting for AllowEngagementReport if you want to see attendee data from webinars.
  6. To allow view-only attendees when a meeting exceeds 300 attendees run
    Set-CsTeamsMeetingPolicy -Identity Global -StreamingAttendeeMode "Enabled"
  7. To disable view-only attendees and limit meetings to 300 active participants
    Set-CsTeamsMeetingPolicy -Identity Global -StreamingAttendeeMode "Disabled"
  8. To disable webinars
    Set-CsTeamsMeetingPolicy -Identity Global -AllowMeetingRegistration $False
  9. To enable webinars for internal attendees only
    Set-CsTeamsMeetingPolicy -Identity Global -AllowMeetingRegistration $True -WhoCanRegister "EveryoneInCompany" -AllowEngagementReport "Enabled"
  10. To enable webinars for external attendees
    Set-CsTeamsMeetingPolicy -Identity Global -AllowMeetingRegistration $True -WhoCanRegister "Everyone" -AllowEngagementReport "Enabled"
    You will also need to ensure AnonymousJoin is enabled to allow external users to join your webinars.  This is a tenant wide setting which applies to ALL meetings not just webinars and can be set from the Team Admin Center under Meeting Settings or with this script
    Set-CsTeamsMeetingConfiguration -DisableAnonymousJoin $false -Identity Global

Picture for each step

Step 1: Open PowerShell
Step 2: Import Teams Module
Step 3: Connect & Sign In
Step 3/4: Signed in Confirmation & running script to get current settings
Step 5: Check current setting on Global policy
Step 6: allow view only attendees
Step 7: Block view only attendees
Step 8: Disable Webinars
Step 9: Enable Webinars with Internal Only Attendees
Step 10 Part 1: Allow Webinars with External Attendees
Step 10 Part 2: Allow Anonymous Users to Connect to Meetings & Webinars

Message Center Posts

Microsoft Teams: webinars plus new meeting registration options

MC250958

Plan for change

Published date: April 16, 2021

Affected services

Microsoft Teams

Tag

MAJOR UPDATE

ADMIN IMPACT

NEW FEATURE

USER IMPACT

We are excited to announce the forthcoming availability of Teams webinar capabilities, beginning rollout at the end of April 2021, completing in May 2021.

Associated features that apply to webinars and meetings, include:

  • Registration page creation with email confirmation for registrants.
  • Reporting for registration and attendance.

These capabilities will be available to users with the following licenses: Office 365 or Microsoft 365 E3/E5/A3/A5/Business Standard/Business Premium. For the rest of 2021, we are offering temporary availability to Teams users to try the features with their existing commercial subscription.

Note: We will honor any existing meeting settings enabled within your organization. 

Key points

  • Microsoft 365 Roadmap ID 800996595266459, and 66586
  • Timing: end of April through end of May
  • Control type: user control / admin control / admin UI
  • Action: review and assess 

How this will affect your organization

When scheduling a meeting, your users will see the Webinar option on the Calendar drop down menu in Teams (desktop/web).

Additionally, users will be able to add registrations for meetings and webinars for people in your organization and outside of your organization.

The registration feature will be on by default For everyone. In order to view who attended the webinars, we recommended setting the “AllowEngagementReport” policy to true.

Note: We will honor any existing meeting policies enabled within your organization:

  • If allow scheduling private meetings is turned off, then users will not be able to schedule webinars.
  • When anonymous join is disabled for the tenant, users can schedule a public webinar but it will fail on join.
  • SharePoint lists are required in order to set up webinars. To set this up, learn more here: Control settings for Microsoft Lists

What you need to do to prepare

By default, all users within your tenant will be able to schedule webinars unless current policy configuration prohibits it.

Should you wish to restrict who who can host a webinar that requires registration for everyone, change the WhoCanRegister policy accessed in the Teams admin center.

  • You can disable this policy tenant-wide
  • You can enable this policy for specific users

You can manage the registration feature in the Teams admin center or with PowerShell commands. There are three options for admin management.

  • Turn off registration for the entire tenant
  • Turn off registration for external attendees, the For everyone option
  • Give select users the ability to create a registration page that supports external attendees. All other users would be able create a registration page for people inside the tenant.

These policies are managed via PowerShell.

You might want to notify your users about this new capability and update your training and documentation as appropriate. 

Teams meetings to support view-only attendees

MC250956

Stay informed

Published date: April 16, 2021

Affected services

Microsoft Teams

Tag

ADMIN IMPACT

NEW FEATURE

USER IMPACT

We originally communicated this in MC240169 (Feb ’21). Currently, Teams meetings are limited to 300 users. If someone tries to join a meeting after it reaches capacity, they are unable to do so. With this update, meeting organizers who are assigned an appropriate license will be able to host a Teams meeting that has overflow capacity.

Up to 20,000 view-only attendees may join a meeting from late February through the end of June in order to accommodate heightened remote work scenarios. After July 1, 2021 we will support only 10,000 view only attendees.

Note: This capability will be available to users with the following licenses: Office 365 or Microsoft 365 E3/E5/A3/A5/Business Standard/Business Premium. For the rest of 2021, we are offering temporary availability to Teams users to try the features with their existing commercial subscription.

This message is associated with Microsoft 365 Roadmap ID: 65952.

When this will happen

We have started to roll this out and expect to complete by end of April.

How this will affect your organization

When a tenant enables this overflow feature:

  • After a meeting reaches capacity (300 users), people will be able to join as view-only attendees, with the maximum number limited by the phase.
  • Organizers cannot remove view-only attendees from a meeting.
  • View-only attendees will not impact the normal interaction available for regular attendees (those who joined before the meeting reached capacity).
  • Once the view-only attendee limit is reached, no additional view-only attendees will be able to join.
  • View-only attendees will follow all lobby and security policy mechanisms.
  • View-only attendees will have limited access to meeting features. For example, view-only attendees will be able to listen to all audio and view a screen or window shared during the meeting. However, they will be unable to share audio or video, and they will be unable to see chat or other applications that are shared during the meeting.
  • Meeting organizers will not see view-only participants in attendee counts or reports; this feature does not support the e-discovery of data

What you need to do to prepare

This feature is OFF by default for your users.

You may use PowerShell to enable this feature for your entire tenant while you prepare to assign the licenses.

  • Set-CsTeamsMeetingPolicy -Identity Global -StreamingAttendeeMode Enabled

Note: The view-only attendance feature is provided using Teams streaming services.

Learn more

Out of Office Automatic Replies

With the release of Out of Office settings for Microsoft Teams, I wanted to share a how to, but did you know there are many options for setting your out of office or automatic replies in Office 365 and they each offer slightly different functionality?

So here are all of the ways you can now set your automatic replies for Office 365.

You can set your Out of Office from

  • Outlook on Mobile Devices
  • Outlook on PC or Mac
  • Outlook on the Web
  • Microsoft Teams on PC or Mac (not available in Team web or mobile)

Comparison

My personal favourite is Outlook on the web as it offers me the most control, but here are all the different ways and what they look like.  (Disclaimer: This article is written on 8th April 2021.  Microsoft 365 apps and services continuously develop, so by the time you read this article things may have changed.)

WHERE







TURN ON/OFFCUSTOMISE MESSAGEDIFFERENT MESSAGE FOR EXTERNAL SENDERSEXTERNAL RECIPEINT OPTIONSSET DATESADD OUT OF OFFICE CALENDAR EVENTDECLINE MEETING INVITESCANCEL EXISTING MEETINGS
Outlook MobileYYY     
Outlook PCYYYYY   
Outlook MacYYYYY   
Outlook WebYYYYYYYY
Teams PCYYYYY   
Teams MacYYYYY   
Teams Mobile        
Teams Web        

Best Practice

However you set your out of office message for best practice please:

  • Include the date of return (tomorrow or next week only helps, if we know when you set the reply)
  • Include an alternative contact in your absence, if appropriate, ideally a shared mailbox.
  • Be careful not to disclose sensitive information such as holiday location or colleagues mobile phone numbers, especially to external recipients
  • Include your email signature as you would when writing an email normally and be aware that most companies do not add the normal footer to outgoing automatic replies as they do to normal emails. 
  • If sending to ALL external senders be aware that your reply may go to junk and phishing email senders as well as legitimate senders. So keep signature to a minimum for replies to external senders when including all senders.

Here are some suggestions for you to consider.

Sample for Colleagues (Internal)

Thank you for your message, which has been received.  I will not be able to respond as normal, as I am on leave and will be taking a break from all work communications until I return on 10th May 2021.

If you need a response to your message before my return, please forward your message to holidaycover@email.com and copy me in to the message so I know you are not waiting for my response.  Your message has not been sent on automatically.

Kind Regards

Sara

Sample for External (Contacts Only)

The above message may also be used for contacts only as it is vague enough.  However you may wish to be more vague, depending on your role, such as:

Thank you for your message, which has been received.  I will not be able to respond as normal, as I am on leave and will return on 10th May 2021.

If you need a response to your message before my return, please forward your message to holidaycover@email.com and copy me in to the message so I know you are not waiting for my response.  Your message has not been sent on automatically.

Kind Regards

Sara

 

Sample for External (Everyone)

In this case I am assuming legitimate business contacts have a phone number, alternative contact name or access to a website ‘contact us’.  I do not want to give away additional contact details or names if the sender is not a legitimate business contact, and would send a generic message such as:

Thank you for your message, which has been received.  I will have limited access until 10th May 2021, at which time I will action your message.

If your message needs a response before then, please make contact with a colleague or ring my work phone which a colleague will answer.

Kind Regards

Sara

How to (with Screenshots)

Outlook Mobile on an Android phone

(Screen shots from a Surface Duo running Android 10)

Tap Home, then Settings cog at the bottom of the screen

Tap the account you wish to set out of office replies for then select Automatic Replies

Choose the desired settings and write the message(s) required, then tap the tick at the top of the screen to confirm.

Outlook Mobile on iOS

(Screen shots from a iPhone12 running iOS14.4.2)

Tap Home, then Settings cog at the bottom of the screen

Tap the account you wish to set out of office replies for then select Automatic Replies

Choose the desired settings and write the message(s) required, then tap the tick at the top of the screen to confirm.

Outlook on Windows

From the File menu choose the account you wish to set the out of office for if not the default one shown using the drop down at the top of the screen then Automatic Replies (Out of the Office)

Select the options required incl Date/Times if required.  Once set you can click OK to set.

On the Outside My Organization tab, you can switch on/off sending the message to external recipients and choose to send to only contacts or any external senders. 

Please note Anyone will include any mailing lists, newsletters etc so you may find that you receive replies about unmonitored email accounts or failed delivery for out of office replies with this option on.

Outlook on Mac

From the Tools menu choose Automatic Replies

Select the account and then the options required incl Date/Times if required.  Once set you can click OK to set.

When setting your replies you can switch on/off sending the message to external recipients and choose to send to only contacts or any external senders. 

Please note if you do not specify to send Only to my Contacts your reply will be sent to everyone including any mailing lists, newsletters etc so you may find that you receive replies about unmonitored email accounts or failed delivery for out of office replies with this option on.

Outlook on Web

Navigate to https://outlook.office.com/mail/inbox From the settings cog menu choose View all Outlook settings

The dialog box should open on Email settings tab, if not select Email then  Automatic Replies.  Configure the options required, filling in the message boxes as required then click Save.

When picking the setting to decline meeting invites and cancel meetings already in your calendar during the Out of Office period, you can choose to send your standard out of office reply or enter a custom message for just the cancelled meetings. 

It is recommended you add a message for declined meetings or include reference to that fact that meeting are being cancelled by the out of office reply function.  Otherwise the meeting organiser may not realise you have declined the invite and just think they got a standard out of office reply.

When setting your replies you can switch on/off sending the message to external recipients and choose to send to only contacts or any external senders. 

Please note if you do not specify to send to Only Contacts your reply will be sent to everyone including any mailing lists, newsletters etc so you may find that you receive replies about unmonitored email accounts or failed delivery for out of office replies with this option on.

Teams on PC

From the person menu choose Set status Message

Click the Schedule out of office message

Turn on automatic replies and choose appropriate settings including entering your message(s) then click Save.

As an alternative you can also access the out of office via the settings menu, under General

Teams on Mac

From the person menu choose Set status Message

Click the Schedule out of office message

Turn on automatic replies and choose appropriate settings including entering your message(s) then click Save.

As an alternative you can also access the out of office via the settings menu, under General

Some Observations on the Updated Account Switcher and Menu

The updated menu and account switcher updated functionality has landed in my Teams client as at 7th April 2021 (at least when its set to preview build) and I wanted to share a few observations with you.

First up, note the message highlighting the changes

The … Menu has settings in it and nice little zoom control.  Did you know you can also hold down CTRL key and use the wheel on your mouse to zoom in/out too?

My name and picture link to the organisation switcher.  It’s here you can also set your status message and presence

When you go to set your status message there is a new link to set up Out of Office from Teams.

In the main settings dialog, which you now access via … Menu there is a tab for accounts.

From here you can also turn on/off notifications as well as switch accounts .

Also new, under the App Settings tab you can control the access some app have to your camera, location, notifications etc as well as control what Teams generally has permission to use.  NDI has also moved to the App Permissions tab.

The final change I noticed is that Public Preview option has disappeared from the About  menu, but I’m sure this is one of those little glitches that show up when you are running preview software.

Get Started with Teams PowerShell

PowerShell is very powerful (no pun intended) but if you don’t know what you are doing it can be dangerous, making big changes to your environment without prompting for confirmation.  If you run ANY PowerShell scripts against your Office 365 tenant you alone are fully responsible for the actions undertaken, so please ensure you are fully confident in the source of your information.

I would recommend having a look at the Microsoft Learn module as a first step.  It should only take approx 1h to complete. Introduction to PowerShell – Learn | Microsoft Docs

Then review the guidance on managing Microsoft Teams using PowerShell from Microsoft Microsoft Teams PowerShell Overview – Microsoft Teams | Microsoft Docs

If you are looking at scripts for Microsoft Teams from a blog (like this one) I would recommend checking  them against MicrosoftTeamsPowerShell Module | Microsoft Docs.  This helps you learn more about the scripts but also lets you check the cmdlets (commands) you intend to use are still valid.

Finally, ALWAYS close your PowerShell Windows when you are not actively using them.  This closes the connection and logs you out, helping to keep your environment secure.

That said, here is how I would recommend setting up Teams PowerShell.  Note I do not use a variable for the credential as the official blog suggests but wait for the log in prompt instead.  In my opinion this works better with MFA.

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Install Teams Powershell by running this script (see Install Microsoft Teams PowerShell – Microsoft Teams | Microsoft Docs)
Install-Module -Name MicrosoftTeams
  1. Import the newly installed module into the open PowerShell window
Import-Module MicrosoftTeams
  1. Log in to Microsoft Teams 
Connect-MicrosoftTeams
  1. You are now ready to manage Teams using PowerShell

When you are installing PowerShell Modules, you will always be prompted to confirm download from the repository, as shown below.  You should only confirm one repository at a time using Y response.

Once set up you can then log in future by:

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Import the Teams module into the open PowerShell window
Import-Module MicrosoftTeams
  1. Log in to Microsoft Teams 
Connect-MicrosoftTeams

To Update Teams Powershell

  1. Open Powershell in Windows with Admin – right click on your start button and choose Windows PowerShell (Admin)
  2. Run the Update Script
Update-Module MicrosoftTeams
  1. Import the Teams module into the open PowerShell window
Import-Module MicrosoftTeams
  1. Log in to Microsoft Teams 
Connect-MicrosoftTeams

Capturing Screen Shots from a Teams Phone

It is possible to capture screen images from a Teams phone using a web browser page.   Please note you do need the phone admin login to use this.

Firstly you need to ensure that the device configuration permits screen capture.  To create and assign a device configuration profile, go to the Teams Admin Center and under Devices > IP phone choose Configuration profiles.

The setting you need to switch on is the Screen Capture setting

Once the config has been assigned you need the IP Address of the phone and put it into the link https://PhoneIP/screencapture

But how do you get the IP?  Well you can get it from the phone itself.  These screenshots are taken from Yealink TP55A.

Tap the profile picture on the home screen

Choose Settings

Select Device Settings

Choose About

Note the Device IP

Open your web browser and navigate to: https://PhoneIP/screencapture, replacing the words PhoneIP with the IP address of the phone.  You may need to use the advanced options to continue to the page, depending on your network configuration.

Sign in using the device Admin account.  The defaults are different by device and the password is controlled by the device configuration policy.  For my phone the username is admin (all lower case)

Once signed in use your preferred screen clipping tool to take screen shots from the web browser

To take my screenshots for this blog, I use an combination of the built in Windows snipping tool, ZoomIt https://docs.microsoft.com/en-us/sysinternals/downloads/zoomit and Snagit https://www.techsmith.com/screen-capture.html