In modern enterprise organizations, educational institutions, and corporate event management workflows, Microsoft Teams meetings host both standard internal meetings and large-scale external webinars. When organizing structured presentations—such as investor summits, customer training sessions, or partner workshops—meeting organizers frequently require attendees to register in advance via a custom web landing page. Through meeting registration, organizers capture attendee names, email addresses, and custom survey questions, while collecting structured registration rosters before the session begins. However, because public registration forms expose enterprise meeting infrastructure to external participants, IT administrators must govern who within the organization is permitted to mandate registration and which audience tiers can register. By utilizing the Microsoft Teams PowerShell module with the Set-CsTeamsMeetingPolicy cmdlet, administrators configure and enforce granular meeting registration policies at tenant scale.
Understanding Teams Meeting Registration Policy Attributes
In Microsoft Teams administrative governance, meeting registration capabilities are controlled by two primary attributes within the CsTeamsMeetingPolicy framework:
- MeetingRegistration: Dictates whether users assigned the policy have permission to create meetings requiring registration. When set to
Enabled, organizers see the “Require registration” dropdown when scheduling meetings in Outlook or the Teams client. When set toDisabled, the registration option is suppressed. - WhoCanRegister: Defines the scope of attendees permitted to register for meetings created by assigned organizers:
Everyone:Both internal tenant users and external public attendees (including anonymous guests) can access the registration portal and sign up for the meeting.InOrganization:Only authenticated members within your Microsoft 365 tenant (internal staff) can complete the registration form and join the meeting. External public users are blocked from registering.
Connecting to the Microsoft Teams PowerShell Module
Before modifying meeting policies, ensure that the latest Microsoft Teams PowerShell module (version 5.0 or later) is installed on your management system. Open Windows PowerShell or PowerShell 7 as an Administrator and connect to your tenant:
Connect-MicrosoftTeams
Sign in using an account assigned Global Administrator or Teams Administrator administrative roles. Confirm your active tenant session:
Get-CsTenant | Select-Object DisplayName, TenantId
Auditing Existing Meeting Registration Policies
To view the current meeting registration configuration across all meeting policies in your tenant, execute Get-CsTeamsMeetingPolicy:
Get-CsTeamsMeetingPolicy | Select-Object Identity, Description, MeetingRegistration, WhoCanRegister
To inspect the settings applied by the Global (Org-wide default) policy, query it directly:
Get-CsTeamsMeetingPolicy -Identity Global | Format-List Identity, MeetingRegistration, WhoCanRegister
By default, standard Microsoft 365 tenants report MeetingRegistration : Enabled and WhoCanRegister : Everyone.
Restricting Registration Exclusively to Internal Organization Members
If corporate data governance or compliance mandates prohibit standard staff from hosting public registration portals on behalf of the company, you can restrict registration to internal users only across the Global policy:
Set-CsTeamsMeetingPolicy -Identity Global -WhoCanRegister "InOrganization"
With this setting applied, when general employees create a meeting requiring registration, only colleagues authenticated to your Azure AD/Entra ID tenant can register.
Creating a Custom Policy for Public Marketing and Webinar Teams
In most enterprises, specialized departments (such as Corporate Marketing, Investor Relations, or External Training) require full permission to host public webinars open to external attendees, while general staff should remain restricted.
Use the New-CsTeamsMeetingPolicy cmdlet to create a dedicated public webinar policy:
New-CsTeamsMeetingPolicy -Identity "Marketing-PublicWebinars" `
-MeetingRegistration "Enabled" `
-WhoCanRegister "Everyone" `
-Description "Grants permission to host public webinars and meetings requiring external public registration."
Conversely, to create an explicitly restricted policy for high-security departments that prevents meeting registration entirely:
New-CsTeamsMeetingPolicy -Identity "Internal-NoRegistration" `
-MeetingRegistration "Disabled" `
-Description "Prohibits meeting registration capabilities entirely."
Modifying Existing Custom Policy Instances
If enterprise governance evolves, you can update existing custom policies using Set-CsTeamsMeetingPolicy:
Set-CsTeamsMeetingPolicy -Identity "Marketing-PublicWebinars" -WhoCanRegister "Everyone"
Assigning Policies to Target Users and Security Groups
After defining meeting policies, assign them to target users using the Grant-CsTeamsMeetingPolicy cmdlet.
To assign the public webinar policy directly to an individual marketing organizer by User Principal Name (UPN):
Grant-CsTeamsMeetingPolicy -Identity "[email protected]" -PolicyName "Marketing-PublicWebinars"
To remove a direct policy assignment and return the user to the Global organizational default:
Grant-CsTeamsMeetingPolicy -Identity "[email protected]" -PolicyName $null
To assign policies at scale based on Microsoft 365 Security Group membership:
New-CsGroupPolicyAssignment -GroupId "f6a7b8c9-d0e1-2345-fabc-4567890123de" `
-PolicyType TeamsMeetingPolicy `
-PolicyName "Marketing-PublicWebinars" `
-Rank 1
Verifying Effective User Policy Assignments
To confirm that the meeting registration policy has applied to a specific user account, query the user policy assignment table:
Get-CsUserPolicyAssignment -Identity "[email protected]" -PolicyType TeamsMeetingPolicy
The command returns the active policy identity and assignment type. Policy modifications propagate across Microsoft Teams client interfaces within 15 to 30 minutes, after which newly scheduled meetings will enforce the designated registration and audience restrictions.