As I am getting my hands on Unified Messaging, I have started loving the feature & want to quickly deploy it for the users but we have a bit different setup, so script needs tweaking..
We already have a Lync that uses SIP & now we are integrating Avaya with UM (not Lync) that also uses SIP
Thats why While enabling users for UM ,Exchange throws below error:
To fix it, we just enable the user by selecting Automatically-generated SIP resource identifier:
After account is enabled we go inside the Email Tab & Edit the EUM section, replace the email address inside it with
+number@domain.com (SIP generated by Avaya)
So In the script We have to cover this error as well :), logic has been placed to modify EUM.
Download it from below link :
https://gallery.technet.microsoft.com/scriptcenter/Bulk-Enable-Unified-7ef82387
update the UMenable.csv file with users (id,extension) & change the variables:
$extn = “123” + $extension
$asip = “+123” + $extension + “@” + “domain.com”
$pin = “123456”
$umpol = “Global Dial Plan Default Policy”
$eum = “EUM:$asip;phone-context=Global Dial Plan.domain.com”
Now run the script & it will enable all users in the csv , will show on screen success/failures as well as logs it inside the logs folder.
You can modify the script as per your requirements, as there can be differences in the setup.
########################################################### # Author: Vikas Sukhija (http://techwizard.cloud) # Date: 3/30/2016 # Reviewer: # Desc: Bulk Enable UM Mailboxes ########################################################### #--------For Log Files-------------- $date = get-date -format d $date = $date.ToString().Replace(“/”, “-”) $time = get-date -format t $time = $time.ToString().Replace(":", "-") $time = $time.ToString().Replace(" ", "") $logs = ".\Logs" + "\" + "UMEnable" + $date + "_" + $time + "_.log" ###################import modules########################### If ((Get-PSSnapin | where {$_.Name -match "Microsoft.Exchange.Management.PowerShell.E2010"}) -eq $null) { Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 } Start-Transcript -Path $logs $error.clear() ###########import CSV############################## $data = import-csv .\UMenable.csv foreach($i in $data) { $networkid = $i.Networkid $extension = $i.Extension $extn = "123" + $extension $asip = "+123" + $extension + "@" + "domain.com" $pin = "123456" $umpol = "Global Dial Plan Default Policy" $eum = "EUM:$asip;phone-context=Global Dial Plan.domain.com" $chkmbx = get-mailbox $networkid -ea silentlycontinue if($chkmbx){ $alias = $chkmbx.Alias Enable-ummailbox -id $alias -Pin $pin -PinExpired $True -ummailboxpolicy $umpol -extensions $extn For($i = 1; $i -le "5"; $i++){ sleep 1;Write-Progress -Activity "Enaling UM for $alias with ext $extn" -status "$i" -percentComplete ($i /10*100)} $chgeum = get-mailbox $alias $chgeum.EmailAddresses.Item(1) = $eum set-mailbox $alias -emailaddresses $chgeum.EmailAddresses if($error){ Write-host "Error on Enabling User $networkid for Unified messaging with $extn" -foregroundcolor yellow $error.clear()} else{ Write-host "Enabled User $networkid for Unified messaging with $extn" -foregroundcolor green} } else { Write-host "User $networkid doen'nt have a mailbox" -foregroundcolor Red } } stop-transcript ######################################################