PrtgAPI

0.7.0

C#/PowerShell interface for interacting with the PRTG HTTP API

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name PrtgAPI -RequiredVersion 0.7.0

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deloy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Author(s)

lordmilko

Copyright

(c) 2015 lordmilko. All rights reserved.

Owners

Tags

Prtg Sensor Device Group Probe Channel Notification Action Trigger Remove Pause Resume Check Acknowledge PowerShell Setting Property

Cmdlets

Disable-PrtgProgress Enable-PrtgProgress Copy-Sensor Copy-Group Copy-Device Get-SensorHistory Move-Object Set-ObjectPosition Test-ErrorStatus Start-SortPrtgObject Open-PrtgObject Start-AutoDiscovery New-SensorFactoryDefinition Add-NotificationTrigger Set-NotificationTrigger Edit-NotificationTriggerProperty Get-NotificationAction Get-NotificationTrigger Get-ModificationHistory New-NotificationTriggerParameter Remove-NotificationTrigger Set-ObjectProperty Confirm-Sensor Get-Channel Get-Group Get-Probe Get-ObjectProperty Get-PrtgClient Get-SensorTotals Update-Object Suspend-Object Rename-Object Resume-Object Set-ChannelProperty Remove-Object Get-Device Connect-PrtgServer Disconnect-PrtgServer Get-Sensor New-SearchFilter

Functions

New-Credential Connect-GoPrtgServer Get-GoPrtgServer Install-GoPrtgServer Set-GoPrtgAlias Uninstall-GoPrtgServer Update-GoPrtgCredential

Dependencies

This module has no dependencies.

Release Notes

New
-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

Improvements
-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

Bugfixes
-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 and formatted appropriately when output to the pipeline (when using PowerShell)

All cmdlets in PrtgAPI support some level of piping, allowing you to directly chain multiple cmdlets together, further filtering search results as you go.

PrtgAPI supports a number of undocumented features, including manipulating notification triggers, and viewing and editing channel properties (error limits, etc).

PrtgAPI includes full Cmdlet Comment/XmlDoc documentation. Detailed information on any cmdlet can be found within PowerShell by running Get-Help <cmdlet> or Get-Help <cmdlet> -Full

For examples and usage scenarios, please see the Project Site.

Version History

Version Downloads Last updated
0.9.5 1,143 1/13/2019
0.9.4 114 1/3/2019
0.9.3 43,299 11/20/2018
0.9.2 409 11/1/2018
0.9.1 252 10/3/2018
0.9.0 192 8/27/2018
0.8.6 588 5/4/2018
0.8.5 34 4/23/2018
0.8.4 5 4/23/2018
0.8.3 46 4/2/2018
0.8.2 5 3/30/2018
0.8.1 56 3/11/2018
0.8.0 85 2/23/2018
0.7.3 149 11/20/2017
0.7.2 28 11/13/2017
0.7.1 30 10/15/2017
0.7.0 (current version) 13 10/6/2017
0.6.10 46 8/2/2017
0.6.9 72 4/24/2017
0.6.8 25 4/19/2017
0.6.7 12 4/11/2017
0.6.6 5 4/10/2017
0.6.5 5 4/10/2017
0.6.4 13 3/25/2017
0.6.3 5 3/22/2017
0.6.2 6 3/19/2017
0.6.1 7 3/14/2017
Show less