Skip to content

What is MilestonePSTools

MilestonePSTools allows you to scale your Milestone XProtect VMS investment without investing your time at the same pace. It does so by bringing the capabilities of Milestone's MIP SDK to PowerShell - a modern .NET-based shell, and popular task automation solution familiar to most Windows administrators.

The MilestonePSTools PowerShell module enables rapid automation of configuration and reporting tasks with no "traditional" software development experience. Customized tools and reports that previously required a .NET software developer can be written faster, and by people with a more diverse range of responsibility and experience.

By leveraging the PowerShell language, platform, and community, we lower the barrier of entry for customers and integrators who want to take advantage of Milestone's open platform to save time, improve consistency, and extract new insights about the configuration and health of their VMS.


To install MilestonePSTools from Microsoft's PowerShell Gallery on an internet-connected Windows system, copy and paste one of the following into a PowerShell terminal:

# Install for current user
Set-ExecutionPolicy RemoteSigned
Install-Module -Name MilestonePSTools -Scope CurrentUser
# Install for all users (must run as administrator)
Set-ExecutionPolicy RemoteSigned
Install-Module -Name MilestonePSTools

For more information, see the detailed Installation page.


  • Authenticate with Windows, Active Directory, or Basic User credentials
  • Built-in camera status and configuration report Get-VmsCameraReport
  • Manage nearly all elements of the VMS configuration
  • Recording servers
  • Storage and archive configuration
  • Cameras and other devices
  • Device groups
  • Roles, users, and permissions
  • License activation
  • Monitor and trigger events
  • Export snapshots from live or recorded video
  • Export video in XProtect, or MKV format
  • React to real-time events
  • Access logs and event/alarm history
  • Create and manage bookmarks and evidence locks
  • Manage certificates and encryption

Getting Started

Install MilestonePSTools, login using Connect-ManagementServer and start by simply retrieving information from your VMS.

# Login using a familiar user interface
Connect-ManagementServer -ShowDialog -AcceptEula # (1)!

# Get a list of recording servers
Get-VmsRecordingServer # (2)!

# Get a list of hardware from all recording servers
Get-VmsHardware # (3)!

# Get a list of all enabled cameras on the VMS
Get-VmsHardware | Get-VmsCamera

# Generate a camera report using a built-in report, and display it in a UI
Get-VmsCameraReport | Out-GridView # (4)!
  1. Sample output: Output from the Connect-ManagementServer command with the ShowDialog switch
  2. Sample output: Output from the Get-VmsRecordingServer command in a PowerShell terminal
  3. Sample output: Output from the Get-VmsHardware command in a PowerShell terminal
  4. Sample output: Output from the Get-VmsCameraReport command in a grid view

Check out this tutorial for more detail about the built-in camera report, and an example of how you can prepare your script to run automatically using scheduled tasks.