Hi there

today I’m talking about Microsoft Teams Locations and demonstrating how to use powershell script to populate subnets and trusted public ips.

Microsoft Teams Locations are dividing into:

  • Reporting Labels: Reporting labels are used to give an IP subnet a name that links it to a physical location such as offices, buildings, or organizational sites within your organization. They are used by Call Analytics to make it easier to see a name of a place instead of just an IP subnet in reports. Use the same information from Emergency Addresses and Network Topology to create its CSV.
  • Emergency Addresses: Emergency address is a civic address which is a physical street address of a place of business for your organization. An emergency location is a civic address with an optional place
  • Network topology: You can use network topology to define the network regions, sites, and subnets that are used to determine the emergency call routing and calling policies that are to be used for a given location
  • Networks and locations: Each subnet must be associated with a specific network site. A client’s location is determined based on the network subnet and the associated network site. You can associate multiple subnets with the same network site but you can’t associate multiple sites with the same subnet

The scripts will cover Network Topology subnets within network sites and trusted IPs

To complete this task for a project I created all Emergency Addresses at https://admin.teams.microsoft.com/locations beforehand using the design documentation we validated with client. Than we added / created all Network Sites at https://admin.teams.microsoft.com/tenantnetworksite as well.

You might find surprises when you add the Emergency Addresses due to Postal Code issue or address issue when Bing tries to resolve it. In order to solve this – add / edit address manually.

After we used powershell with CSV files to add all subnets and trusted ips to each identity.

Network subnet PowerShell
download subnet2.csv file exampe

Import-CSV subnet2.csv | foreach {
New-CsTenantNetworkSubnet –SubnetID $_.Identity -MaskBits $_.Mask -NetworkSiteID $_.SiteID
}

 

Trusted public ips PowerShell script

download trustedips.csv file

Import-CSV .\trustedips.csv | foreach {
New-CsTenantTrustedIPAddress -IPAddress $_.Identity -MaskBits $_.Mask
}

 

References

https://docs.microsoft.com/en-US/microsoftteams/learn-more-about-site-upload?WT.mc_id=TeamsAdminCenterCSH

https://docs.microsoft.com/en-us/microsoftteams/manage-your-network-topology

Check my Github repository

Thanks,

Thiago Beier
TwitterLinkedInFacebookRSS