PrtgAPI 0.7.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package PrtgAPI --version 0.7.0
NuGet\Install-Package PrtgAPI -Version 0.7.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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
#r "nuget: PrtgAPI, 0.7.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PrtgAPI as a Cake Addin
#addin nuget:?package=PrtgAPI&version=0.7.0

// Install PrtgAPI as a Cake Tool
#tool nuget:?package=PrtgAPI&version=0.7.0

C#/PowerShell interface for PRTG Network Monitor

Product Compatible and additional computed target framework versions.
.NET Framework net452 is compatible.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 Downloads Last updated
0.9.19 4,570 9/14/2023
0.9.18 2,695 11/28/2022
0.9.17 19,461 2/24/2022
0.9.16 9,562 6/2/2021
0.9.15 437 5/7/2021
0.9.14 705 11/25/2020
0.9.13 2,849 5/7/2020
0.9.12 21,051 2/13/2020
0.9.11 841 12/9/2019
0.9.10 540 12/5/2019
0.9.9 980 9/26/2019
0.9.8 728 8/19/2019
0.9.7 1,743 5/8/2019
0.9.6 660 4/3/2019
0.9.5 930 1/13/2019
0.9.4 923 1/3/2019
0.9.3 749 11/20/2018
0.9.2 745 11/1/2018
0.9.1 793 10/3/2018
0.9.0 817 8/27/2018
0.8.6 1,040 5/4/2018
0.8.5 1,086 4/23/2018
0.8.4 871 4/23/2018
0.8.3 977 4/2/2018
0.8.2 954 3/30/2018
0.8.1 984 3/11/2018
0.8.0 1,106 2/23/2018
0.7.3 1,270 11/20/2017
0.7.2 1,586 11/13/2017
0.7.1 1,373 10/15/2017
0.7.0 1,301 10/6/2017
0.6.10 1,024 8/2/2017
0.6.9 955 4/24/2017
0.6.8 942 4/19/2017
0.6.7 970 4/11/2017
0.6.6 921 4/10/2017
0.6.5 914 4/10/2017
0.6.4 934 3/25/2017
0.6.3 994 3/22/2017
0.6.2 924 3/19/2017
0.6.1 1,619 3/8/2017

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.

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 nuget.org package source, this module is also available on the PowerShell Gallery.

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