PrtgAPI 0.7.0

C#/PowerShell interface for PRTG Network Monitor

There is a newer version of this package available.
See the version list below for details.
Install-Package PrtgAPI -Version 0.7.0
dotnet add package PrtgAPI --version 0.7.0
<PackageReference Include="PrtgAPI" Version="0.7.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PrtgAPI --version 0.7.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

-PS: Cmdlets now show advanced PowerShell progress when being piped between one another. Progress dynamically adjusts itself based on the number of cmdlets in the chain, and can grow to several levels based on the number of cmdlets invoked. Disabled by default in PowerShell ISE and when cmdlets are invoked from within scripts. Can also be controlled via -Progress:{$true / $false} parameter to Connect-PrtgProgress
-PS: Cmdlets now show advanced PowerShell progress when being piped from variables containing PrtgAPI objects
-PS: Cmdlets will not show progress if interrupted by third party cmdlets (excluding Where-Object)
-PS: Cmdlets can be invoked with -Verbose parameter to view view detailed request information
-PS: Object properties that can be manipulated with PrtgAPI can be found on help pages about_ChannelSettings, about_ObjectSettings and about_SensorSettings
-C#: New event handler on PrtgClient: LogVerbose

New Methods
-C#: PrtgClient.GetSensorProperties, GetDeviceProperties, GetGroupProperties and GetProbeProperties methods for retrieving object settings/properties
-C#: PrtgClient.GetModificationHistory: Retrieve the settings modification history of an object
-C#: PrtgClient.GetSensorHistory: retrieve historical records of a sensor for a custom time period
-C#: All PrtgClient methods now have asynchronous counterparts

New Cmdlets
-Open-PrtgObject: open the webpage of a PRTG Object. Supports sensors, devices, groups and probes
-Enable-PrtgProgress: enable inter-cmdlet PowerShell progress for the current session
-Disable-PrtgProgress: disable -inter-cmdlet PowerShell progress for the current session
-Get-ObjectProperty: Retrieve all properties/settings of sensors, devices, groups and probes. Unsupported properties can also be retrieved by specifying their raw name
-Update-GoPrtgCredential: update the active GoPrtg server's PassHash stored in your profile
-Get-ModificationHistory: Retrieve the setting modification history of an object
-New-SensorFactoryDefinition: automatically create complex sensor factory definitions from a collection of sensor
-Simulate-ErrorStatus: simulate an error status on a sensor
-Get-SensorHistory: retrieve historical records of a sensor for a custom time period

-PS: Clone cmdlets now resolve their resultant object by default. Disable with -Resolve:$false
-PS: Get-Sensor, Get-Device, Get-Group and Get-Probe can all filter by status
-PS: Get-Sensor, Get-Device, Get-Group and Get-Probe can now filter by multiple Names and Ids
-PS: Get-Sensor, Get-Device, Get-Group and Get-Probe will now throw an exception if -Id is specified but its value is null
-PS: PrtgAPI will now automatically perform one request re-attempt when a connection times out
-PS: Alias "flt" can now be used in place of cmdlet New-SearchFilter
-PS: Improved performance when attempting to stream a large number of objects from one cmdlet into another, causing the second cmdlet to hang while PRTG processes the former cmdlet's web requests
-C#: PrtgClient.GetChannels can now filter by name
-TriggerChannel is now a class instead of an enum, allowing custom channels to be supported. Can be instantiated via several different types, including enum names and PrtgAPI Channels. Includes static members for accessing enum constants
-When adding or modifying TriggerChannels, PrtgAPI will now validate that the specified channel is supported by the target object
-Channel objects now have ValueLookup, Unit, ScalingMultiplication and ScalingDivision properties
-Greatly expanded the number of properties that can be set by Set-ObjectProperty and PrtgClient.SetObjectProperty
-Greatly expanded the number of properties that can be set by Set-ChannelProperty
-When modifying object properties, PrtgAPI will now verify the type of object specified against the expected type of the property. If the specified value cannot be converted to the target type, an exception will be thrown
-PrtgAPI will automatically detect when an object property has property dependencies, and automatically enable those properties as well (e.g. a property dependent on a value being "Manual", or setting inheritance being disabled

-Fixed a bug wherein Clone cmdlets would fail when PRTG takes too long to create an object
-Fixed several async PrtgClient methiods returning void instead of a Task
-Replaced existing GetObjectProperty and SetObjectProperty methods with more versatile variants
-Fixed a bug wherein Rename-Object did not rename probes properly
-Fixed a bug wherein filtering cmdlets by -Tags did not work properly
-Modified Channel.DecimalPlaces property to be a double (as PRTG does not require this value be an integer)

Breaking Changes
-Renamed Property enum members to be in line with their property names found on deserialized objects
-Renamed SensorStatus enum to Status
-Renamed NotificationTrigger property "Units" to "Unit"
-When a connection to PRTG times out, PrtgAPI will now attempt to throw a TimeoutException
-Removed Get-NotificationTriggerTypes cmdlet. Use Get-NotificationTrigger -Types instead


PrtgAPI is a C#/PowerShell library that abstracts away the complexity of interfacing with the PRTG HTTP API.

PrtgAPI implements a collection of methods and enumerations that help create and execute the varying HTTP GET requests required to interface with PRTG. All responses from PRTG are automatically deserialized by PrtgAPI.

Operations supported by PrtgAPI include enumerating channels, sensors, devices, groups and probes, modifying channel and sensor properties, creating and editing notification triggers, pausing, unpausing and acknowledging objects, renaming and removing items, and more.

PrtgAPI includes full XML Documentation and supports synchronous, asynchronous and "streaming" request modes.

This module can be installed in both Visual Studio and PowerShell via the Install-Package cmdlet. For PowerShell users without the package source, this module is also available on the PowerShell Gallery.

For more information and usage examples, please see the Project Site.


This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.9.13 160 5/7/2020
0.9.12 444 2/13/2020
0.9.11 325 12/9/2019
0.9.10 116 12/5/2019
0.9.9 246 9/26/2019
0.9.8 290 8/19/2019
0.9.7 658 5/8/2019
0.9.6 230 4/3/2019
0.9.5 405 1/13/2019
0.9.4 368 1/3/2019
0.9.3 235 11/20/2018
0.9.2 224 11/1/2018
0.9.1 273 10/3/2018
0.9.0 268 8/27/2018
0.8.6 434 5/4/2018
0.8.5 434 4/23/2018
0.8.4 295 4/23/2018
0.8.3 396 4/2/2018
0.8.2 358 3/30/2018
0.8.1 400 3/11/2018
0.8.0 506 2/23/2018
0.7.3 586 11/20/2017
0.7.2 844 11/13/2017
0.7.1 733 10/15/2017
0.7.0 663 10/6/2017
0.6.10 415 8/2/2017
0.6.9 367 4/24/2017
0.6.8 357 4/19/2017
0.6.7 396 4/11/2017
0.6.6 354 4/10/2017
0.6.5 350 4/10/2017
0.6.4 346 3/25/2017
0.6.3 400 3/22/2017
0.6.2 358 3/19/2017
0.6.1 712 3/8/2017
Show less