IPCortex Backup Script

Project Brief

While IPCortex can automate daily backups and has around 500GB of storage space on the pro hardware appliance, it’s not a perfect solution as these files are self contained. This project came about to resolve this issue so that backups can be automated externally and stored on remote servers. This ensures that in the worst case scenario, you would still have backup files to restore with in case of a full hardware failure. This is not the only benefit because as the IPCortex can only keep call recordings for 21 days, storing these remotely would give you the control on how long you wish to store these.

For this backup script I choose to program this in PowerShell as I wanted to not only try a different language but also try and keep the finished script as user friendly as possible. Luckily PowerShell has some big similarities to Bash so programming this didn’t come with a large learning curve.

The Project Files

See the GitHub project here: IPCortex-Backup-Script


– Can connect to and download from multiple IPCortex units from a csv file.
– Can download all types of backup files from multiple units over HTTP/HTTPS.
– Attempts alternative HTTP protocol when connection is not available.
– If backups fail, notification is sent via email.
– Stores multiple backups for multiple units in organised directories.
– Can be integrated into Windows Task Scheduler.


This project has the potential to save some really big headaches and as far as I can see, this is the only efficient way of pulling and automating these backups with IPCortex. Its usage would prove valuable for internal system administrators and for remote maintenance.


This project was greatly helped and influenced by the following people whom skills were important in finishing this. Special thanks to the following:

Robert Ainsworth

Dean Wright