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