public/cis/Test-MtCisCommunicateWithUnmanagedTeamsUsers.ps1
|
function Test-MtCisCommunicateWithUnmanagedTeamsUsers { <# .SYNOPSIS Ensure communication with unmanaged Teams users is disabled .DESCRIPTION Communication with unmanaged Teams users is disabled CIS Microsoft 365 Foundations Benchmark v6.0.1 .EXAMPLE Test-MtCisCommunicateWithUnmanagedTeamsUsers Returns true if communication with unmanaged Teams users is disabled .LINK https://maester.dev/docs/commands/Test-MtCisCommunicateWithUnmanagedTeamsUsers #> [CmdletBinding()] [OutputType([bool])] [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseSingularNouns', '', Justification = 'This test checks multiple users.')] param() if (-not (Test-MtConnection Teams)) { Add-MtTestResultDetail -SkippedBecause NotConnectedTeams return $null } Write-Verbose 'Test-MtCisCommunicateWithUnmanagedTeamsUsers: Checking if communication with unmanaged Teams users is disabled' try { $AllowTeamsConsumer = Get-CsTenantFederationConfiguration | Select-Object -ExpandProperty AllowTeamsConsumer if ($AllowTeamsConsumer -eq $false) { Add-MtTestResultDetail -Result 'Well done. Communication with unmanaged Teams users is disabled.' return $true } else { $ExternalAccessPolicy = Get-CsExternalAccessPolicy -Identity Global if ($ExternalAccessPolicy.EnableTeamsConsumerAccess -eq $false) { Add-MtTestResultDetail -Result 'Well done. Communication with unmanaged Teams users is disabled.' return $true } else { Add-MtTestResultDetail -Result 'Communication with unmanaged Teams users is enabled.' return $false } } } catch { Add-MtTestResultDetail -SkippedBecause Error -SkippedError $_ return $null } } |