Teams and O365 Meeting Recording - Challenge of the year

So I was given a challenge… Build MS365, Azure tenants and do all the usual syncs… get all the users A1 licensed (1 500 of them), enable exchange Hybrid, get teams calendars working etc.


Green tick on every task.


But.. a problem.. the client reports back “Boet, we still can’t record our teams meetings”


Simple enough I think… It is just a feature in the team’s admin centre! Find the global policy, enable “Allow cloud recording” in the policy, sign out teams with a test account, and check.




Fiddle with this for an hour or two, eventually consult doctor Google.

Read a few TechNet posts until one catches my eye… “DATA LOCATION” for services in O365 admin.


I see that teams is “South Africa” Data at rest. interesting.


But Teams uses Microsoft Stream.. so I check where its data location is:

It says European Union.

Instantly I know, this is going to take a while!

More googling.. “ How to change data locations… this and that and asking the same thing 100 different ways”..

NEWSFLASH! You can’t do it… not even Microsoft can.

So what now? Our client needs to record sensitive Meetings. (Government)

So I get onto MS technical support and a lovely lady calls me and asks we start running some PSISE commands – none of which make sense to me as I’ve used PS and GET OSL in the past, and with this lady we were not even importing any modules… so yes, there are no way the commands would have run.

After about half an hour, I finally got what she was trying to do (reading off technet) and it was this little switch in the teams policy she was hoping to change (although we would never have got there together, she simply didn’t have the PS knowledge)

Anyway… now armed with a basic Idea of what I had to do, I set out on my own.

Firstly, make sure you do this (very first) 

Create 2 CNAME Records in hosted DNS zones.

  1. Host Name: lyncdiscover
    Type: CNAME
  2. Host Name: sip
    Type: CNAME

Now, download and install: Skype for Business Online, Windows PowerShell Module

this also needs visual c++ 2017 redist

now launch elevated Powershell (administrator mode)

and start with:

Import-Module SkypeOnlineConnector

$userCredential = Get-Credential

$sfbSession = New-CsOnlineSession -Credential $userCredential

Import-PSSession $sfbSession

Put in O365 Admin account and let it import the module

Now type:


And you’re greeted with all your teams policies backend switches.

Now look under Global , Check the value of


If its false then run

Set-CsTeamsMeetingPolicy -AllowRecordingStorageOutsideRegion $true

This changes it to true, on the Global Policy.

Something additional I had to do was:

  • Create a new meeting policy in MS Teams admin centre (call it whatever) so it’s a custom policy,
  • Set all options to the same as the default “Global Policy)
  • Then , in the PS scripting above, change the  same AllowRecordingStorageOutsideRegion to “true” on the new custom policy, and then assign that meeting policy to users.
  • I called my policy “new all on” so the PS command for that was”
  • Set-CsTeamsMeetingPolicy “new all on” -AllowRecordingStorageOutsideRegion $true
  • Just change the highlighted part to whatever you named your policy.

Now get users to sign out of teams, and back in. and that’s it, Meeting recording is allowed.

Really Hope this helps someone out there.