functions/device/Add-PSCUCMPhone.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
function Add-PSCUCMPhone { <# .SYNOPSIS Adds a phone to CUCM. .DESCRIPTION Adds a phone of the appropriate parameters to CUCM. .PARAMETER Name Name of the phone. .PARAMETER Product Phone Model. .PARAMETER DevicePoolName Device Pool to place phone in. .PARAMETER Protocol Protocol for the phone. Typically SCCP or SIP. .PARAMETER Description Description for the phone. .PARAMETER EnableException Replaces user friendly yellow warnings with bloody red exceptions of doom! Use this if you want the function to throw terminating errors you want to catch. .PARAMETER WhatIf What If? .PARAMETER Confirm Confirm... .EXAMPLE Add-Phone -Name SEP00000000000 -Product 'Cisco 6941' -DevicePoolName 'DEFAULT-DP' -Protocol SCCP Adds a phone to CUCM. #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Low')] param ( [Parameter(Mandatory = $true)] [string] $Name, [Parameter(Mandatory = $true)] [Alias('Model')] [string] $Product, [Parameter(Mandatory=$true)] [string] $DevicePoolName, [Parameter(Mandatory = $true)] [string] $Protocol, [Parameter()] [string] $Description, [Parameter()] [switch] $EnableException ) <# <phone> <name>SEP000000000000</name> <description>Optional</description> <product>?</product> <class>?</class> <protocol>?</protocol> <protocolSide>User</protocolSide> <devicePoolName uuid="?">?</devicePoolName> </phone> #> $class = 'Phone' $CucmAxlSplat = @{ entity = 'addPhone' parameters = @{ phone = @{ name = $MacAddress product = $Product class = $class protocol = $Protocol protocolSide = $protocolSide devicePoolName = $devicePoolName commonPhoneConfigName = $commonPhoneConfigName locationName = $locationName useTrustedRelayPoint = $useTrustedRelayPoint phoneTemplateName = $Template primaryPhoneName = $primaryPhoneName deviceMobilityMode = $deviceMobilityMode certificateOperation = $certificateOperation packetCaptureMode = $packetCaptureMode builtInBridgeStatus = $builtInBridgeStatus description = $Description } } EnableException = $EnableException } Invoke-PSCUCMAxlQuery @CucmAxlSplat } |