Todo.txt
enable-newteamsuser
check license is assigned Create a Tenant Dial Plan, Normalization Rules, Voice Policy, PSTN Usage and Route $localdialstring = '+44' + $localstd + '$1' $local = New-CsVoiceNormalizationRule -Name 'Local' -Parent Global -Pattern '^([1-9]\d{6})$' -Translation $localdialstring -InMemory $national = New-CsVoiceNormalizationRule -Name 'National' -Parent Global -Pattern '^0([1-8]\d{9})$' -Translation '+44$1' -InMemory $international = New-CsVoiceNormalizationRule -Name 'International' -Parent Global -Pattern '^00([1-7]\d{*})$' -Translation '+$1' -InMemory $premium = New-CsVoiceNormalizationRule -Name 'Premium' -Parent Global -Pattern '^0([9]\d{*})$' -Translation '+44$1' -InMemory New-CsTenantDialPlan -Identity $tenantdialplan -NormalizationRules @{Add=$premium,$international,$national,$local} bulk enable user voice/voicemail, assign number, assign voice routing policy via CSV import $FilePath = "C:\Teams" $csvImport = Import-Csv $FilePath\users.csv foreach ($item in $csvImport){ $username = $item.username $ddi = "+44" + $item.ddi Write-Output "Enabling $username" $teamsuser = Get-CsOnlineUser -Identity $username Set-CsUser -Identity $teamsuser.id -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI tel:$ddi Grant-CsOnlineVoiceRoutingPolicy -Identity $teamsuser.id -PolicyName $onlinevoiceroutingpolicy Grant-CsTenantDialPlan -Identity $teamsuser.id -PolicyName $tenantdialplan Grant-CsTeamsCallingPolicy -Identity $teamsuser.id -PolicyName AllowCalling Write-Output "---------------------------------------------------------------------" } Service setup create a user and assign Phone system virtual user license Auto-Attendant ID - ce933385-9390-45d1-9512-c8d228074e07 Call Queue ID - 11cd3e2e-fccb-42ad-ad00-878b93575e07 $aauid = "ce933385-9390-45d1-9512-c8d228074e07" $cqid = "11cd3e2e-fccb-42ad-ad00-878b93575e07" $resourceupn = "dukkaboardqueue@trimlinegroup.com" Set the account location Set-MsolUser -UserPrincipalName $resourceupn -UsageLocation UK Assign a license Use this to get your licence type/s Get-MsolAccountSku EXAMPLE Set-MsolUserLicense -UserPrincipalName $ -AddLicenses "reseller-account:ENTERPRISEPREMIUM" Dial Plan New-CsTenantDialPlan Grant-CsTenantDialPlan Set-CsTenantDialPlan -Identity Global Get-CsEffectiveTenantDialPlan (Get-CsDialPlan Tag:{tag}).NormalizationRules Troubleshooting and verification $teamsuser = Get-CsOnlineUser -Identity "charlotte.stevenson@trimlinegroup.com" $teamsuser.Id check user is homed online Get-CsOnlineUser -Identity $teamsuser.id | fl RegistrarPool, OnPremLineURI $teamsuser.OnPremLineURI $teamsuser.EnterpriseVoiceEnabled $teamsuser.HostedVoiceMail $teamsuser.HostedVoicemailPolicy $teamsuser.VoicePolicy $teamsuser.HostingProvider $teamsuser.HostedVoicemailPolicy $teamsuser.RegistrarPool $teamsuser.VoiceRoutingPolicy |