How to Mass Factory Reset Snom Phones with PowerShell | TELIN

How to Mass Factory Reset Snom Phones Using PowerShell

If you need to reset multiple Snom desk phones on the same network, PowerShell can be used to send HTTP requests to supported phones and initiate a factory reset in bulk.

This method is intended for authorized administrators managing Snom phones on a trusted local network.

Warning: A factory reset removes the phone's current configuration and customized settings. Make sure the phones can be reprovisioned before proceeding.

What Does This Snom Mass Reset Script Do?

The PowerShell script reads a list of Snom phone IP addresses from a CSV file and sends the required HTTP requests to each phone's local web interface.

This can be useful when:

  • Migrating phones to a new PBX
  • Preparing phones for reprovisioning
  • Reconfiguring multiple phones at one location
  • Removing an existing phone configuration
  • Resetting a group of Snom devices without manually accessing each phone

Supported Snom Phones

This procedure is intended primarily for Snom D3xx and D7xx desk phones that support the traditional Snom web interface and remote HTTP commands.

Snom's current documentation identifies HTTP remote-control functionality for the D3xx and D7xx series.

Snom D8xx Phones

Do not assume that this script will work with Snom D8xx phones.

The D8xx series uses a newer web interface and Snom's current documentation states that the HTTP-control method used by D3xx and D7xx phones is not supported on D8xx devices.

Always test the procedure on one phone of the same model and firmware version before attempting a bulk reset.

Before You Begin

Confirm the following before running the script:

  • You are authorized to reset the phones.
  • The computer running PowerShell can reach the phones over the local network.
  • You know the web administrator credentials for the phones.
  • The Snom web interface is accessible.
  • The phones can be reprovisioned after the reset.
  • You have confirmed the IP addresses of the Snom phones you intend to reset.
  • You have tested the process successfully on one phone.

Important: Do not include unrelated or unknown network devices in the IP list. The script should target only Snom phones that you are authorized to manage.

Check Your Provisioning Configuration First

After a factory reset, a phone may automatically retrieve a new configuration if it is still associated with:

  • A PBX provisioning system
  • DHCP provisioning options
  • A Snom provisioning server
  • Snom SRAPS
  • Another configured provisioning service

If you are resetting the phones as part of a migration, verify the provisioning environment first.

Otherwise, the phone may reset successfully and then automatically retrieve the same configuration again.

Step 1: Create the CSV File

Create a CSV file containing the IP addresses of the Snom phones you want to reset.

Use the following format:

IP
192.168.1.50
192.168.1.51
192.168.1.52

Save the file with a name such as:

SnomPhones.csv

For example:

C:\SnomReset\SnomPhones.csv

Step 2: Create the PowerShell Script

Create a new PowerShell script file and save it with a .ps1 extension.

For example:

SnomMassReset.ps1

Use the following script:

# ============================================================
# Snom Phone Mass Factory Reset
# Intended for authorized administration on a trusted LAN.
# Test on one phone before using across multiple devices.
# ============================================================

$CsvPath = "C:\SnomReset\SnomPhones.csv"

# Prompt for the Snom web administrator credentials.
# The password is NOT stored in this script.
$Credential = Get-Credential -Message "Enter the Snom phone web administrator credentials"

# Import phone IP addresses.
$Phones = Import-Csv -Path $CsvPath

foreach ($Phone in $Phones) {

$IP = $Phone.IP

if ([string]::IsNullOrWhiteSpace($IP)) {
continue
}

Write-Host "Processing Snom phone at $IP..."

try {

# First request: initiate the reset.
$ResetUrl = "http://$IP/advanced_update.htm"

$ResetBody = @{
update_policy = "settings_only"
settings_refresh_timer = "0"
subscribe_config = "off"
pnp_config = "on"
CONFIRM_RESET = "Reset"
}

Invoke-WebRequest `
-Uri $ResetUrl `
-Method POST `
-Credential $Credential `
-Body $ResetBody `
-ContentType "application/x-www-form-urlencoded" `
-UseBasicParsing `
-ErrorAction Stop | Out-Null

Start-Sleep -Seconds 1

# Second request: confirm the factory reset.
$ConfirmUrl = "http://$IP/confirm.htm"

$ConfirmBody = @{
RESET = "Yes"
}

Invoke-WebRequest `
-Uri $ConfirmUrl `
-Method POST `
-Credential $Credential `
-Body $ConfirmBody `
-ContentType "application/x-www-form-urlencoded" `
-UseBasicParsing `
-ErrorAction Stop | Out-Null

Write-Host "Factory reset initiated for $IP"

}
catch {

Write-Warning "Unable to reset $IP. $($_.Exception.Message)"

}
}

Security Improvement in This Version

The administrator password is intentionally not stored inside the PowerShell script.

