SNOM Phone Mass Reset VIA HTTP Post

SNOM Phone Mass Reset VIA HTTP Post

1. Create a .ps1 file using the script below

2. Create a CSV file where cells in column A each contain the IP addresses of Snom phones on your network(ex. A1=192.168.1.50, A2=192.168.1.51,...). It shouldn't cause any issues if you include IPs that aren’t snom phones, the script will just run a bit slowly. 

3. Update the script pathing to point to your CSV file

4. Reprovision phones to all use the same web page password. Current password in script: pG8nw6tcGNDS

5. Run the script in PowerShell. Ex. "C:\Users\Documents\SnomReset\TestSnom.ps1" -Update with the path to your .ps1 file



# Phone reset


$sites = Get-Content -Path 'C:\Users\chris\Documents\SnomReset\sites.csv' #Update with the path to your CSV IP file

$httpClient = New-Object -ComObject Msxml2.XMLHTTP

$jobList = @()


ForEach ($Site in $sites) {

    $job = Start-Job -ScriptBlock {

        param($Url, $Parameters)

        

        $httpClient = New-Object -ComObject Msxml2.XMLHTTP

        $httpClient.open('POST', $Url, $false)

        $httpClient.setRequestHeader("Content-type", "application/x-www-form-urlencoded")

        $httpClient.setRequestHeader("Content-length", $Parameters.Length)

        $httpClient.setRequestHeader("Connection", "close")

        $httpClient.send($Parameters)

        

        Start-Sleep -Seconds 1

        

        $httpClient.statusText

    } -ArgumentList ("http://admin:pG8nw6tcGNDS@$Site/advanced_update.htm", "update_policy=settings_only&settings_refresh_timer=0&subscribe_config=off&pnp_config=on&CONFIRM_RESET=Reset")

    

    $jobList += $job

}


Wait-Job -Job $jobList | Out-Null


ForEach ($job in $jobList) {

    $job | Receive-Job | Out-Null

    $job | Remove-Job | Out-Null

}


ForEach ($Site in $sites) {

    $job = Start-Job -ScriptBlock {

        param($Url, $Parameters)

        

        $httpClient = New-Object -ComObject Msxml2.XMLHTTP

        $httpClient.open('POST', $Url, $false)

        $httpClient.setRequestHeader("Content-type", "application/x-www-form-urlencoded")

        $httpClient.setRequestHeader("Content-length", $Parameters.Length)

        $httpClient.setRequestHeader("Connection", "close")

        $httpClient.send($Parameters)

        

        Start-Sleep -Seconds 1

        

        $httpClient.statusText

    } -ArgumentList ("http://admin:pG8nw6tcGNDS@$Site/confirm.htm", "RESET=Yes")

    

    $jobList += $job

}


Wait-Job -Job $jobList | Out-Null


ForEach ($job in $jobList) {

    $job | Receive-Job | Out-Null

    $job | Remove-Job | Out-Null

}


ForEach ($Site in $sites) {

    Write-Host "Phone Reset Initiated for IP: $Site"

}


    • Related Articles

    • Purchasing a DID on the Telin One.Console

      Purchasing and provisioning a DID on the Telin One.Console is designed to be an easy, and user friendly process with features such as search functionality by a number of criteria and provisioning ability all in one place! Below is a step-by-step ...
    • Verify a Caller ID on the Telin One.Console

      A verified caller ID allows you to use a number that is not currently with Telin’s SIP trunking service as an outbound caller ID. The use-case for this is generally if you want to use numbers that are going to be/in the process of porting over to ...
    • Purchasing a SIP Trunk on the Telin One.Console

      Purchasing a SIP trunk on the Telin One Console is a straightforward process where you can have your client set up and ready to make calls within minutes! In this guide, you’ll be taken through each step of getting your trunk initially configured. ...
    • SMS configuration with Telin & 3CX

      On 3CX 1. Navigate to SIP Trunks→Add SIP Trunk 2. Select “Worldwide” for country 3. Select the “Twilio” trunk template 4. Input a Main Trunk Number 5. Input your “Registrar/Server/Gateway Hostname or IP” matching what your current Telin trunk has or ...
    • Purchasing a License on the Telin One.Console

      Purchasing a license on the One.Console is a very simple process. All you need is a credit card as well as your partner ID on file with Telin. 1. Navigate to 3CX and the subsection Buy License. 2. Enter the Type of key: Annual or Perpetual 3. Enter ...