Directory role for the app: Teams Administrator (Global Reader may be enough for the Get-Cs cmdlets)
Organization.Read.All
— application permissions, granted to the app registration with admin consent.
Licence: The MicrosoftTeams PowerShell module must be installed on the web server (Install-Module MicrosoftTeams).
Endpoints:
Connect-MicrosoftTeams (certificate) · Get-CsTenantFederationConfiguration · Get-CsTeamsMeetingConfiguration · Get-CsTeamsMeetingPolicy -Identity Global · Get-CsTeamsClientConfiguration
Only the Global policies are read - users assigned a different external access or meeting policy can be more or less restricted. The MicrosoftTeams module runs in the same PowerShell runspace as PnP and Microsoft Graph PowerShell.
If a permission is missing, this report shows a red load error with the Graph status code — not an empty table.
Teams External Access & Federation
Can anyone in any Microsoft 365 organisation - or any personal Teams account - start a chat with your users? That open door is how Teams phishing and fake help-desk calls reach people. This checks external access, personal accounts, trial tenants and who walks straight into meetings.