Synchronise Skype for Business Normalization Rules in a Site scoped “Dial Plan” to a User scoped “Dial Plan” using Powershell
Hi Everyone
Today I needed to help a customer synchronise Dial Plan normalization rules from a Site Dial Plan to a User Dial Plan. It was something I hadn't done before so I needed to do a bit of digging into possible Powershell commands that could do the job. The customer had quite a few normalization rules (which probably need to be rationalised *mental note*) and so we didn't want to move the rules by hand.
I created a blank Dial Plan (user scoped Dial Plan) and then populated the Normalization Rules using the below Powershell commands.
I also tested the commands between a User targeted Dial Plan and another User targeted dial plan. The syntax largely worked but need some minor tweaks (included as the 2nd example).
Anyway, I thought I'd share the sample Powershell in case anyone else wanted to do something similar. As always *PLEASE TEST IN TEST ENVIRONMENT BEFORE USING*!.
Enjoy!
Happy Skype'ing
Steve
PS sorry about the quotes appearing in the blog with left and right double quotes, you'll need to use the normal quotes in Powershell.
$strSourceDialPlan="Site:Canberra" $strTargetDialPlan="Test Dial Plan"
Get-CsDialPlan -Identity $strSourceDialPlan | Select -ExpandProperty NormalizationRules | Select Name ` | %{$strName =$_.name; $strPolicy = "$strSourceDialPlan /$strName" ; write-host $strPolicy; ` $objPolicy=Get-CsVoiceNormalizationRule $strPolicy; Set-CsDialPlan -identity $strTargetDialPlan -NormalizationRules @{add = $objPolicy}} |
If you would like to synchronise from a user scoped dial plan to another user scoped dial plan then use these commands.
$strSourceDialPlan = "Sydney Users" $strTargetDialPlan = "Test Dial Plan" Get-CsDialPlan -Identity $strSourceDialPlan | Select -ExpandProperty NormalizationRules | Select Name ` | %{$strName =$_.name; $strPolicy = "Tag:$strSourceDialPlan/$strName" ; write-host $strPolicy; ` $objPolicy=Get-CsVoiceNormalizationRule $strPolicy; Set-CsDialPlan -identity $strTargetDialPlan -NormalizationRules @{add = $objPolicy}} |