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
-Verboseparameter to view view detailed request information - PS: Object properties that can be manipulated with PrtgAPI can be found on help pages
about_ChannelSettings,about_ObjectSettingsandabout_SensorSettings - C#: New event handler on
PrtgClient:LogVerbose
New Methods
- C#:
PrtgClient.GetSensorProperties,GetDeviceProperties,GetGroupPropertiesandGetProbePropertiesmethods 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
PrtgClientmethods 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-GroupandGet-Probecan all filter by-Status - PS:
Get-Sensor,Get-Device,Get-GroupandGet-Probecan now filter by multiple Names and Ids - PS:
Get-Sensor,Get-Device,Get-GroupandGet-Probewill now throw an exception if-Idis specified but its value is null - PS: PrtgAPI will now automatically perform one request re-attempt when a connection times out
- PS: Alias
fltcan 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.GetChannelscan now filter by name TriggerChannelis 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
TriggerChannelobjects, PrtgAPI will now validate that the specified channel is supported by the target object - Channel objects now have
ValueLookup,Unit,ScalingMultiplicationandScalingDivisionproperties - Greatly expanded the number of properties that can be set by
Set-ObjectPropertyandPrtgClient.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
PrtgClientmethiods returningvoidinstead of aTask - Replaced existing
GetObjectPropertyandSetObjectPropertymethods with more versatile variants - Fixed a bug wherein
Rename-Objectdid not rename probes properly - Fixed a bug wherein filtering cmdlets by
-Tagsdid not work properly - Modified
Channel.DecimalPlacesproperty to be a double (as PRTG does not require this value be an integer)
Breaking Changes
- Renamed
Propertyenum members to be in line with their property names found on deserialized objects - Renamed
SensorStatusenum toStatus - Renamed
NotificationTriggerpropertyUnitstoUnit - When a connection to PRTG times out, PrtgAPI will now attempt to throw a
TimeoutException - Removed
Get-NotificationTriggerTypescmdlet. UseGet-NotificationTrigger -Typesinstead