When the script starts, PowerShell prompts you to enter the Snom web administrator credentials.

This is safer than placing the username and password directly inside a URL or saving a production password in a publicly shared script.

Never publish your organization's Snom web administrator password in documentation, scripts, tickets, or public Knowledge Base articles.

Step 3: Update the CSV File Path

In the script, locate:

$CsvPath = "C:\SnomReset\SnomPhones.csv"

Replace the path with the actual location of your CSV file.

For example:

$CsvPath = "C:\Users\Admin\Documents\SnomReset\SnomPhones.csv"

Step 4: Verify Web Administrator Access

Before performing the mass reset, test access to one phone.

Open a browser and navigate to the phone's IP address.

For example:

http://192.168.1.50

Confirm that you can authenticate to the Snom web interface using the credentials you plan to use with the script.

Do All Phones Need the Same Password?

The example script prompts for one set of administrator credentials and therefore assumes that the phones being processed use the same management credentials.

If your Snom phones use different administrator credentials, separate the phones into appropriate groups or modify the process to accommodate your credential-management configuration.

Using a single shared administrator password across a large phone deployment is not recommended solely for the purpose of running this script.

Step 5: Test One Phone First

Before loading the full list of phones, create a CSV containing only one test phone.

Run the script and confirm that:

  1. PowerShell successfully communicates with the phone.
  2. The phone begins the reset process.
  3. The phone reboots successfully.
  4. The previous configuration has been removed.
  5. The expected provisioning process begins.
  6. The phone successfully returns to service.

Only proceed with additional phones after the test has been successful.

Step 6: Run the PowerShell Script

Open PowerShell and run the .ps1 file.

For example:

C:\SnomReset\SnomMassReset.ps1

PowerShell will prompt you for the Snom web administrator credentials.

The script will then process the IP addresses contained in the CSV file.

For each successful request, you should see output similar to:

Processing Snom phone at 192.168.1.50...
Factory reset initiated for 192.168.1.50

If a phone cannot be reached or does not accept the request, the script will display a warning and continue to the next phone.

What Happens After the Reset?

A factory reset removes the phone's existing configuration.

Depending on your environment, the phone may then:

  • Obtain a new IP address through DHCP
  • Contact a configured provisioning server
  • Contact the PBX
  • Contact Snom provisioning services
  • Download a new configuration
  • Require manual configuration

If the phone is still associated with an existing provisioning environment, it may automatically receive a configuration after restarting.

Troubleshooting

The Script Cannot Connect to the Phone

Verify:

  • The IP address is correct.
  • The phone is powered on.
  • Your computer is on a network that can reach the phone.
  • The Snom web interface is enabled.
  • Firewall or VLAN rules are not preventing access.
  • You are using the correct administrator credentials.

I Receive an Authentication Error

Verify that the username and password work when accessing the phone's web interface manually.

Do not add the password directly to the script as a troubleshooting shortcut.

The Phone Resets and Gets Its Old Configuration Again

The phone is most likely still connected to an existing provisioning source.

Review:

  • PBX provisioning
  • DHCP provisioning options
  • Snom SRAPS configuration
  • Other provisioning servers associated with the phone

A factory reset does not necessarily remove an external provisioning assignment.

The Script Does Not Work on a D8xx Phone

This procedure should not be assumed to support the Snom D8xx series.

Use the reset procedure appropriate for the D8xx model and firmware version or manage supported devices through Snom's current device-management tools.

Frequently Asked Questions

Can I factory reset multiple Snom phones at once?

Yes. Supported Snom phones can be managed using HTTP requests, allowing administrators to automate repetitive management tasks with PowerShell.

Always test the procedure on one device before applying it to multiple phones.

Which Snom phones support HTTP remote commands?

Snom currently documents HTTP remote-control functionality for the D3xx and D7xx series. Compatibility can vary by model, firmware version, and web-interface generation.

Does a factory reset delete the Snom phone configuration?

Yes. A factory reset removes customized settings from the phone. Make sure the device can be reprovisioned or reconfigured before resetting it.

Will the Snom phone automatically reprovision after a factory reset?

It may.

If the phone is associated with a PBX, DHCP provisioning configuration, SRAPS, or another provisioning server, it may retrieve a configuration again after rebooting.

Can I put the Snom administrator password directly in the script?

You should avoid storing administrative passwords in plain text inside scripts.

The example in this article prompts for the administrator credentials when the script runs instead.

Why should I test on one phone first?

HTTP endpoints and behavior may differ between phone models, firmware releases, and Snom web-interface versions.

Testing one representative device reduces the risk of unexpectedly resetting or misconfiguring a larger deployment.

Need Help With Your Snom Deployment?

TELIN partners who need assistance with Snom phones, provisioning, or supported device configurations can contact TELIN Support for help reviewing their deployment before performing a bulk reset.