New Features
- 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 toConnect-PrtgServer
- 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
andabout_SensorSettings
- C#: New event handler on
PrtgClient
:LogVerbose
New Methods
- C#:
PrtgClient.GetSensorProperties
,GetDeviceProperties
,GetGroupProperties
andGetProbeProperties
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 probesEnable-PrtgProgress
: enable inter-cmdlet PowerShell progress for the current sessionDisable-PrtgProgress
: disable -inter-cmdlet PowerShell progress for the current sessionGet-ObjectProperty
: Retrieve all properties/settings of sensors, devices, groups and probes. Unsupported properties can also be retrieved by specifying their raw nameUpdate-GoPrtgCredential
: update the active GoPrtg server's PassHash stored in your profileGet-ModificationHistory
: Retrieve the setting modification history of an objectNew-SensorFactoryDefinition
: automatically create complex sensor factory definitions from a collection of sensorSimulate-ErrorStatus
: simulate an error status on a sensorGet-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
andGet-Probe
can all filter by-Status
- PS:
Get-Sensor
,Get-Device
,Get-Group
andGet-Probe
can now filter by multiple Names and Ids - PS:
Get-Sensor
,Get-Device
,Get-Group
andGet-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 cmdletNew-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
TriggerChannel
objects, PrtgAPI will now validate that the specified channel is supported by the target object - Channel objects now have
ValueLookup
,Unit
,ScalingMultiplication
andScalingDivision
properties - Greatly expanded the number of properties that can be set by
Set-ObjectProperty
andPrtgClient.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 returningvoid
instead of aTask
- Replaced existing
GetObjectProperty
andSetObjectProperty
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 toStatus
- Renamed
NotificationTrigger
propertyUnits
toUnit
- When a connection to PRTG times out, PrtgAPI will now attempt to throw a
TimeoutException
- Removed
Get-NotificationTriggerTypes
cmdlet. UseGet-NotificationTrigger -Types
instead