"Peut-on savoir si des externes ont accès aux sites Teams ? Et si oui lesquels ?" est une question qui revient souvent quand on parle droits d'accès et O365.
Pour le savoir rien de plus simple, Powershell et de la patience.
#Connect-MicrosoftTeams
Connect-MicrosoftTeams
# Define Variables
$ArrayTeamsMembers = @()
$AllTeams = Get-Team
$AllTeams | foreach {
$GroupId = $_.GroupId
$DisplayName = $_.DisplayName
$Visibility = $_.Visibility
$Archived = $_.Archived
$MailNickName = $_.MailNickName
$Description = $_.Description
# Search External members
$Members = Get-TeamUser -GroupId $GroupId
$External = $Members.where({$_.Role -eq "Guest"})
If ($External.count -ne 0) {
Write-Host "External User(s) are present in $DisplayName" -ForegroundColor Green
$External.count
$External | foreach {
$UserId = $_.UserId
$User = $_.User
$ArrayTeamsMembers += New-Object psobject -Property @{
GroupId = $GroupId
DisplayName = $DisplayName
Visibility = $Visibility
Archived = $Archived
MailNickName = $MailNickName
Description = $Description
UserId = $UserId
User = $User
}
$UserId = $null
$User = $null
}
}
$GroupId = $null
$DisplayName = $null
$Visibility = $null
$Archived = $null
$MailNickName = $null
$Description = $null
$Members = $null
$External = $null
}
$ArrayTeamsMembers | Export-Csv c:\temp\ExternalTeamsMembers.csv -Encoding UTF8 -Delimiter ";" -NoTypeInformation
Avez vous déjà essayé d'exporter les numéros de Téléphone Teams depuis le portail d'administration ? Je vous en prie faites l'essai... Frustrant non ?
Voici comment exporter les numéros Teams dans un fichier CSV via Powershell
# Variables Definition
$Array = @()
$Csv = "C:\temp\TeamsNumbers.csv"
# Skype Online Connection
Import-Module SkypeOnlineConnector
$sessionCS = New-CsOnlineSession -OverrideAdminDomain assystem.com
Import-PSSession $sessionCS
# Azure AD Connection
Connect-AzureAD
# Collect All Voice User
$AllVoiceUsers = Get-CsOnlineVoiceUser
# Collect Data and store them in array
$AllVoiceUsers | foreach {
$Name = $_.Name
$Id = $_.Id
$SipDomain = $_.SipDomain
$Number = $_.Number
$LicenseState = $_.LicenseState
$UsageLocation = $_.UsageLocation
$EnterpriseVoiceEnabled = $_.EnterpriseVoiceEnabled
$CurrentUser = Get-AzureADUser -ObjectId $Id
$Mail = $CurrentUser.Mail
$Upn = $CurrentUser.UserPrincipalName
$Array += New-Object psobject -Property @{
Name = $Name
Id = $Id
SipDomain = $SipDomain
Number = $Number
LicenseState = $LicenseState
UsageLocation = $UsageLocation
EnterpriseVoiceEnabled = $EnterpriseVoiceEnabled
Mail = $Mail
Upn = $Upn
}
$Name = $null
$Id = $null
$SipDomain = $null
$Number = $null
$LicenseState = $null
$UsageLocation = $null
$EnterpriseVoiceEnabled = $null
$CurrentUser = $null
$Mail = $null
$Upn = $null
}
# Export Data
$Array | Export-Csv $Csv -Delimiter ";" -Encoding UTF8 -NoTypeInformation