How to Configure Teams Meeting Copilot Policies in PowerShell Using CsTeamsMeetingPolicy

Artificial intelligence capabilities provided by Microsoft 365 Copilot in Microsoft Teams allow meeting attendees to catch up on missed discussions, generate structured action items, query conversation context, and summarise complex debates in real time. However, in heavily regulated sectors, healthcare environments, legal proceedings, and public sector organizations, generative AI processing of spoken conversations introduces substantial compliance, governance, and data retention considerations. Some organizations permit Copilot only when a persistent written transcript is recorded for audit purposes, while others require Copilot to operate strictly transiently in memory without generating persistent meeting transcripts. Using the Microsoft Teams PowerShell module, administrators can configure the Copilot parameter within CsTeamsMeetingPolicy to enforce precise organizational controls.

Understanding Meeting Copilot Governance Modes

In Microsoft Teams meeting policies, the Copilot attribute governs how generative AI assistance interacts with meeting audio streams and transcription data. Under CsTeamsMeetingPolicy, the Copilot setting accepts three distinct operational values:

  • Enabled: Copilot is available during the meeting. Meeting organizers can choose whether Copilot operates with or without saving a persistent transcript. When set to operate without transcription, audio data is processed transiently in memory to answer attendee prompts and is discarded immediately after the meeting concludes, leaving no retained written transcript.
  • EnabledWithTranscriptOnly: Copilot is strictly contingent upon persistent meeting transcription. Organizers and attendees can only invoke Copilot if standard transcription (or cloud recording with transcription) has been explicitly started. If transcription is halted, Copilot ceases answering queries. This mode ensures a permanent audit trail exists for any discussion processed by AI.
  • Disabled: Copilot is completely deactivated for meetings scheduled by organizers assigned this policy, preventing any generative AI processing of spoken meeting content.

By tailoring these settings across custom meeting policies, administrators can grant full AI flexibility to product and sales teams while enforcing strict transcript-only or disabled policies for legal, HR, and compliance personnel.

Connecting to the Microsoft Teams PowerShell Module

To inspect and update meeting policies, launch an elevated PowerShell session and import the MicrosoftTeams module. Authenticate using an administrative account assigned the Teams Administrator or Global Administrator role:

Import-Module MicrosoftTeams
Connect-MicrosoftTeams

Verify that your session is actively connected and inspect your tenant details:

Get-CsTenant | Select-Object DisplayName, TenantId

Auditing Existing Meeting Copilot Settings

Before implementing modifications, audit the current Copilot configuration across your tenant’s default Global (Org-wide) meeting policy:

Get-CsTeamsMeetingPolicy -Identity Global | Select-Object Identity, Copilot, AllowTranscription, AllowCloudRecording

To view the Copilot configuration across all defined custom meeting policies in the tenant, run:

Get-CsTeamsMeetingPolicy | Select-Object Identity, Description, Copilot, AllowTranscription | Format-Table -AutoSize

Reviewing the table identifies whether any legacy policies have left Copilot disabled or unmanaged following license assignments.

Enforcing Transcript-Only Copilot via the Global Policy

For organizations prioritizing strict regulatory compliance and auditability, requiring that Copilot only operate when a persistent transcript is generated ensures that all AI-referenced conversations are documented in Microsoft Purview compliance searches.

To enforce transcript-only Copilot across the tenant, update the Global policy:

Set-CsTeamsMeetingPolicy -Identity Global -Copilot EnabledWithTranscriptOnly -AllowTranscription $true

Confirm that the policy update took effect:

Get-CsTeamsMeetingPolicy -Identity Global | Select-Object Identity, Copilot, AllowTranscription

Under this setting, meeting organizers will observe that the meeting option “Allow Copilot” is locked to “Only during the meeting with transcription”, preventing transient, unlogged AI processing.

Creating Scoped Policies for Sensitive and Executive Roles

To accommodate diverse business needs, administrators can maintain distinct policies for departments with differing risk profiles. For example, to create a policy for executive leadership that completely disables Copilot during their internal consultations:

New-CsTeamsMeetingPolicy -Identity "ExecutiveRestrictedAIPolicy" `
    -Description "Prohibits generative AI processing and Copilot in sensitive executive meetings" `
    -Copilot Disabled

Conversely, to create an agile policy for research and engineering teams allowing transient Copilot without saving transcripts:

New-CsTeamsMeetingPolicy -Identity "EngineeringAgileAIPolicy" `
    -Description "Permits transient Copilot without requiring persistent meeting transcripts" `
    -Copilot Enabled `
    -AllowTranscription $true

Assigning Copilot Meeting Policies to Users and Groups

To assign a custom Copilot meeting policy to an individual user, execute Grant-CsTeamsMeetingPolicy:

Grant-CsTeamsMeetingPolicy -Identity "[email protected]" -PolicyName "ExecutiveRestrictedAIPolicy"

To assign the policy dynamically across an entire organizational department using Microsoft Entra ID (Azure AD) security groups, use group policy assignments:

$Group = Get-AzureADGroup -SearchString "Executive Leadership Team"
New-CsGroupPolicyAssignment -GroupId $Group.ObjectId `
    -PolicyType TeamsMeetingPolicy `
    -PolicyName "ExecutiveRestrictedAIPolicy" `
    -Rank 1

Group policy assignment ranks determine precedence when a user belongs to multiple overlapping security groups.

Verifying User Policy Propagation and Meeting Behaviour

To confirm that a specific user has inherited the correct policy and effective settings, query their user policy assignment:

Get-CsUserPolicyAssignment -Identity "[email protected]" -PolicyType TeamsMeetingPolicy

Keep in mind that Teams meeting policy changes typically require between 15 minutes and several hours to replicate fully across Teams cloud services. When an organizer subject to EnabledWithTranscriptOnly schedules a meeting, attendees will notice that clicking the Copilot icon in the Teams toolbar prompts: “To use Copilot, start transcription.” Once transcription is initiated, Copilot activates immediately, guaranteeing audit compliance and seamless AI productivity.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.