42 lines
1.7 KiB
PowerShell
42 lines
1.7 KiB
PowerShell
# Update Microsoft audio conferencing for a list of users
|
|
#
|
|
# Expects a CSV file with two columns, one containing the UserPrincipalName and the other containing the ServiceNumber.
|
|
#
|
|
# A list of dedicated conference numbers can be retrieved with:
|
|
# (Get-CsOnlineDialInConferencingBridge -Name 'Conference Bridge').ServiceNumbers | Where-Object {$_.IsShared -eq $false}
|
|
#
|
|
# If the service number entry for a user in the CSV file is blank then the default will be used.
|
|
#
|
|
|
|
# Where is the list of users?
|
|
$userListPath = 'C:\Temp\UsersToUpdate.csv'
|
|
|
|
# Load the Skype Online Connector module and connect
|
|
Import-Module SkypeOnlineConnector
|
|
$sfbSession = New-CsOnlineSession
|
|
Import-PSSession -Session $sfbSession
|
|
|
|
# Get list of users from file
|
|
$users = Import-Csv -Path $userListPath
|
|
|
|
# Get the conference bridge details
|
|
$conferenceBridge = Get-CsOnlineDialInConferencingBridge -Name 'Conference Bridge'
|
|
|
|
# Enable conferencing for everyone on that list who doesn't already have it enabled
|
|
foreach ($user in $users) {
|
|
if (($user.ServiceNumber).Length -gt 0) {
|
|
$serviceNumber = $conferenceBridge.ServiceNumbers | Where-Object {$_.Number -eq $user.ServiceNumber}
|
|
}
|
|
else {
|
|
$serviceNumber = $conferenceBridge.DefaultServiceNumber
|
|
}
|
|
$currentTollNumber = (Get-CsOnlineDialInConferencingUserInfo -Identity $user.UserPrincipalName).DefaultTollNumber
|
|
if ($currentTollNumber -ne $user.ServiceNumber) {
|
|
Set-CsOnlineDialInConferencingUser -Identity $user.UserPrincipalName -ServiceNumber $serviceNumber.Number -SendEmail
|
|
Write-Output -InputObject ('Audio conferencing updated for ' + $user.UserPrincipalName + ' with number ' + $serviceNumber.Number + '.')
|
|
}
|
|
}
|
|
|
|
# Disconnect
|
|
Remove-PSSession -Session $sfbSession
|