PrtgAPI.PowerShell.XML
<?xml version="1.0"?>
<doc> <assembly> <name>PrtgAPI.PowerShell</name> </assembly> <members> <member name="T:PrtgAPI.PowerShell.Base.AddObject`2"> <summary> Base class for cmdlets that add new table objects. </summary> <typeparam name="TParams">The type of parameters to use to create this object.</typeparam> <typeparam name="TObject">The type of object to create.</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Base.AddObject`2.Parameters"> <summary> A set of parameters whose properties describe the type of object to add, with what settings. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.AddObject`2.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.AddObject`2.GetObjects(PrtgAPI.SearchFilter[])"> <summary> Resolves the children of the <see cref="P:PrtgAPI.PowerShell.Base.AddObject`2.DestinationId"/> object that match the new object's name. </summary> <param name="filters">An array of search filters used to retrieve all children of the <see cref="P:PrtgAPI.PowerShell.Base.AddObject`2.DestinationId"/> with the specified name.</param> <returns>All objects under the parent object that match the new object's name.</returns> </member> <member name="T:PrtgAPI.PowerShell.Base.AddParametersObject`3"> <summary> Base class for cmdlets that add new table objects with parameters. </summary> <typeparam name="TParams">The type of parameters to use to create this object.</typeparam> <typeparam name="TObject">The type of object to create.</typeparam> <typeparam name="TDestination">The type of object this object will be added under.</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Base.AddParametersObject`3.Destination"> <summary> <para type="description">The parent object to create an object under.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.AddParametersObject`3.Parameters"> <summary> <para type="description">A set of parameters whose properties describe the type of object to add, with what settings.</para> </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.IPrtgMultiPassThruCmdlet"> <summary> Represents a type capable of sending multiple pipeline inputs through as outputs all at once. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.IPrtgMultiPassThruCmdlet.PassThruObjects"> <summary> The objects that should be output from the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.IPrtgMultiPassThruCmdlet.CurrentMultiPassThru"> <summary> Stores the last object that was output from the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.IPrtgMultiPassThruCmdlet.WriteMultiPassThru"> <summary> Writes all objects stored in <see cref="P:PrtgAPI.PowerShell.Base.IPrtgMultiPassThruCmdlet.PassThruObjects"/> if <see cref="P:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.PassThru"/> is specified. </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet"> <summary> Represents a cmdlet type capable of sending its pipeline inputs through as outputs. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.PassThru"> <summary> Specifies whether to return the original <see cref="T:PrtgAPI.IObject"/> that was passed to this cmdlet, allowing the object to be further piped into additional cmdlets. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.WritePassThru"> <summary> Writes the current <see cref="P:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.PassThruObject"/> to the pipeline if <see cref="P:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.PassThru"/> is specified. </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.NewObjectCmdlet"> <summary> Base class for all cmdlets that create new objects. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.NewObjectCmdlet.Resolve"> <summary> <para type="description">Indicates whether or not the new object should be resolved to a <see cref="T:PrtgAPI.PrtgObject"/>. By default this value is <see cref="P:System.Management.Automation.SwitchParameter.Present"/>.</para> </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgCmdlet"> <summary> Base class for all cmdlets requiring authenticated access to a PRTG Server. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgCmdlet.client"> <summary> Provides access to the <see cref="T:PrtgAPI.PrtgClient"/> stored in the current PowerShell Session State. </summary> </member> <member name="F:PrtgAPI.PowerShell.Base.PrtgCmdlet.TokenSource"> <summary> A cancellation token source to use with long running tasks that may need to be interrupted by Ctrl+C. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.BeginProcessing"> <summary> Provides a one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. Do not override this method; override <see cref="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.ProcessRecordEx"/> instead. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.EndProcessing"> <summary> Performs one-time, post-processing functionality for the cmdlet. This function is only run when the cmdlet successfully runs to completion. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.EndProcessingEx"> <summary> Provides an enhanced one-time, postprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.StopProcessing"> <summary> Interrupts the currently running code to signal the cmdlet has been requested to stop.<para/> Do not override this method; override <see cref="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.StopProcessingEx"/> instead. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.StopProcessingEx"> <summary> Interrupts the currently running code to signal the cmdlet has been requested to stop. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgCmdlet.Dispose"> <summary> Disposes of all managed and unmanaged resources used by the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet"> <summary> Base class for all cmdlets that perform actions or manipulate multiple objects in a single request against PRTG. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.Batch"> <summary> <para type="description">Specifies whether this cmdlet should queue all objects piped to this cmdlet to execute a single request against PRTG for processing all objects. By default this value is true.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PassThru"> <summary> <para type="description">Specifies whether to return the original <see cref="T:PrtgAPI.PrtgObject"/> that was passed to this cmdlet, allowing the object to be further piped into additional cmdlets.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.ExecuteOrQueue(PrtgAPI.IObject)"> <summary> If <see cref="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.Batch"/> is true, queues the object for processing after all items have been identified. Otherwise, executes this cmdlet's action immediately. </summary> <param name="obj">The object to process.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.ExecuteOrQueue(PrtgAPI.IObject,System.String)"> <summary> If <see cref="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.Batch"/> is true, queues the object for processing after all items have been identified. Otherwise, executes this cmdlet's action immediately. </summary> <param name="obj">The object to process.</param> <param name="progressMessage">The progress message to display.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.ExecuteQueueOperation(PrtgAPI.IObject,System.String)"> <summary> Queues an object for execution after all objects have been identified. </summary> <param name="obj">The object to queue.</param> <param name="progressMessage">The progress message to display.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.ExecuteMultiOperation(System.Action,System.String,System.Boolean)"> <summary> Executes this cmdlet's action on all queued objects. </summary> <param name="action">The action to execute.</param> <param name="progressMessage">The progress message to display.</param> <param name="complete">Whether progress should be completed after calling this method.<para/> If the queued objects are to be split over several method calls, this value should only be true on the final call.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.EndProcessingEx"> <summary> Provides an enhanced one-time, postprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.WritePassThru"> <summary> Writes the current <see cref="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PassThruObject"/> to the pipeline if <see cref="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PassThru"/> is specified. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PassThruObjects"> <summary> The objects that should be output from the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.CurrentMultiPassThru"> <summary> Stores the last object that was output from the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.WriteMultiPassThru"> <summary> Writes all objects stored in <see cref="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PassThruObjects"/> if <see cref="P:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.PassThru"/> is specified. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.ShouldPostProcess"> <summary> Whether this cmdlet will execute its post processing operation. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1"> <summary> Base class for all cmdlets that return a list of objects. </summary> <typeparam name="T">The type of objects that will be retrieved.</typeparam> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.GetRecords"> <summary> Retrieves all records of a specified type from a PRTG Server. Implementors can call different methods of a <see cref="T:PrtgAPI.PrtgClient"/> based on the type of object they wish to retrieve. </summary> <returns>A list of records relevant to the caller.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.GetResultsWithVariableProgress(System.Func{System.Collections.Generic.IEnumerable{`0}})"> <summary> Retrieve results from a PRTG server while displaying progress for objects that have been piped from a variable. </summary> <param name="getResults">The function to execute to retrieve this cmdlet's results.</param> <returns>A collection of objects returned from a PRTG Server. that match the specified search criteria.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.GetResultsWithProgress(System.Func{System.Collections.Generic.IEnumerable{`0}})"> <summary> Retrieve results from a PRTG server while displaying progress for objects that have been piped between cmdlets. </summary> <param name="getResults">The function to execute to retrieve this cmdlet's results.</param> <returns>A collection of objects returned from a PRTG Server. that match the specified search criteria.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.DisplayFirstInChainMessage"> <summary> Display the initial progress message for the first cmdlet in the chain.<para/> Returns an integer so that overridden instances of this method may support progress scenarios such as streaming (where a "detecting total number of items" message is displayed before requesting the object totals. </summary> <returns>-1. Override this method in a derived class to optionally return the total number of objects that will be retrieved.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.GetCount(System.Collections.Generic.IEnumerable{`0},System.Int32@)"> <summary> Retrieves the number of elements returned from a request. Generally the collection of records should internally be a <see cref="T:System.Collections.Generic.List`1"/>.<para/> For scenarios where this is not the case, this method can be overridden in derived classes. </summary> <param name="records">The collection of records to count.Should be a <see cref="T:System.Collections.Generic.List`1"/></param> <param name="count">The count of records to be returned from this method.</param> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.FilterResponseRecords(System.Collections.Generic.IEnumerable{`0},System.String,System.Func{`0,System.String})"> <summary> Filter a response with a wildcard expression on a specified property. </summary> <param name="records">The records to filter.</param> <param name="pattern">The wildcard expression to filter with.</param> <param name="getProperty">A function that yields the property to filter by.</param> <returns>A list of records that match the specified filter.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgObjectCmdlet`1.FilterResponseRecordsByWildcardArray(System.String[],System.Func{`0,System.String},System.Collections.Generic.IEnumerable{`0})"> <summary> Filter records returned from PRTG by one or more wildcards. </summary> <param name="arr">The array of wildcards to filter against.</param> <param name="getProperty">A function that yields the property to filter by.</param> <param name="records">The records to filter.</param> <returns>A collection of filtered records.</returns> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgOperationCmdlet"> <summary> Base class for all cmdlets that perform actions or manipulate objects in PRTG. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgOperationCmdlet.ExecuteOperation(System.Action,System.String,System.Boolean,System.Boolean)"> <summary> Executes an action and displays a progress message (if required). </summary> <param name="action">The action to be performed.</param> <param name="progressMessage">The body of the progress message to display.</param> <param name="complete">Whether to allow <see cref="T:PrtgAPI.PowerShell.Base.PrtgOperationCmdlet"/> to dynamically determine whether progress should be completed</param> <param name="incrementRecord">Whether to increment the progress record of this cmdlet. If this value is false, the value will be incremented then decremented.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgOperationCmdlet.ParseValueIfRequired(System.Reflection.PropertyInfo,System.Object)"> <summary> Parse a value into its expected type. Requires the target <paramref name="property"/> contain a Parse method. </summary> <param name="property">The property the value applies to.</param> <param name="value">The value to apply to the property.</param> <returns>If the target property type contains a Parse method which did not throw upon being called, the parsed value. Otherwise, the original value.</returns> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgPassThruCmdlet"> <summary> Base class for generic operation cmdlets capable of passing their inputs out to the pipeline. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgPassThruCmdlet.PassThru"> <summary> <para type="description">Specifies whether to return the original <see cref="T:PrtgAPI.IObject"/> that was passed to this cmdlet, allowing the object to be further piped into additional cmdlets.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgPassThruCmdlet.WritePassThru"> <summary> Writes the current <see cref="P:PrtgAPI.PowerShell.Base.PrtgPassThruCmdlet.PassThruObject"/> to the pipeline if <see cref="P:PrtgAPI.PowerShell.Base.PrtgPassThruCmdlet.PassThru"/> is specified. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgPassThruCmdlet.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet"> <summary> Base class for all cmdlets that perform operations after all pipeline elements have been processed. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.PostProcess"> <summary> Whether this cmdlet will execute its post processing operation. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.ExecuteOperation(System.Action,System.String,System.Boolean,System.Boolean)"> <summary> Executes an action and displays a progress message (if required). </summary> <param name="action">The action to be performed.</param> <param name="progressMessage">The body of the progress message to display.</param> <param name="complete">Whether to allow <see cref="T:PrtgAPI.PowerShell.Base.PrtgOperationCmdlet"/> to dynamically determine whether progress should be completed</param> <param name="incrementRecord">Whether to increment the progress record of this cmdlet. If this value is false, the value will be incremented then decremented.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.DisplayPostProcessProgress(System.String,System.String,System.Int32,System.Nullable{System.Int32},System.String,System.Boolean)"> <summary> Display a progress message during an <see cref="M:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.EndProcessing"/> block. </summary> <param name="activity">The title of the progress message to display.</param> <param name="progressMessage">The body of the progress message to display.</param> <param name="completedPercent">The percentage this process has been completed.</param> <param name="secondsRemaining">The number of seconds remaining in this operation. If this value is null, seconds remaining will not be displayed.</param> <param name="currentOperation">The current operation that is being performed. If this value is null, the current operation will not be displayed.</param> <param name="complete">Whether or not the progress should be completed after displaying.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.CompletePostProcessProgress(System.Boolean)"> <summary> Completes a progress record created in the <see cref="M:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.EndProcessing"/> block. </summary> <param name="complete"></param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.ShouldPostProcess"> <summary> Implements the cmdlet specific algorithm for <see cref="P:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.PostProcess"/>. </summary> <returns>If this cmdlet should execute its post processing operation, true. Otherwise, false.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgPostProcessCmdlet.EndProcessing"> <summary> Provides a one-time, postprocessing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet"> <summary> Base class for all cmdlets that display progress while reading and writing to the pipeline. </summary> </member> <member name="F:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.TypeDescription"> <summary> Description of the object type output by this cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.#ctor(System.String)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet"/> class. </summary> <param name="typeDescription"></param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.WriteObjectWithProgress(System.Func{System.Object})"> <summary> Write a basic PSObject to the pipeline while displaying an appropriate progress message. </summary> <param name="obj">The object to write to the pipeline.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.UpdatePreviousAndCurrentVariableProgressOperations(System.Boolean,System.String)"> <summary> Updates the previous and current progress records for the current input object for scenarios in which a variable was piped into one or more cmdlets. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.PreUpdateProgress"> <summary> Updates progress before any of the objects in the current cmdlet are written to the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.DuringUpdateProgress(System.Object)"> <summary> Updates progress as each object in the current cmdlet is written to the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.PostUpdateProgress"> <summary> Updates progress after all objects in the current cmdlet have been written to the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.SetObjectSearchProgress(PrtgAPI.PowerShell.Progress.ProcessingOperation)"> <summary> Set the progress activity, initial description and total number of records (where applicable) for the current cmdlet. </summary> <param name="operation">The type of processing that is being performed by this cmdlet.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.WriteList``1(System.Collections.Generic.IEnumerable{``0})"> <summary> Writes a list to the output pipeline. </summary> <param name="sendToPipeline">The list that will be output to the pipeline.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgProgressCmdlet.First``1(System.Func{System.Collections.Generic.List{``0}},System.String,System.String)"> <summary> Create a sequence of progress tasks for executing a process containing two or more operations. </summary> <typeparam name="TResult">The type of object returned by the first operation.</typeparam> <param name="func">The first operation to execute.</param> <param name="typeDescription">The type description use for the progress.</param> <param name="operationDescription">The progress description to use for the first operation.</param> <returns></returns> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2"> <summary> Base class for all cmdlets that return advanced objects found in tables (sensors, devices, probes, logs, etc). </summary> <typeparam name="TObject">The type of objects that will be retrieved.</typeparam> <typeparam name="TParam">The type of parameters to use to retrieve objects</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.Name"> <summary> <para type="description">Filter the response to objects with a certain name. Can include wildcards.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.Filter"> <summary> <para type="description">Filter the response to objects that match one or more criteria.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.Count"> <summary> <para type="description">Maximum number of results to return. Note: when this parameter is specified wildcard filters such as <see cref="P:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.Name"/> may behave unexpectedly when wildcard characters are not used and records are being filtered by an additional property other than <see cref="F:PrtgAPI.Property.ParentId"/>.</para> </summary> </member> <member name="F:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.content"> <summary> The type of content this cmdlet will retrieve. </summary> </member> <member name="F:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.dynamicParameters"> <summary> The search filters that were specified via dynamic parameters. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.#ctor(PrtgAPI.Content,System.Nullable{System.Boolean})"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2"/> class. </summary> <param name="content">The type of content this cmdlet will retrieve.</param> <param name="shouldStream">Whether this cmdlet should have streaming enabled.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.GetRecords"> <summary> Retrieves all records of a specified type from a PRTG Server using the types default parameters. This method should never be executed. </summary> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.GetAdditionalRecords(`1)"> <summary> Retrieves additional records not included in the initial request. </summary> <param name="parameters">The parameters that were used to perform the initial request.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.DisplayFirstInChainMessage"> <summary> Display the initial progress message for the first cmdlet in a chain.<para/> If the cmdlet is streaming results, will display "detecting total number of items" and return the total number of items that will be retrieved. </summary> <returns>If the cmdlet is streaming, the total number of objects that will be retrieved. Otherwise, -1.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.GetCount(System.Collections.Generic.IEnumerable{`0},System.Int32@)"> <summary> Retrieves the number of elements returned from a request that may or may not have been streamed. </summary> <param name="records">The records to count. This collection will only be enumerated if results were not retrieved via streaming (indicating the collection is not yet complete)</param> <param name="count">If results were streamed, the total number of objects initially reported by the server. Otherwise, will be-1.</param> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.ProcessWildcardArrayFilter(PrtgAPI.Property,System.String[])"> <summary> Add an array of filter values that may contain wildcard values. </summary> <param name="property">The property to filter for.</param> <param name="arr">The array of wildcards.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.AddNameOrObjectFilter``1(PrtgAPI.Property,PrtgAPI.PowerShell.NameOrObject{``0},System.Func{``0,System.Object},System.Nullable{PrtgAPI.Property})"> <summary> Add a filter for the value contained in a <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> object. </summary> <typeparam name="T">The type of <see cref="T:PrtgAPI.PrtgObject"/> possibly contained in <paramref name="obj"/>.</typeparam> <param name="objectProperty">The property to filter on if <paramref name="obj"/> contains an object.</param> <param name="obj">The object that either contains a <see cref="T:PrtgAPI.PrtgObject"/> or a wildcard expression specifying the object name to filter by.</param> <param name="getValue">A function that retrieves the property to filter by from the <see cref="T:PrtgAPI.PrtgObject"/> when <paramref name="obj"/> contains an object.</param> <param name="nameProperty">The property to filter by when <paramref name="obj"/> does not contain an object. If this value is null, <paramref name="objectProperty"/> will be used as the filter property.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.AddPipelineFilter(PrtgAPI.Property,System.Object,System.Boolean)"> <summary> Adds a filter for a concrete value that came in from the pipeline (such as an Id) </summary> <param name="property">The property to filter on.</param> <param name="value">The value to filter for.</param> <param name="invalidatesStream">Whether adding this filter precludes the current cmdlet from streaming.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.AddWildcardFilter(PrtgAPI.Property,System.String)"> <summary> Add a filter for a value that may contain wildcard characters. </summary> <param name="property">The property to filter on.</param> <param name="value">The value to filter for.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.CreateParameters"> <summary> Creates a new parameter object capable of being passed to <see cref="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.GetObjects(`1)"/> </summary> <returns>The default set of parameters.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{`0})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.FilterResponseRecordsByNameOrObjectName``1(PrtgAPI.PowerShell.NameOrObject{``0},System.Func{`0,System.String},System.Collections.Generic.IEnumerable{`0})"> <summary> Filter a response with a wildcard expression contained in a <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> value. </summary> <typeparam name="T">The type of <see cref="T:PrtgAPI.PrtgObject"/> possibly contained in <paramref name="obj"/>.</typeparam> <param name="obj">The object that possibly contains a wildcard expression.</param> <param name="getProperty">A function that retrieves the property to filter by from each record.</param> <param name="records">The records to filter.</param> <returns>If <paramref name="obj"/> contains a wildcard expression, the filtered collection. Otherwise, the original collection.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableCmdlet`2.SortReturnedRecords(System.Collections.Generic.IEnumerable{`0})"> <summary> Specifies how the records returned from this cmdlet should be sorted. By default, no sorting is performed. </summary> <param name="records">The records to sort.</param> <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> representing the sorted collection.</returns> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgTableFilterCmdlet`2"> <summary> Base class for all cmdlets that return advanced objects found in tables that support enhanced record filters (sensors, devices, probes, etc). </summary> <typeparam name="TObject">The type of objects that will be retrieved.</typeparam> <typeparam name="TParam">The type of parameters to use to retrieve objects</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableFilterCmdlet`2.Id"> <summary> <para type="description">Retrieve an object with a specified ID.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableFilterCmdlet`2.#ctor(PrtgAPI.Content,System.Nullable{System.Boolean})"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Base.PrtgTableFilterCmdlet`2"/> class. </summary> <param name="content">The type of content this cmdlet will retrieve.</param> <param name="shouldStream">Whether this cmdlet should have streaming enabled.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableFilterCmdlet`2.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgTableRecurseCmdlet`2"> <summary> Base class for all table cmdlets that require recursion to retrieve all records from a parent object. </summary> <typeparam name="TObject">The type of objects that will be retrieved.</typeparam> <typeparam name="TParam">The type of parameters to use to retrieve objects</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableRecurseCmdlet`2.Recurse"> <summary> <para type="description">When piping from a <see cref="T:PrtgAPI.Group"/>, specifies that PrtgAPI should also recursively traverse all subgroups until all objects that should be returned by this cmdlet have been found. By default this value is true. If this value is false, PrtgAPI will not return objects from under any subgroups of the target group.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableRecurseCmdlet`2.#ctor(PrtgAPI.Content,System.Nullable{System.Boolean})"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Base.PrtgTableRecurseCmdlet`2"/> class. </summary> <param name="content">The type of content this cmdlet will retrieve.</param> <param name="shouldStream">Whether this cmdlet should have streaming enabled.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableRecurseCmdlet`2.GetAdditionalGroupRecords(PrtgAPI.Group,System.Func{PrtgAPI.Group,System.Int32},`1)"> <summary> Traverses the child groups of a specified parent group retrieving additional objects of a specified type until all objects of that type have been found. </summary> <param name="group">The parent group to traverse.</param> <param name="objsOfTypeInGroup">A function used to retrieve the total number of objects a group and its children contain.</param> <param name="parameters">The parameters that were used to execute the initial request on the parent.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableRecurseCmdlet`2.SortReturnedRecords(System.Collections.Generic.IEnumerable{`0})"> <summary> Specifies how the records returned from this cmdlet should be sorted. By default, sensors, devices and groups are sorted by their <see cref="P:PrtgAPI.ISensorOrDeviceOrGroup.Probe"/> property. </summary> <param name="records">The records to sort.</param> <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> representing the sorted collection.</returns> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgTableStatusCmdlet`2"> <summary> Base class for all cmdlets that return advanced objects found in tables that support enhanced record filters and are capable of filtering by <see cref="P:PrtgAPI.PowerShell.Base.PrtgTableStatusCmdlet`2.Status"/> (sensors, devices, probes, etc). </summary> <typeparam name="TObject">The type of objects that will be retrieved.</typeparam> <typeparam name="TParam">The type of parameters to use to retrieve objects</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableStatusCmdlet`2.Status"> <summary> <para type="description">Only retrieve objects that match a specific status.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableStatusCmdlet`2.#ctor(PrtgAPI.Content,System.Nullable{System.Boolean})"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Base.PrtgTableStatusCmdlet`2"/> class. </summary> <param name="content">The type of content this cmdlet will retrieve.</param> <param name="shouldStream">Whether this cmdlet should have streaming enabled.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableStatusCmdlet`2.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{`0})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableStatusCmdlet`2.SortReturnedRecords(System.Collections.Generic.IEnumerable{`0})"> <summary> Specifies how the records returned from this cmdlet should be sorted. </summary> <param name="records">The records to sort.</param> <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> representing the sorted collection.</returns> </member> <member name="T:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2"> <summary> Base class for all cmdlets that return advanced objects found in tables that support enhanced record filters and are capable of filtering by tags (sensors, devices, probes, etc). </summary> <typeparam name="TObject">The type of objects that will be retrieved.</typeparam> <typeparam name="TParam">The type of parameters to use to retrieve objects</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2.Tags"> <summary> <para type="description">Filter the response to objects with all specified tags. Can include wildcards.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2.Tag"> <summary> <para type="description">Filter the response to objects with one of several tags. Can include wildcards.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2.#ctor(PrtgAPI.Content,System.Nullable{System.Boolean})"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2"/> class. </summary> <param name="content">The type of content this cmdlet will retrieve.</param> <param name="shouldStream">Whether this cmdlet should have streaming enabled.</param> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{`0})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Base.PrtgTableTagCmdlet`2.GetDynamicParameters"> <summary> Retrieves an object that defines the dynamic parameters of this cmdlet. </summary> <returns>An object that defines the dynamic parameters of this cmdlet.</returns> </member> <member name="T:PrtgAPI.PowerShell.Base.PSCmdletEx"> <summary> Provides enhanced <see cref="T:System.Management.Automation.PSCmdlet"/> functionality, including members for invoking cmdlet processing methods internally. </summary> </member> <member name="P:PrtgAPI.PowerShell.Base.StreamableCmdletProvider`3.ForceStream"> <summary> Indicates that current cmdlet should stream, regardless of whether it determines this is required. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GoPrtgCmdlet"> <summary> Base class for all cmdlets that provide GoPrtg functionality. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetChannel"> <summary> <para type="synopsis">Retrieves all channels of a sensor.</para> <para type="description">The Get-Channel cmdlet retrieves all channels beloninging to a PRTG Sensor.</para> <para type="description">Get-Channel uses APIs unsupported by Paessler to retrieve advanced channel settings (limits, thresholds, etc). For each channel a separate request must be made in order to retrieve advanced channel details, in addition to a separate single request that retrieves general information for all channels. As such, in order to retrieve information on n channels, n+1 requests must be made. Keep this in mind when piping sensors with a large number of channels, or piping a large number of sensors.</para> <para type="description">If a name is specified, Get-Channel filters the results to those that match the name expression. Due to limitations of the PRTG API, Get-Channel filters its results post-request. If the specified sensor is read only for the active PRTG user, certain channel properties will not be displayed.</para> <para type="description">Get-Channel does not include the Downtime channel present on all sensors (Channel ID -4) as this sensor does not contain a value in table view. In addition, due to limitations of the PRTG API any channels configured with the setting "Hide from Tables" will not be returned by Get-Channel</para> <example> <code>C:\> Get-Sensor -Tags wmicpuloadsensor | Get-Channel</code> <para>Get all channels from all Windows CPU Load sensors.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmimemorysensor | Get-Channel Avail*</code> <para>Get all channels whose names start with "Avail" from all Windows Memory sensors.</para> <para/> </example> <example> <code>C:\> Get-Channel -SensorId 2001</code> <para>Get all channels from the sensor with ID 2001</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Channels#powershell">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Set-ChannelProperty</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetChannel.Sensor"> <summary> <para type="description">The Sensor to retrieve channels for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetChannel.SensorId"> <summary> <para type="description">The ID of the Sensor to retrieve channels for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetChannel.Name"> <summary> <para type="description">Filter the channels retrieved to only those that match a specific name.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetChannel.Id"> <summary> <para type="description">Filter the channels retrieved to only those that match a specific ID.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetChannel.GetRecords"> <summary> Retrieves a list of channels from a PRTG Server. </summary> <returns>A list of channels.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetDevice"> <summary> <para type="synopsis">Retrieves devices from a PRTG Server.</para> <para type="description">The Get-Device cmdlet retrieves devices from a PRTG Server. Devices hold sensors used to monitor a particular system. Get-Device provides a variety of methods of filtering the devices requested from PRTG, including by device name, ID and tags, as well as parent probe/group. Multiple filters can be used in conjunction to futher limit the number of results returned. Device properties that do not contain explicitly defined parameters on Get-Device can be specified as dynamic parameters, allowing one or more values to be specified of the specified type. All string parameters support the use of wildcards.</para> <para type="description">For scenarios in which you wish to exert finer grained control over search filters, a custom <see cref="T:PrtgAPI.SearchFilter"/> object can be created by specifying the field name, condition and value to filter upon. For information on properties that can be filtered upon, see New-SearchFilter.</para> <para type="description">Get-Device provides two parameter sets for filtering objects by tags. When filtering for devices that contain one of several tags, the -Tag parameter can be used, performing a logical OR between all specified operands. For scenarios in which you wish to filter for devices containing ALL specified tags, the -Tags parameter can be used, performing a logical AND between all specified operands.</para> <para type="description">When requesting devices belonging to a specified group, PRTG will not return any objects that may be present under further child groups of the parent group. To work around this, by default Get-Device will automatically recurse child groups if it detects the initial device request did not return all items (as evidenced by the parent group's TotalDevices property. If you do not wish Get-Device to recurse child groups, this behavior can be overridden by specifying -Recurse:$false.</para> <para type="description">The <see cref="T:PrtgAPI.Device"/> objects returned from Get-Device can be piped to a variety of other cmdlets for further processing, including Get-Sensor, wherein the ID of each device will be used to filter for its parent sensors.</para> <example> <code>C:\> Get-Device dc-1</code> <para>Get all devices named "dc-1" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Device *exch*</code> <para>Get all devices whose name contains "exch" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Device -Id 2000</code> <para>Get the device with ID 2000</para> <para/> </example> <example> <code>C:\> Get-Probe contoso | Get-Device</code> <para>Get all devices from the probe named "contoso"</para> <para/> </example> <example> <code>C:\> Get-Device -Tag C_OS_Win,exch</code> <para>Get all devices that have the tag "C_OS_Win" or "exch"</para> <para/> </example> <example> <code>C:\> Get-Device -Tags ny,C_OS_Win</code> <para>Get all Windows servers in New York</para> <para/> </example> <example> <code>C:\> Get-Device -Count 1</code> <para>Get only 1 device from PRTG.</para> <para/> </example> <example> <code>C:\> Get-Device -Location "*new york*"</code> <para>Get all devices whose location contains "new york" using a dynamic parameter.</para> <para/> </example> <example> <code>C:\> flt location contains "new york" | Get-Device</code> <para>Get all devices whose location contains "new york" using a SearchFilter.</para> <para/> </example> <example> <code>C:\> Get-Group -Id 2001 | Get-Device -Recurse:$false</code> <para>Get all devices directly under the specified group, ignoring all child groups.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Devices#powershell">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> <para type="link">New-SearchFilter</para> <para type="link">Add-Device</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetDevice.Group"> <summary> <para type="description">The group to retrieve devices for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetDevice.Probe"> <summary> <para type="description">The probe to retrieve devices for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetDevice.Host"> <summary> <para type="description">Filter the response to devices with a certain HostName/IP Address. Can include wildcards.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetDevice.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetDevice"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetDevice.GetAdditionalRecords(PrtgAPI.Parameters.DeviceParameters)"> <summary> Retrieves additional records not included in the initial request. </summary> <param name="parameters">The parameters that were used to perform the initial request.</param> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetDevice.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetDevice.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{PrtgAPI.Device})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetDevice.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving devices from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate"> <summary> <para type="synopsis">Retrieves all auto-discovery templates supported by a PRTG Server.</para> <para type="description">The Get-DeviceTemplate cmdlet retrieves all device templates supported by a specified object, allowing you to limit the scope of an auto-discovery operation when creating a new device to a specified set of device types. If no -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate.Device"/> is specified, by default Get-DeviceTemplate will retrieve device templates supported by the Core Probe Device (Object ID: 40). Practically speaking, all devices should support all device templates; as such, there should generally be no need to specify an object.</para> <para type="description">Results returned by Get-DeviceTemplate can be filtered by specifying one or more expressions to the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate.Name"/> parameter. Device template results will be filtered to those that contain a specified expression anywhere in their Name or Value properties.</para> <example> <code> C:\> $templates = Get-DeviceTemplate *wmi* C:\> Get-Device -Id 1001 | Start-AutoDiscovery $templates </code> <para>Perform an auto-discovery for WMI sensors on the device with ID 1001.</para> <para/> </example> <example> <code> C:\> $params = New-DeviceParameters dc-1 C:\> $params.AutoDiscoveryMode = "AutomaticTemplate" C:\> $params.DeviceTemplates = Get-DeviceTemplate *wmi* C:\> Get-Probe contoso | Add-Device $params </code> <para>Create a new device named "dc-1" that performs an auto-discovery for WMI sensors only.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#auto-discovery-1">Online version:</para> <para type="link">Start-AutoDiscovery</para> <para type="link">New-SensorParameters</para> <para type="link">Add-Device</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate.Device"> <summary> <para type="description">The object to retrieve device templates from. If no object is specified, PrtgAPI will retrieve all templates supported by the Core Probe Device (ID 40)</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate.Name"> <summary> <para type="description">Filters results to those whose name contains the specified expression.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetDeviceTemplate.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetGroup"> <summary> <para type="synopsis">Retrieves groups from a PRTG Server.</para> <para type="description">The Get-Group cmdlet retrieves groups from a PRTG Server. Groups allow you to organize devices and other groups together. In addition, the root node of PRTG containing all probes in the system is marked as a group. Get-Group provides a variety of methods of filtering the groups requested from PRTG, including by group name, ID and tags, as well as by parent probe/group. Multiple filters can be used in conjunction to further limit the number of results returned. Group properties that do not contain explicitly defined parameters on Get-Group can be specified as dynamic parameters, allowing one or more values to be specified of the specified type. All string parameters support the use of wildcards.</para> <para type="description">For scenarios in which you wish to exert finer grained control over search filters, a custom <see cref="T:PrtgAPI.SearchFilter"/> object can be created by specifying the field name, condition and value to filter upon. For more information on properties that can be filtered upon, see New-SearchFilter.</para> <para type="description">Get-Group provides two parameter sets for filtering objects by tags. When filtering for groups that contain one of several tags, the -Tag parameter can be used, performing a logical OR between all specified operands. For scenarios in which you wish to filter for groups containing ALL specified tags, the -Tags parameter can be used, performing a logical AND between all specified operands.</para> <para type="description">When requesting groups belonging to a specified group, PRTG will not return any objects that may be present under further child groups of the parent group (i.e. grandchildren). To work around this, by default Get-Groups will automatically recurse child groups if it detects the initial group request did not return all items (as evidenced by the group's TotalGroups property. If you do not wish Get-Group to recurse child groups, this behavior can be overridden by specifying -Recurse:$false.</para> <para type="description">The <see cref="P:PrtgAPI.PowerShell.Cmdlets.GetGroup.Group"/> objects returned from Get-Group can be piped to a variety of other cmdlets for further processing, including Get-Group, Get-Device and Get-Sensor, where the ID or name of the group will be used to filter for child objects of the specified type.</para> <example> <code>C:\> Get-Group Servers</code> <para>Get all groups named "Servers" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Group *windows*</code> <para>Get all groups whose name contains "windows" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Group -Id 2005</code> <para>Get the group with ID 2005</para> <para/> </example> <example> <code>C:\> Get-Probe contoso | Get-Group</code> <para>Get all groups under the probe named "contoso"</para> <para/> </example> <example> <code>C:\> Get-Group -Tag ny,ca</code> <para>Get all devices that have the tag "ny" or "ca"</para> <para/> </example> <example> <code>C:\> Get-Group -Tags ny,south</code> <para>Get all groups in South New York</para> <para/> </example> <example> <code>C:\> Get-Group -ParentId 3045</code> <para>Get all groups directly under the object with ID 3045 using a dynamic parameter.</para> <para/> </example> <example> <code>C:\> flt parentid eq 3045 | Get-Group</code> <para>Get all groups directly under the object with ID 3045 using a SearchFilter.</para> <para/> </example> <example> <code>C:\> Get-Group -Count 1</code> <para>Get only 1 group from PRTG.</para> <para/> </example> <example> <code>C:\> Get-Group -Id 2001 | Get-Group -Recurse:$false</code> <para>Get all groups directly under the group with ID 2001, ignoring all grandchildren.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Groups#powershell">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Probe</para> <para type="link">New-SearchFilter</para> <para type="link">Add-Group</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetGroup.Group"> <summary> <para type="description">The parent group to retrieve groups for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetGroup.Probe"> <summary> <para type="description">The probe to retrieve groups for.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetGroup.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetGroup"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetGroup.GetAdditionalRecords(PrtgAPI.Parameters.GroupParameters)"> <summary> Retrieves additional records not included in the initial request. </summary> <param name="parameters">The parameters that were used to perform the initial request.</param> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetGroup.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetGroup.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{PrtgAPI.Group})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetGroup.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving groups from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetModificationHistory"> <summary> <para type="synopsis">Retrieves the setting/state modification history of a PRTG Object.</para> <para type="description">The Get-ModificationHistory cmdlet retrieves all setting/state modifications of an object. The Get-ModificationHistory cmdlet corresponds with the "History" tab of objects in the PRTG UI.</para> <example> <code>C:\> Get-Sensor -Id 1001 | Get-ModificationHistory</code> <para>Retrieve all modification events for the sensor with ID 1001</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Historical-Information#modification-history-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetModificationHistory.Object"> <summary> <para type="description">The object to retrieve historical data for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetModificationHistory.Id"> <summary> <para type="description">The ID of the object to retrieve historical data for.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetModificationHistory.GetRecords"> <summary> Retrieves a list of modification events from a PRTG Server. </summary> <returns>A list of all modification events for the specified object.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetNotificationAction"> <summary> <para type="synopsis">Retrieves all Notification Actions from a PRTG Server.</para> <para type="description">The Get-NotificationAction retrieves notification actions present on a PRTG Server. Notification actions can be triggered under various circumstances via notification triggers. For more information on notification triggers, see Get-NotificationTrigger.</para> <para type="synopsis">Get-NotificationAction supports filtering returned actions by a number of parameters, including by -Name, -Id, -Tags or a custom SearchFilter. When filtering by tags, the -Tag parameter can be used, performing a logical OR between all specified operands. For scenarios in which you wish to filter for notification actions containing ALL specified tags, the -Tags parameter can be used, performing a logical AND between all specified operands.</para> <para type="description">Get-NotificationAction provides two parameter sets for filtering objects by tags. When filtering for notification actions that contain one of several tags, the -Tag parameter can be used, performing a logical OR between all specified operands. For scenarios in which you wish to filter for notification actions containing ALL specified tags, the -Tags parameter can be used, performing a logical AND between all specified operands.</para> <para type="description">If you are currently signed in as a read only user, you may not be able to see all notification actions or notification action properties.</para> <example> <code>C:\> Get-NotificationTrigger</code> <para>Get all notification actions.</para> <para/> </example> <example> <code>C:\> Get-NotificationTrigger *pager*</code> <para>Get all notification actions whose name contains "pager"</para> <para/> </example> <example> <code>C:\> Get-NotificationTrigger -Id 301,302</code> <para>Get the notification actions with IDs 301 and 302.</para> <para/> </example> <example> <code>C:\> Get-NotificationTrigger -Tags PagerDuty</code> <para>Get all notification actions tagged with "PagerDuty"</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Notification-Actions#powershell">Online version:</para> <para type="link">Get-NotificationTrigger</para> <para type="link">New-TriggerParameters</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetNotificationAction.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetNotificationAction"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetNotificationAction.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetNotificationAction.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{PrtgAPI.NotificationAction})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetNotificationAction.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving notification actions from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger"> <summary> <para type="synopsis">Retrieves notification triggers from a PRTG Server.</para> <para type="description">The Get-NotificationTrigger cmdlet retrieves notification triggers that are defined on a PRTG Object as well as the types of triggers an object supports. Notification triggers define conditions that when met by a sensor or one of its channels, should result in the firing of a notification action. When notification triggers are defined on a device, group, or probe, the triggers are inherited by all nodes under the object. Individual objects can choose to block inheritance of notification triggers, preventing those triggers from trickling down.</para> <para type="description">When looking at notification triggers defined on a single object, Get-NotificationTrigger can be invoked with no arguments. When looking at notification triggers across multiple objects, it is often useful to filter out notification triggers inherited from a parent object via the -Inherited parameter.</para> <para type="description"><see cref="T:PrtgAPI.NotificationTrigger"/> objects returned from Get-NotificationTrigger can be passed to Edit-NotificationTriggerProperty or New-NotificationTriggerParameters, to allow cloning or editing the trigger's properties.</para> <para type="description">Notification trigger types that are supported by a specified object can be determined using the -Types parameter. While there is no restriction on the types of triggers assignable to container-like objects (including devices, groups and probes) each sensor can only be assigned specific types based on the types of channels it contains. When adding a new trigger, Add-NotificationTrigger will automatically validate whether the specified TriggerParameters are assignable to the target object. If the new trigger's type is incompatible with the target object, PrtgAPI will throw an exception alerting you to this error.</para> <example> <code>C:\> Get-Probe | Get-NotificationTrigger</code> <para>Get all notification triggers defined on all probes</para> <para/> </example> <example> <code>C:\> Get-Device | Get-NotificationTrigger *pager* -Inherited $false</code> <para>Get all notification triggers from all devices whose OnNotificationAction action name contains "pager" in the name and are not inherited from any parent objects.</para> <para/> </example> <example> <code>C:\> Get-Probe -Id 2001 | Get-NotificationTrigger -Type State</code> <para>Get all State notification triggers from the sensor with ID 2001</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 1001 | Get-NotificationTrigger -Types</code> <para>Get all notification trigger types supported by the object with ID 1001.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Notification-Triggers#get-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> <para type="link">Add-NotificationTrigger</para> <para type="link">New-NotificationTriggerParameters</para> <para type="link">Set-NotificationTrigger</para> <para type="link">Edit-NotificationTriggerProperty</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger.Object"> <summary> <para type="description">The object to retrieve notification triggers for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger.OnNotificationAction"> <summary> <para type="description">Filter the response to objects with a certain OnNotificationAction. Can include wildcards.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger.Type"> <summary> <para type="description">Filter the response to objects of a certain type.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger.Types"> <summary> <para type="description">List all notification trigger types compatible with the specified object.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger.Inherited"> <summary> <para type="description">Indicates whether to include inherited triggers in the response.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetNotificationTrigger.GetRecords"> <summary> Retrieves all notification triggers from a PRTG Server. </summary> <returns>A list of all notification triggers.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetObject"> <summary> <para type="synopsis">Retrieves objects from a PRTG Server.</para> <para type="description">The Get-Object cmdlet retrieves objects from a PRTG Server. Get-Object is capable of retrieving any object with a unique identifier within the PRTG object hierarchy, including internal system nodes.</para> <para type="description">By default, any objects returned by the Get-Object cmdlet are returned in their raw <see cref="T:PrtgAPI.PrtgObject"/> state. For objects that are natively supported by PrtgAPI's type system, these objects can be transformed into their "true" forms by specifying the -Resolve parameter. When specified, Get-Object will group objects of a similar type up together to re-retrieve them via as few API calls as possible. As objects must effectively be retrieved twice, care should be taken when attempting to resolve a large number of objects.</para> <para type="description">Objects returned by Get-Object can be limited those of a particular <see cref="T:PrtgAPI.ObjectType"/> by specifying the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObject.Type"/> parameter. When filtering by sensors, the underlying raw type name must be specified (e.g. "ping", "wmivolume"). If the generic object type <see cref="F:PrtgAPI.ObjectType.Sensor"/> is specified, Get-Object will refrain from filtering by type server side, such that the complete type of each object may be inspected client side.</para> <example> <code>C:\> Get-Object</code> <para>Retrieve all uniquely identifiable objects.</para> <para/> </example> <example> <code>C:\> Get-Object -Id 810</code> <para>Retrieve the object with ID 810 (Web Server Options).</para> <para/> </example> <example> <code>C:\> Get-Object *report*</code> <para>Retrieve all objects whose name contains "report".</para> <para/> </example> <example> <code>C:\> Get-Object -Type Device,System</code> <para>Retrieve all Device and System objects.</para> <para/> </example> <example> <code>C:\> Get-Object -Type wmivolume -Resolve</code> <para>Get all WMI Volume sensor objects and resolve them to objects of type <see cref="T:PrtgAPI.Sensor"/>.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Other-Objects#powershell">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> <para type="link">Get-NotificationAction</para> <para type="link">Get-PrtgSchedule</para> <para type="link">Get-ObjectProperty</para> <para type="link">Set-ObjectProperty</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObject.Resolve"> <summary> <para type="description">Specifies that returned objects should be resolved to their most derived object types (<see cref="T:PrtgAPI.Sensor"/>, <see cref="T:PrtgAPI.Device"/>, <see cref="T:PrtgAPI.Probe"/>, etc.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObject.Type"> <summary> <para type="description">Filter results to those of a specified <see cref="T:PrtgAPI.ObjectType"/>.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObject.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetObject"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObject.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{PrtgAPI.PrtgObject})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObject.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObject.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving generic objects from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetObjectLog"> <summary> <para type="synopsis">Retrieves object logs from a PRTG Server.</para> <para type="description">The Get-ObjectLog cmdlet retrieves event logs from a PRTG Server. If no object is specified, Get-ObjectLog will retrieve results from the Root PRTG Group (ID: 0). Logs are ordered from newest to oldest. When retrieving logs from an object, all logs on child objects are also included. By default, PRTG only stores 30 days worth of logs.</para> <para type="description">If no date range or count is specified, by default Get-ObjectLog will retrieve all logs defined on the specified object for the last 7 days unless the specified object is the root group (ID: 0) or a probe, in which cause only logs that have occurred today will be retrieved.</para> <para type="description">When specifying a date range, well known constants as well as manual start and end times can be specified. When specifying a date and time, the meaning of -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"/> are dependent upon the order with which the logs are being output. When logs are ordered from newest to oldest -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/> refers to the time closest to now, while -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"/> represents the time furthest away from now. When logs are ordered from oldest to newest (i.e. when -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"/> is specified) -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/> represents the point in time logs furthest away from now logs should be retrieved from going into the future.</para> <para type="descrption">If a -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/> is specified without specifying an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"/>, Get-ObjectLog will default to retrieving logs for the past 7 days prior to the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/>, unless the specified object is the root group (ID: 0) or a probe, in which case Get-ObjectLog will default to retrieving logs for the past 24 hours from the start time. When specifying well known constants, logs are retrieved from the specified point in time until the current time.</para> <para type="description">Logs can be streamed continuously from a PRTG Object by specifying the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"/> parameter. When -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"/> is specified (also aliased as -Tail) PrtgAPI will continuously poll PRTG for new logs according to a specified -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Interval"/>, outputting them to the console as they arrive in order from oldest to newest. If no -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Interval"/> is specified, by default Get-ObjectLog will poll once per second. A -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/> can optionally be specified, specifying the initial point in time PrtgAPI should retrieve logs from. When -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"/> is specified -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"/> will have no effect. Specifying an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"/> in conjunction with -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"/> will cause a warning to be emitted to the warning stream specifying that the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"/> parameter will be ignored. </para> <para type="description">Logs can be filtered to those of one or more event types by specifying the -Status parameter. Logs can also be filtered according to their event name, however note that name based filtering of Get-ObjectLog is performed client side, not server side. As such, specifying a -Name in conjunction with -Count will not work. This can be cirvumvented using Select-Object with the -First parameter instead.</para> <para type="description">Note that while Get-ObjectLog considers the "start time" as being the point in time closest to now and the "end time" as the point in time furthest away from now when logs are ordered from newest to oldest, PRTG's underlying API actually defines these in the opposite way. Since logs are ordered from newest to oldest however, PrtgAPI flips these definitions as to prevent any confusion. Keep this in mind in the event the -Verbose parameter is specified, as the start and end times will appear to be switched. When -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"/> is specified the meaning of -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"/> are flipped to match their meaningings in the underlying API so that logs can continuously be retrieved.</para> <example> <code>C:\> Get-ObjectLog</code> <para>Retrieve all logs from the root group (ID: 0) from today.</para> <para/> </example> <example> <code>C:\> Get-ObjectLog -Count 4000</code> <para>Retrieve the last 4000 logs from the root group.</para> <para/> </example> <example> <code>C:\> Get-Device dc-1 | Get-ObjectLog</code> <para>Retrieve all logs on device "dc-1" for the last week.</para> <para/> </example> <example> <code>C:\> Get-ObjectLog -Start (Get-Date).AddDays(-3)</code> <para>Retrieve all logs from the root node from 3 and 4 days ago.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 2460 | Get-ObjectLog -EndDate (Get-Date).AddDays(-4)</code> <para>Retrieve all logs from the sensor with ID 2460 between now and 4 days ago.</para> <para/> </example> <example> <code>C:\> Get-Probe *contoso* | Get-ObjectLog -Since LastWeek</code> <para>Retrieve all logs from all probes whose name contains "contoso" between now and last week.</para> <para/> </example> <example> <code>C:\> Get-ObjectLog -Status Disconnected -Count 3</code> <para>Retrieve the last 3 times a probe disconnected.</para> <para/> </example> <example> <code>C:\> Get-Device exch-1 | Get-ObjectLog ping | select -First 4</code> <para>Retrieve the last 4 events that occurred to the sensor named "ping" on the device named "exch-1".</para> <para/> </example> <example> <code>C:\> Get-ObjectLog -Id 1001 -EndDate $null</code> <para>Retrieve all logs from the object with ID 1001.</para> <para/> </example> <example> <code>C:\> Get-ObjectLog -Status Connected -Wait</code> <para>Continuously poll PRTG for new Probe Connected events, requesting once every second.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Historical-Information#logs-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Object"> <summary> <para type="description">Object to retrieve logs for. If no object is specified, defaults to the root object (group ID: 0)</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Id"> <summary> <para type="description">ID of the object to retrieve logs for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"> <summary> <para type="description">Start time to retrieve logs from. If no value is specified, defaults to the current date and time.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.EndDate"> <summary> <para type="description">End time to retrieve logs until. If no value is specified, defaults to 7 prior from the <see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.StartDate"/>.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Period"> <summary> <para type="description">Time period to retrieve logs from. If no value is specified, retrieves logs from 7 days ago to the current date and time.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Status"> <summary> <para type="description">Only retrieve objects that match a specific status.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"> <summary> <para type="description">Indicates Get-ObjectLog should continuously retrieve new records from PRTG according to a specified polling -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Interval"/>.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Interval"> <summary> <para type="description">Interval with which Get-ObjectLog should poll for new records when using -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.Wait"/>.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetObjectLog"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObjectLog.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving logs from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty"> <summary> <para type="synopsis">Retrieves properties and settings of a PRTG Object.</para> <para type="description">The Get-ObjectProperty cmdlet retrieves properties and settings of a PRTG Object, as found on the "Settings" tab within the PRTG UI. Properties retrieved by Get-ObjectProperty may not necessarily be active depending on the value of their dependent property (e.g. the Interval will not take effect if InheritInterval is $true).</para> <para type="description">Get-ObjectProperty supports retrieving type safe and raw values. These values can be retrieved as part of larger property collections (by specifying no parameters or -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Raw"/>) or as individual values (-<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Property"/> or -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.RawProperty"/>). When retrieving property collections Get-ObjectProperty will fail to retrieve the expected properties if the current user has read only access to the specified object. To retrieve properties from read only objects a specific -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Property"/> or -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.RawProperty"/> must be specified.</para> <para type="description">Properties that are not currently supported by Get-ObjectProperty can be retrieved by specifying the -RawProperty parameter. Raw property names can be found by inspecting the "name" attribute of the <input/> tag under the object's Settings page in the PRTG UI. Unlike Set-ObjectProperty, raw property names do not need to include their trailing underscores when used with Get-ObjectProperty. If a trailing underscore is used, PrtgAPI will automatically truncate it. When retrieving raw properties please note that PRTG does not support the retrieval of Inheritance related properties via raw lookups.</para> <para type="description">By default raw properties will display their values in their "raw" format, i.e. their literal string value or numeric representation (such as 0 or 1 for an "option" setting). If -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Text"/> is specified when retrieving an "option" property, the property's "label" in the PRTG UI will be returned instead of its numeric representation.</para> <para type="description">Properties can be retrieved by piping in a <see cref="T:PrtgAPI.PrtgObject"/> or by specifying a single object ID. When retrieving by -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Id"/> individual properties of sub objects (such as Channels and Notification Triggers) can be retrieved by specifying a -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.SubId"/> as well as -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.RawSubType"/>. As sub objects typically include all properties known to them on their regular objects, retrieval of individual sub object properties is generally not necessary.</para> <para type="descrption">When retrieving individual properties, Get-ObjectProperty will throw a <see cref="T:PrtgAPI.PrtgRequestException"/> if the specified property is not present on the target object. If the PRTG Server is not in English however, Get-ObjectProperty will return "(Property not found)" in the PRTG Server's language when a property cannot be found.</para> <para type="description">In order to provide type safety when modifying properties, all properties supported by Set-ObjectProperty perform a lookup against their corresponding property in Get-ObjectProperty. If the type of value passed to Set-ObjectProperty does not match the property's expected type, PrtgAPI will attempt to parse the value into the expected type. For more information, see Set-ObjectProperty.</para> <example> <code>C:\> Get-Device -Id 1001 | Get-ObjectProperty</code> <para>Retrieve all properties and settings of the device with ID 1001</para> <para/> </example> <example> <code>C:\> Get-Device -Id 1001 | Get-ObjectProperty -RawProperty name_</code> <para>Retrieve the value of raw property "name"</para> <para/> </example> <example> <code>C:\> Get-Device -Id 1001 | Get-ObjectProperty -RawProperty query_ -Text</code> <para>Retrieve the "query" field of a REST Custom sensor.</para> <para/> </example> <example> <code>C:\> Get-ObjectProperty -Id 1001 -Raw</code> <para>Retrieve all raw properties of the object with ID 1001</para> <para/> </example> <example> <code>C:\> Get-ObjectProperty -Id 1001 -SubId 1 -RawSubType channel -RawProperty limitmaxerror</code> <para>Retrieve the upper error limit property of the channel with ID 1 on the object with ID 1001</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Property-Manipulation#retrieving-properties-1">Online version:</para> <para type="link">Set-ObjectProperty</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Object"> <summary> <para type="description">The object to retrieve properties for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Id"> <summary> <para type="description">The ID of the object to retrieve properties for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.SubId"> <summary> <para type="description">The sub ID of the object to retrieve properties for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.RawSubType"> <summary> <para type="description">The type of the sub object to retrieve properties for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Property"> <summary> <para type="description">The name of one or more properties to retrieve. Note: PRTG does not support retrieving inheritance settings in via direct API calls.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.RawProperty"> <summary> <para type="description">The raw name of one or more properties to retrieve. This can be typically discovered by inspecting the "name" attribute of the properties' <input/> tag on the Settings page of PRTG.<para/> Note: PRTG does not support retrieving raw section inheritance settings.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Raw"> <summary> <para type="description">Retrieve all raw properties from the target object.</para> <para type="description">Note: objects may have additional properties that cannot be retrieved via this method. For more information, see Get-Help about_ObjectProperty</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.Text"> <summary> <para type="description">Specifies whether to display option properties using their label names instead their internal numeric values.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetObjectProperty.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetProbe"> <summary> <para type="synopsis">Retrieves probes from a PRTG Server.</para> <para type="description">The Get-Probe cmdlet retrieves probes from a PRTG Server. Probes represent sites where the PRTG Probe Service has been installed. Each PRTG Server has a single Core Probe. Additional probes may be installed with the PRTG Remote Probe installer for monitoring of remote sites.</para> <para type="description">Get-Probe provides a variety of methods of filtering the probes requested from PRTG, including by probe name, probe status (Connected / Disconnected), ID and tags. Multiple filters can be used in conjunction to further limit the number of results returned. Probe properties that do not contain explicitly defined parameters on Get-Group can be specified as dynamic parameters, allowing one or more values to be specified of the specified type. All string parameters support the use of wildcards.</para> <para type="description">For scenarios in which you wish to exert finer grained control over search filters, a custom <see cref="T:PrtgAPI.SearchFilter"/> object can be created by specifying the field name, condition and value to filter upon. For information on properties that can be filtered upon, see New-SearchFilter</para> <para type="description">Get-Probe provides two parameter sets for filtering objects by tags. When filtering for probes that contain one of several tags, the -Tag parameter can be used, performing a logical OR between all specified operands. For scenarios in which you wish to filter for probes containing ALL specified tags, the -Tags parameter can be used, performing a logical AND between all specified operands.</para> <para type="description">The <see cref="T:PrtgAPI.Probe"/> objects returned from Get-Probe can be piped to a variety of other cmdlets for further processing, including Get-Group, Get-Device and Get-Sensor, where the ID or name of the probe will be used to filter for child objects of the specified type.</para> <example> <code>C:\> Get-Probe contoso</code> <para>Get all probes named "contoso" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Probe *office*</code> <para>Get all probes whose name contains "office" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Probe -Id 1</code> <para>Get the probe with ID 1</para> <para/> </example> <example> <code>C:\> Get-Probe -TotalGroups 10</code> <para>Get all probes that contain exactly 10 child groups using dynamic parameters.</para> <para/> </example> <example> <code>C:\> flt totalgroups eq 10 | Get-Probe</code> <para>Get all probes that contain exactly 10 child groups using a SearchFilter.</para> <para/> </example> <example> <code>C:\> Get-Probe -Count 1</code> <para>Get only 1 probe from PRTG.</para> <para/> </example> <example> <code>C:\> flt totalsens greaterthan 100 | Get-Probe</code> <para>Get all probes that contain more than 100 sensors.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Probes#powershell">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">New-SearchFilter</para> <para type="link">Approve-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetProbe.ProbeStatus"> <summary> <para type="description">Only retrieve probes that match a specified connection state.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetProbe.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetProbe"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetProbe.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetProbe.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving probes from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetPrtgSchedule"> <summary> <para type="synopsis">Retrieves all Monitoring Schedules from a PRTG Server.</para> <para type="description">The Get-PrtgSchedule cmdlet retrieves all monitoring schedules present on a PRTG Server. Schedules define the timeframes during which monitoring on sensors can be active. When sensors are deactivated due to schedules, their statuses will automatically be set to <see cref="F:PrtgAPI.Status.PausedBySchedule"/>.</para> <example> <code>C:\> Get-PrtgSchedule</code> <para>Get all monitoring schedules.</para> <para/> </example> <example> <code>C:\> Get-PrtgSchedule *night*</code> <para>Get all monitoring schedules whose name contains "night"</para> <para/> </example> <example> <code> C:\> $schedule = Get-PrtgSchedule -Id 621 C:\> Get-Sensor -Id 2024 | Set-ObjectProperty -RawParameters @{ >> scheduledependency = 0 >> schedule_ = $schedule >> } </code> <para>Apply the schedule with ID 621 to the sensor with ID 2024</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Schedules#powershell">Online version:</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetPrtgSchedule.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetPrtgSchedule"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetPrtgSchedule.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving schedules from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetPrtgStatus"> <summary> <para type="synopsis">Retrieves configuration, status and version details from a PRTG Server.</para> <para type="description">The Get-PrtgStatus cmdlet retrieves status details from a PRTG Server, including details regarding sensor types, license and version details, cluster config and user access rights.</para> <example> <code>C:\> Get-PrtgStatus</code> <para>Retrieve the current system status.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Miscellaneous#prtg-system-status-1">Online version:</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetPrtgStatus.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetSensor"> <summary> <para type="synopsis">Retrieves sensors from a PRTG Server.</para> <para type="description">The Get-Sensor cmdlet retrieves sensors from a PRTG Server. Sensors are the fundamental unit of monitoring in PRTG, and the most populous type of object in the system by far. Get-Sensor provides a variety of methods of filtering the sensors requested from PRTG, including by sensor name, ID, status and tags as well as parent probe/group/device. Multiple filters can be used in conjunction to further limit the number of results returned. Sensor properties that do not contain explicitly defined parameters on Get-Sensor can be specified as dynamic parameters, allowing one or more values to be specified of the specified type. All string parameters support the use of wildcards.</para> <para type="description">For scenarios in which you wish to exert finer grained control over search filters, a custom <see cref="T:PrtgAPI.SearchFilter"/> object can be created specifying the field name, condition and value to filter upon. For information on properties that can be filtered on, see New-SearchFilter. When searching for Sensor Factory objects, please note that these objects do not respond to server side filters by "type". To filter for Sensor Factory sensors, filter by the tag "factorysensor".</para> <para type="description">When invoked with no arguments, Get-Sensor will query the number of sensors present on your PRTG Server. If PrtgAPI detects the number is about a specified threshold, PrtgAPI will split the request up into several smaller requests which will each be invoked one after the other. Results will then be "streamed" to the pipeline as each smaller request completes. A progress bar will also be visible up the top indicating the total number of sensors retrieved/remaining.</para> <para type="description">Get-Sensor provides two parameter sets for filtering objects by tags. When filtering for sensors that contain one of several tags, the -Tag parameter can be used, performing a logical OR between all specified operands. For scenarios in which you wish to filter for sensors containing ALL specified tags, the -Tags parameter can be used, performing a logical AND between all specified operands.</para> <para type="description">When requesting sensors belonging to a specified group, PRTG will not return any objects that may be present under further child groups of the parent group. To work around this, by default Get-Sensor will automatically recurse child groups if it detects the initial sensor request did not return all items (as evidenced by the parent group's TotalSensors property. If you do not wish Get-Sensor to recurse child groups, this behavior can be overridden by specifying -Recurse:$false.</para> <para type="description">The <see cref="T:PrtgAPI.Sensor"/> objects returned from Get-Sensor can be piped to a variety of other cmdlets for further processing, including Get-Channel, wherein the ID of the sensor will be used to acquire its underlying channels.</para> <example> <code>C:\> Get-Sensor Ping</code> <para>Get all sensors named "Ping" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Sensor *cpu*</code> <para>Get all sensors whose name contains "cpu" (case insensitive)</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 2001</code> <para>Get the sensor with ID 2001</para> <para/> </example> <example> <code>C:\> Get-Sensor -Status Down</code> <para>Get all sensors in a "Down" status.</para> <para/> </example> <example> <code>C:\> Get-Device *fw* | Get-Sensor Ping</code> <para>Get all sensors named "Ping" (case insensitive) from all devices whose name contains "fw"</para> <para/> </example> <example> <code>C:\> Get-Sensor -Count 1</code> <para>Get only 1 sensor from PRTG.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tag wmicpu*,wmimem*</code> <para>Get all WMI CPU Load and WMI Memory sensors.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags ny,wmicpu*</code> <para>Get all WMI CPU Load sensors from all New York devices.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Type *snmp*</code> <para>Get all SNMP sensors using a dynamic parameter.</para> <para/> </example> <example> <code>C:\> flt type contains snmp | Get-Sensor</code> <para>Get all SNMP sensors using a SearchFilter.</para> <para/> </example> <example> <code>C:\> Get-Group -Id 2001 | Get-Sensor -Recurse:$false</code> <para>Get all sensors from devices directly under the specified group, ignoring all child groups.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Sensors#powershell">Online version:</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> <para type="link">Get-Channel</para> <para type="link">New-SearchFilter</para> <para type="link">Add-Sensor</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensor.Device"> <summary> <para type="description">The parent <see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensor.Device"/> to retrieve sensors for, or a wildcard expression specifying the names of the devices to retrieve sensors for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensor.Probe"> <summary> <para type="description">The <see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensor.Probe"/> to retrieve sensors for, or a wildcard expression specifying the names of the probes to retrieve sensors for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensor.Group"> <summary> <para type="description">The group to retrieve sensors for.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensor.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetSensor"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensor.GetAdditionalRecords(PrtgAPI.Parameters.SensorParameters)"> <summary> Retrieves additional records not included in the initial request. </summary> <param name="parameters">The parameters that were used to perform the initial request.</param> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensor.ProcessAdditionalParameters"> <summary> Processes additional parameters specific to the current cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensor.PostProcessAdditionalFilters(System.Collections.Generic.IEnumerable{PrtgAPI.Sensor})"> <summary> Process any post retrieval filters specific to the current cmdlet. </summary> <param name="records">The records to filter.</param> <returns>The filtered records.</returns> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensor.CreateParameters"> <summary> Creates a new parameter object to be used for retrieving sensors from a PRTG Server. </summary> <returns>The default set of parameters.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetSensorFactorySource"> <summary> <para type="synopsis">Retrieves source sensors and channels from a PRTG Sensor Factory.</para> <para type="description">The Get-SensorFactorySource cmdlet retrieves the source sensors and channels of PRTG Sensor Factory objects. By default Get-SensorFactorySource retrieves the sensors of the channel definition. If the -Channels parameter is specified, the cmdlet will retrieve the source channels instead. If a sensor is passed to Get-SensorFactorySource that isn't a Sensor Factory, an ParameterBindingException will be thrown.</para> <example> <code>C:\> flt type eq "sensor factory" | Get-Sensor -Count 1 | Get-SensorFactorySource</code> <para>Retrieve all source sensors of a single sensor factory sensor</para> <para/> </example> <example> <code>C:\> flt type eq "sensor factory" | Get-Sensor -Count 1 | Get-SensorFactorySource -Channels</code> <para>Retrieve all source channels of a single sensor factory sensor</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Sensor-Factories#get-sensor-factory-sources">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">New-SearchFilter</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorFactorySource.Sensor"> <summary> <para type="description">The sensor factory sensor to retrieve source sensors or channels of.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorFactorySource.Channels"> <summary> <para type="description">Whether to retrieve the source <see cref="T:PrtgAPI.Channel"/> objects of a sensor factory, instead of the source sensors.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorFactorySource.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetSensorFactorySource"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorFactorySource.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory"> <summary> <para type="synopsis">Retrieves historic data values for a PRTG Sensor.</para> <para type="description">The Get-SensorHistory cmdlet retrieves historic data values for all channels of a PRTG Sensor within a specified time period. By default, values are returned according to the scanning interval defined on the sensor (e.g. values every 60 seconds). Using the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Average"/> parameter, values can be averaged together to provide a higher level view of a larger time span. Any number of seconds can be specified as the <see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Average"/>, however note that depending on the interval of the sensor, certain time spans may result in blank values within the sensor results.</para> <para type="description">Historic data values can be retrieved over any time period via the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.StartDate"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.EndDate"/> parameters. If these values are not specified, records will be returned from between now and 60 minutes ago. If PRTG finds it does not have enough monitoring data to return for the specified time span, an exception will be thrown. To work around this, you can request date for a larger time frame and then potentially filter the data with the Where-Object and Select-Object cmdlets.</para> <para type="description">When an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.EndDate"/> is specified, Get-SensorHistory will split the sensor history query into a series of smaller requests, emitting results to the pipeline as they arrive. If the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Count"/> parameter is speciifed, and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.EndDate"/> is not specified, Get-SensorHistory will automatically adjust the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.EndDate"/> such that the specified number of records can be retrieved, based on the sensor's Interval or the specified -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Average" />. If an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.EndDate"/> has been specified, the number of records returned may be limited by the number of records available in the specified time period.</para> <para type="description">Due to limitations of the PRTG API, Get-SensorHistory cannot display both downtime and channel value lookups at the same time. Value lookups can only be displayed when an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Average"/> of 0 is specified, while downtime can only be displayed when a specific average has been specified. By default, if no average is specified Get-SensorHistory will use an average of 0 to enable the display of value lookups. If the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Downtime"/> parameter is specified and no -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Average"/> is specified, Get-SensorHistory will use the Interval property of the sensor to specify the true average.</para> <para type="description">PrtgAPI will automatically display all numeric channel values as numbers, with the unit of the channel displayed in brackets next to the channel header (e.g. "Total(%)"). These units are for display purposes only, and so can be ignored when attempting to extract certain columns from the sensor history result.</para> <para type="description">Note that while Get-SensorHistory considers the "start time" as being the point in time closest to now and the "end time" as the point in time furthest away from now, PRTG's underlying API actually defines these in the opposite way. Since records are ordered from newest to oldest however, PrtgAPI flips these definitions as to prevent any confusion. Keep this in mind in the event the -Verbose parameter is specified, as the start and end times will appear to be switched.</para> <example> <code>C:\> Get-Sensor -Id 1001 | Get-SensorHistory</code> <para>Get historical values for all channels on the sensor with ID 1001 over the past 24 hours, using the sensor's default interval.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 1001 | Get-SensorHistory -Average 300</code> <para>Get historical values for all channels on the sensor with ID 1001 over the past 24 hours, averaging values in 5 minute intervals.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 1001 | Get-SensorHistory -StartDate (Get-Date).AddDays(-1) -EndDate (Get-Date).AddDays(-3)</code> <para>Get historical values for all channels on the sensor with ID 1001 starting three days ago and ending yesterday.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmicpu* -count 1 | Get-SensorHistory | select Total</code> <para>Get historical values for all channels on a single WMI CPU Load sensor, selecting the "Total" channel (visually displayed as "Total(%)"</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmicpu* -count 1 | where Total -gt 90</code> <para>Get historical values for all channels on a single WMI CPU Load sensor where the Total channel's value was greater than 90.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Historical-Information#sensor-history-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Select-Object</para> <para type="link">Where-Object</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Sensor"> <summary> <para type="description">Sensor to retrieve historic data for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Id"> <summary> <para type="description">ID of the sensor to retrieve historic data for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.StartDate"> <summary> <para type="description">Start time to retrieve history from. If no value is specified, defaults to 24 hours ago.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.EndDate"> <summary> <para type="description">End time to retrieve history to. If no value is specified, defaults to the current date and time.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Average"> <summary> <para type="description">Time span (in seconds) to average results over. For example, a value of 300 will show the average value every 5 minutes. If a value of 0 is used, PRTG will include value lookup labels in historical results. If a value other than 0 is used, PRTG will include the Downtime channel in results.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Downtime"> <summary> <para type="description">Specifies that the Downtime channel should be included in query results in lieu of value lookup labels. If this parameter is specified and <see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Average"/> is not specified, the Interval of the sensor will be used to determine the average.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.Count"> <summary> <para type="description">Limits results to the specified number of items within the specified time period.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorHistory.GetRecords"> <summary> Retrieves all records of a specified type from a PRTG Server. Implementors can call different methods of a <see cref="T:PrtgAPI.PrtgClient"/> based on the type they wish to retrieve. </summary> <returns>A list of records relevant to the caller.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget"> <summary> <para type="synopsis">Retrieves system resources that capable of being monitored or used for monitoring by a new PRTG Sensor.</para> <para type="description">Get-SensorTarget cmdlet identifies resources that are capable of being used as the target of a new PRTG Sensor. The resources identified by Get-SensorTarget are dynamic in nature. When Get-SensorTarget is executed, the PRTG will interrogate the PRTG Probe of the specified device in order to identify the resources that are compatible with the target system. For example, for creating a new WMI Service sensor, PRTG will request the probe enumerate all of the system services that are installed on the target device.</para> <para type="description">For convenience, Get-SensorTarget allows specifying a -Name used to filter the returned results. Typically, items returned by Get-SensorTarget should be sent straight to a call to New-SensorParameters, however if you do not wish to perform any other processing on the results returned by this cmdlet you may automatically generate a set of parameters for the specified sensor type by specifying the -Parameters (alias: -Params) parameter. When creating sensor parameters with the -Params parameter, the default sensor name of the specified sensor type will be used.</para> <para type="description">Sensor types not supported by PrtgAPI can still be interrogated by Get-SensorTarget via the -RawType parameter. Raw sensor type names can be found by inspecting the Id column of items output from the Get-SensorType cmdlet. When operating on raw types, by default Get-SensorTarget will attempt to guess the name of the data table within PRTG the sensor targets are stored in. If PRTG detects more than one data table exists, an <see cref="T:System.ArgumentException"/> will be thrown listing the names of all of the available tables. The name of the table to use can then be specified to the -Table parameter.</para> <para type="description">Sensor targets identified for raw types are represented as a "generic" sensor target type. Generic sensor targets allow accessing both their Name and Value as named properties. Any other properties of the sensor target can be obtained by accessing the Properties array of the object. Generic sensor targets capable of being used with any <see cref="T:PrtgAPI.Parameters.NewSensorParameters"/> type, including <see cref="T:PrtgAPI.Parameters.RawSensorParameters"/> and <see cref="T:PrtgAPI.Parameters.DynamicSensorParameters"/>.</para> <para type="description">While resources returned by Get-SensorTarget are guaranteed to be compatible with the target device, there is no restriction preventing such resources from being used on other devices as well. Attempting to create a sensor on an incompatible device may succeed, however the sensor will likely enter a <see cref="F:PrtgAPI.Status.Down"/> state upon refreshing, similar to what would happen if the sensor were created normally and then the sensor's target was deleted.</para> <example> <code> C:\> $device = Get-Device -Id 1001 C:\> $services = $device | Get-SensorTarget WmiService *exchange* C:\> $params = New-SensorParameters WmiService $services C:\> $device | Add-Sensor $params </code> <para>Add all WMI Services whose name contains "Exchange" to the Device with ID 1001</para> <para/> </example> <example> <code> C:\> $device = Get-Device -Id 1001 C:\> $params = $device | Get-SensorTarget WmiService *exchange* -Params C:\> $device | Add-Sensor $params </code> <para>Add all WMI Services whose name contains "Exchange" to the Device with ID 1001, creating sensor parameters immediately.</para> <para/> </example> <example> <code>C:\> $targets = Get-Device -Id 1001 | Get-SensorTarget -RawType vmwaredatastoreextern</code> <para>Get all VMware Datastores from the device with ID 1001.</para> <para/> </example> <example> <code> C:\> $targets = Get-Device -Id 1001 | Get-SensorTarget -RawType wmivolume C:\> $targets | foreach { $_.Properties[3] } </code> <para>List the disk type (Local Disk, Compact Disk etc) of all WMI Volume targets.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Sensor-Targets#powershell">Online version:</para> <para type="link">New-SensorParameters</para> <para type="link">Add-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-SensorType</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.Device"> <summary> <para type="description">The device to retrieve sensor targets from. While results returned by Get-SensorTarget are guaranteed to be compatible with the specified device, returned objects may also be compatible with other devices in PRTG.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.Type"> <summary> <para type="description">The type of sensor target to query for. Not all sensor types may require or support target resolution.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.Name"> <summary> <para type="description">An expression used to filter returned results to those with a specified name.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.Parameters"> <summary> <para type="description">When present, specifies that Get-SensorTarget should automatically wrap the returned items up in a set of sensor parameters applicable to the specified sensor type.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.RawType"> <summary> <para type="description">The raw type of sensor target to query for. Types that require additional information before querying (such as Oracle Tablespace) cannot be queried.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.Table"> <summary> <para type="description">The name of the Dropdown List or Checkbox Group the sensor targets belong to. If this value is null, PrtgAPI will attempt to guess the name of the table. If this value cannot be guessed or is not valid, an <see cref="T:System.ArgumentException"/> will be thrown listing all possible values.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.Timeout"> <summary> <para type="description">Duration (in seconds) to wait for sensor targets to resolve.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorTarget.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetSensorTotals"> <summary> <para type="synopsis">Retrieves the total number of each type of sensor in the system.</para> <para type="description">The Get-SensorTotals cmdlet retrieves the total number of each type of sensor in a PRTG Server.</para> <example> <code>C:\> Get-SensorTotals</code> <para>Count the number of sensors in the system.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Sensors#sensor-totals-1">Online version:</para> <para type="link">Get-Sensor</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorTotals.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetSensorType"> <summary> <para type="synopsis">Retrieves all sensor types supported by a PRTG Server.</para> <para type="description">The Get-SensorType cmdlet retrieves all sensor types from PRTG that are supported by a specified object, allowing you to identify the Type Id to be used with other cmdlets (such as Get-SensorTarget and New-SensorParameters). If no -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSensorType.Object"/> is specified, by default Get-SensorType will retrieve sensor types supported by the Core Probe (Object ID: 1). Practically speaking, all objects appear to support all sensor types; as such, there should generally be no need to specify an object.</para> <para type="description">Results returned by Get-SensorType can be filtered by specifying an expression to the -Name parameter. Sensor type results will be filtered to those that contain the specified expression anywhere in either the Id, Name or Description.</para> <example> <code>C:\> Get-SensorType</code> <para>List all sensor types supported by PRTG.</para> <para/> </example> <example> <code>C:\> Get-SensorType *exchange*</code> <para>List all sensor types that contain "exchange" in the Id, Name or Description.</para> <para/> </example> <example> <code>C:\> Get-Device -Id 1001 | Get-SensorType</code> <para>List all sensor types supported by the Device with Id 1001</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Sensors#sensor-types-1">Online version:</para> <para type="link">Get-SensorTarget</para> <para type="link">New-SensorParameters</para> <para type="link">Get-Device</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorType.Object"> <summary> <para type="description">The object to retrieve sensor types from. If no object is specified, PrtgAPI will retrieve all types supported by the Core Probe (ID 1)</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSensorType.Name"> <summary> <para type="description">Filters results to those that contain the specified expression in any field.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSensorType.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo"> <summary> <para type="synopsis">Retrieves system information for a PRTG Device.</para> <para type="description">The Get-SystemInfo cmdlet retrieves system information for a specified device. By default, PRTG will probe devices once every 24 hours for enhanced system information, including hardware, software, process, service and user info. Not all devices may support retrieving system information or may only support specific system information types.</para> <para type="description">Specific system information types can be retrieved by specifying one or more values to the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo.Type"/> parameter. If more than one type is specified, results will be bundled up in a <see cref="T:System.Management.Automation.PSObject"/> containing a property for each information type. If no types are specified, Get-SystemInfo will automatically retrieve information for all known information types.</para> <example> <code>C:\> Get-SystemInfo -Id 1001</code> <para>Retrieve system information from the device with ID 1001.</para> <para/> </example> <example> <code>C:\> Get-Device -Id 1001 | Get-SystemInfo</code> <para>Retrieve system information from a piped in device.</para> <para/> </example> <example> <code>C:\> Get-SystemInfo -ID 1001 hardware,software</code> <para>Retrieve hardware and software information for the device with ID 1001.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Devices#system-information-1">Online version:</para> <para type="link">Get-Device</para> <para type="link">Refresh-SystemInfo</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo.Device"> <summary> <para type="description">Device to retrieve system information for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo.Id"> <summary> <para type="description">ID of the device to retrieve system information for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo.Type"> <summary> <para type="description">One or more system information types to retrieve. If no types are specified, all System Information types will be retrieved.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetSystemInfo.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.NewSearchFilter"> <summary> <para type="synopsis">Filters results on the PRTG Server to improve performance.</para> <para type="description">The New-SearchFilter cmdlet allows you to filter the results returned by a cmdlet by a custom property. Each object returned from New-SearchFilter defines a single filter rule. Multiple filters can often be passed to compatible cmdlets to filter on multiple values. As a shorthand, you can access the New-SearchFilter cmdlet via the alias 'flt'.</para> <para type="description">To view all properties that can be filtered on for on objects, see the SYNTAX or PARAMETERS section of this cmdlet's help page.</para> <example> <code>C:\> flt parentid eq 1001 | Get-Sensor</code> <para>Get all sensors under the object with ID 1001</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Filters#powershell">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSearchFilter.Property"> <summary> <para type="description">Object property to filter on.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSearchFilter.Operator"> <summary> <para type="description">Operator to filter with.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSearchFilter.Value"> <summary> <para type="description">Value to filter for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSearchFilter.Illegal"> <summary> <para type="description">Permits constructing search expressions believed to be incompatible with all versions of PRTG.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSearchFilter.Raw"> <summary> <para type="description">Specifies to avoid performing formatting the serialized filter value based on the required format of the specified filter property.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSearchFilter.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition"> <summary> <para type="synopsis">Creates a channel definition for use in a PRTG Sensor Factory.</para> <para type="description">The New-SensorFactoryDefinition cmdlet automatically defines a series of channel defitions for use in a Sensor Factory sensor.</para> <para type="description">New-SensorFactoryDefinition can be used to create both individual channel definitions for a collection of sensors, as well as aggregation channels, using a complex formula that operates on all of the sensors in a set. As a shorthand, you can access the New-SensorFactoryDefinition cmdlet via the alias 'fdef'.</para> <para type="description">When specifying an Expression, the default expression and current sensor can be accessed via the $expr and $_ automatic variables. Unless you wish to modify the sensor ID or channel ID to be used for a specific sensor, it is generally recommended to avoid recalculating the base channel definition and use the automatic $expr variable, which is defined as "channel(sensorId, channelID)" where sensorID is the ID of the current sensor, and channelID is the value passed to -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.ChannelId"/>. If a -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.ChannelId"/> is not specified, channel ID 0 will automatically be used.</para> <para type="description">Aggregation channels, representing values derived from multiple sensor channels, can be created using the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> parameters. When -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> is specified, New-SensorFactoryDefinition creates a single channel based on all of the channels piped in to the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Sensor"/> parameter. By contrast, the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> parameter creates an aggregated summary channel _in addition to_ channels for each individual sensor. Both -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> allow specifying well known summarization formulae (including Sum, Min, Max, Average, etc) as well as a custom <see cref="T:System.Management.Automation.ScriptBlock"/> where a custom expression is required.</para> <para type="description">When specifying an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> or custom -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/>, the running accumulator, default expression and current sensor can be accessed via the $acc, $expr and $_ automatic variables respectively. Based on whether not the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Expression"/> parameter is specified, $expr will either contain the custom or the default expression.</para> <para type="description">In the event your aggregation formula requires a "post-processing" step (such as dividing by the total number of items when calculating an average), this can be performed via the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Finalizer"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryFinalizer"/> parameters (when creating a regular -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> or -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> respectively.</para> <para type="description">While it is possible to override the expression evaluated in $expr in the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> or -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> by recalculating the channel definition (via the $_ automatic variable), if the channel ID specified in the new definition is different from the channel ID specified in the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.ChannelId"/> parameter, the first channel definition in the resulting output will have a different channel ID than all the rest. This is due to the fact when the Aggregator runs, it initially sets the accumulator ($acc) to the expression of the first sensor. As such, if in the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> you change the channel ID, you will also need to replace the channel ID of the initial value in the accumulator. Due to the complexity involved in managing this, it is recommended to avoid modifying the channel ID in the aggregator, and either set the channel ID in an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Expression"/> or in the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.ChannelId"/>.</para> <para type="description">All parameters that accept <see cref="T:System.Management.Automation.ScriptBlock"/> values including -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Expression"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> and -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> support the use of Sensor Factory formula functions (channel(), min(), max(), avg() and percent()), as well as all boolean and math operators. For more information, see the Sensor Factory documentation in the PRTG Manual.</para> <para type="description">Horizontal lines can be generated by specifying the position the line should appear at to the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Value"/> parameter. When specifying a horizontal line the channel unit the line should apply to should be specified in square brackets at the end of the channel name. It does not matter what the ID of any horizontal lines are, as long as they do not conflict with any other channel definitions.</para> <para type="description">To automatically copy the output of New-SensorFactoryDefinition to the clipboard, you can pipe the cmdlet to clip.exe.</para> <example> <code>C:\> Get-Sensor -Tags wmicpuloadsensor | fdef { $_.Device }</code> <para>Create a channel definition for the "Total" channel (ID: 0) of each WMI CPU Load sensor in the system</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmicpuloadsensor | fdef { $_.Device } 1</code> <para>Create a channel definition for the "Processor 1" channel (ID: 1) of each WMI CPU Load sensor in the system</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmimemorysensor | fdef { $_.Device } -Expr { "100 - $expr" } 0</code> <para>Create a channel definition for the "Percent Available Memory" channel (ID: 0) of each WMI Memory Free sensor, modifying each channel to show the percent of memory "used" instead of free</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmicpu* | fdef { $_.Device } -sn "Max CPU Load" -se Max</code> <para>Create a channel definition showing the highest CPU Load of all devices as well as channel definitions for each individual device in a single command</para> <para/> </example> <example> <code> C:\> $sensors = Get-Sensor -Tags wmicpu* C:\> $sensors | fdef { $_.Device } -sn "Average CPU Load" -se { "$acc + $expr" } -sf { "$acc / $($sensors.Count)" } </code> <para>Create a channel definition showing the average CPU Load of all devices as well as channel definitions for each individual device using a summary expression and finalizer formula</para> <para/> </example> <example> <code> C:\> $sensors = Get-Sensor -Tags wmicpuloadsensor C:\> $sensors | fdef "Max CPU Load" -Aggregator { "max($expr,$acc)" } C:\> $sensors | fdef { $_.Device } -StartId 2 </code> <para>Create two separate channel definitions showing the highest CPU Load of all devices as well as channel definitions for each individual device</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmicpuloadsensor | fdef { "$($_.Device) [bananas]" } 0</code> <para>Create a channel definition for the "Total" channel (ID: 0) displaying all channels with the custom unit "bananas"</para> <para/> </example> <example> <code>C:\> fdef "Line at 40.2 [msec]" -Value 40.2 -StartId 3</code> <para>Create a channel definition for a horizontal line against channels that use the "msec" unit using a channel ID of 3.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Sensor-Factories#create-sensor-factory-definitions">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Channel</para> <para type="link">https://www.paessler.com/manuals/prtg/sensor_factory_sensor</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Sensor"> <summary> <para type="description">The sensor to create a channel definition for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Name"> <summary> <para type="description">An string or an expression that resolves the name to use for a channel definition.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.ChannelId"> <summary> <para type="description">The channel ID to use. If a custom expression is provided, this value can be optionally overridden. If this value is not specified, Channel 0 will automatically be used.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Expression"> <summary> <para type="description">A custom expression to use for defining a channel definition.</para> <para type="description">Provides the following automatic variables</para> <para type="description"> '$expr' (for the default expression)</para> <para type="description"> '$_' (for the current sensor)</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.StartId"> <summary> <para type="description">The starting channel ID to use for each channel definition. The default value is 1.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"> <summary> <para type="description">An aggregator to use for creating a single aggregation channel.</para> <para type="description">Provides the fllowing automatic variables:</para> <para type="description"> '$acc' (the running accumulator)</para> <para type="description"> '$expr' (for the default expression)</para> <para type="description"> '$_' (the current sensor</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Finalizer"> <summary> <para type="description">A post-processing action to perform on an aggregated expresion before emititing to the pipeline. If -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> is not specified this parameter does nothing. If this parameter is specified but -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/> is not a <see cref="T:System.Management.Automation.ScriptBlock"/>, an exception will be thrown.</para> <para type="description">Provides the following automatic variables:</para> <para type="description"> '$acc' (the accumulated result)</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Value"> <summary> <para type="description">A static value to use for the channel value in place of an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Expression"/>.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryName"> <summary> <para type="description">Name to use for the summary channel.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"> <summary> <para type="description">Expression to use for the summary channel. May be a well known enum value or a custom <see cref="T:System.Management.Automation.ScriptBlock"/> expression. Functions identically to -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Aggregator"/>.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryFinalizer"> <summary> <para type="description">A post-processing action to perform against -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> when a custom <see cref="T:System.Management.Automation.ScriptBlock"/> is specified. If -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.SummaryExpression"/> is not a custom expression, an exception will be thrown. Functions identically to -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.Finalizer"/>.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.BeginProcessing"> <summary> Provides a one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition.EndProcessing"> <summary> Provides a one-time, postprocessing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor"> <summary> <para type="synopsis">Marks a <see cref="F:PrtgAPI.Status.Down"/> sensor as <see cref="F:PrtgAPI.Status.DownAcknowledged"/>.</para> <para type="description">The Acknowledge-Sensor cmdlet acknowledges a sensor that is currently in a 'Down' state. When a sensor is acknowledged, it no longer generates notification triggers and is moved from the 'Down' sensors page to the 'Down (Acknowledged)' sensors page.</para> <para type="description">When acknowledging a sensor, you must specify how long to acknowledge the sensor for. If the sensor is still in a down state when the acknowledgement period expires, the sensor will return to a Down state. While in a Down (Acknowledged) state PRTG will continue refreshing the sensor according to its scanning interval. If at any time the requisite conditions are met for the sensor to enter an 'Up' state, the sensor will turn 'Up' and no further action will be required. If an acknowledged sensor that has gone Up fails and returns to a Down state, the sensor will need to be re-acknowledged.</para> <para type="description">If a sensor is continually flapping, it may be better to pause the sensor rather than acknowledge it. For more information on pausing objects, see Pause-Object.</para> <para type="description">By default, Acknowledge-Sensor will operate in Batch Mode. In Batch Mode, Acknowledge-Sensor will not execute a request for each individual object, but will rather store each item in a queue to acknowledge all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Acknowledge-Sensor will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code>C:\> Get-Sensor -Status Down | Acknowledge-Sensor -Duration 60</code> <para>Acknowledge all down sensors for the next 60 minutes</para> <para/> </example> <example> <code>C:\> Get-Sensor -Status Down | Acknowledge-Sensor -Until (Get-Date).AddDays(30) -Message "Honestly, CBF"</code> <para>Acknowledge all down sensors for the next 30 days with a message explaining the reason the sensor was acknowledged</para> <para/> </example> <example> <code>C:\> Get-Sensor Ping -Status Down | Acknowledge-Sensor -Forever</code> <para>Acknowledge all down ping sensors forever (or until they comes back up by themselves)</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/State-Manipulation#acknowledge-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Pause-Object</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.Sensor"> <summary> <para type="description">The sensor to acknowledge.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.Message"> <summary> <para type="description">A message to display on the object indicating the reason it is acknowledged.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.Duration"> <summary> <para type="description">The duration to acknowledge the sensor for, in minutes.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.Until"> <summary> <para type="description">The datetime at which the object should become unacknowledged.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.Forever"> <summary> <para type="description">Indicates the object should be acknowledged indefinitely.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AcknowledgeSensor.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.AddDevice"> <summary> <para type="synopsis">Adds a new device to a PRTG Group or Probe.</para> <para type="description">The Add-Device cmdlet adds a new device to a PRTG Group or Probe. When adding a new device, Add-Device supports two methods of specifying the parameters required to create the object. For basic scenarios where you wish to inherit all settings from the parent object, the <see cref="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Name"/>, <see cref="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Host"/> and auto-discovery method can all be specified as arguments directly to Add-Device. If a -<see cref="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Host"/> is not specified, Add-Device will automatically use the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Name"/> as the device's hostname. If -<see cref="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.AutoDiscover"/> is specified, Add-Device will perform an <see cref="F:PrtgAPI.AutoDiscoveryMode.Automatic"/> auto-discovery.</para> <para type="description">For more advanced scenarios where you wish to specify more advanced parameters (such as the Internet Protocol version used to communicate with the device) a <see cref="T:PrtgAPI.Parameters.NewDeviceParameters"/> object can instead be created with the New-DeviceParameters cmdlet. When the parameters object is passed to Add-Device, PrtgAPI will validate that all mandatory parameter fields contain values. If a mandatory field is missing a value, Add-Sensor will throw an <see cref="T:System.InvalidOperationException"/>, listing the field whose value was missing.</para> <para type="description">By default, Add-Device will attempt to resolve the created device to a <see cref="T:PrtgAPI.Device"/> object. As PRTG does not return the ID of the created object, PrtgAPI identifies the newly created device by comparing the devices under the parent object before and after the new device is created. While this is generally very reliable, in the event something or someone else creates another new device directly under the target object with the same Name, that object will also be returned in the objects resolved by Add-Device. If you do not wish to resolve the created device, this behavior can be disabled by specifying -Resolve:$false.</para> <example> <code>C:\> Get-Probe contoso | Add-Device dc-1</code> <para>Add a new device named "dc-1" to the Contoso probe, using "dc-1" as its hostname, without performing an automatic auto-discovery.</para> <para/> </example> <example> <code>C:\> Get-Group -Id 2305 | Add-Device exch-1 192.168.0.2 -AutoDiscover</code> <para>Add a device named "exch-1" to the group with ID 2305, using 192.168.0.2 as its IP Address and performing an automatic auto-discovery after the device is created.</para> <para/> </example> <example> <code> C:\> $params = New-DeviceParameters sql-1 "2001:db8::ff00:42:8329" C:\> $params.IPVersion = "IPv6" C:\> Get-Probe contoso | Add-Device $params </code> <para>Add a device named sql-1 using an IPv6 Address to the probe Contoso probe.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#device-creation-1">Online version:</para> <para type="link">New-DeviceParameters</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Destination"> <summary> <para type="description">The parent object to create an object under.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Name"> <summary> <para type="description">The name to use for the device. If a <see cref="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Host"/> is not specified, this value will be used as the hostname as well.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Host"> <summary> <para type="description">The IPv4 Address/HostName to use for monitoring this device. If this value is not specified, the <see cref="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Name"/> will be used as the hostname.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.AutoDiscover"> <summary> <para type="description">Whether to perform an <see cref="F:PrtgAPI.AutoDiscoveryMode.Automatic"/> auto-discovery on the newly created device.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddDevice.Template"> <summary> <para type="description">One or more wildcards specifying the device templates to used when performing the auto-discovery. If no templates are specified, all templates will be used.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddDevice.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.AddDevice"/> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddDevice.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddDevice.GetObjects(PrtgAPI.SearchFilter[])"> <summary> Resolves the children of the destination object that match the new object's name. </summary> <param name="filters">An array of search filters used to retrieve all children of the destination with the specified name.</param> <returns>All objects under the parent object that match the new object's name.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.AddGroup"> <summary> <para type="synopsis">Adds a new group to a PRTG Group or Probe.</para> <para type="description">The Add-Group cmdlet adds a new group to a a PRTG Group or Probe. When adding a new group, Add-Group supports two methods of specifying the parameters required to create the object. For basic scenarios where you inherit all settings from the parent object, a group can created by passing nothing more than a <see cref="P:PrtgAPI.PowerShell.Cmdlets.AddGroup.Name"/> to Add-Group.</para> <para type="description">For more advanced scenarios where you wish to specify more advanced parameters (such as Tags that will apply to the group) a <see cref="T:PrtgAPI.Parameters.NewGroupParameters"/> object can be instead created with the New-GroupParameters cmdlet. When the parameters object is passed to Add-Device, PrtgAPI will validate that all mandatory parameter fields contain values. If a mandatory field is missing a value, Add-Sensor will throw an <see cref="T:System.InvalidOperationException"/>, listing the field whose value was missing.</para> <para type="description">By default, Add-Group will attempt to resolve the created group to a <see cref="T:PrtgAPI.Group"/> object. As PRTG does not return the ID of the created object, PrtgAPI identifies the newly created group by comparing the groups under the parent object before and after the new group is created. While this is generally very reliable, in the event something or someone else creates another new group directly under the target object with the same Name, that object will also be returned in the objects resolved by Add-Group. If you do not wish to resolve the created group, this behavior can be disabled by specifying -Resolve:$false.</para> <example> <code>C:\> Get-Probe contoso | Add-Group Servers</code> <para>Add a new group called "Servers" to the Contoso probe.</para> <para/> </example> <example> <code> C:\> $params = New-GroupParameters Servers C:\> $params.Tags = "awesomeGroup" C:\> Get-Probe contoso | Add-Device $params </code> <para>Add a new group called "Servers" with custom tags to the Contoso probe.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#group-creation-1">Online version:</para> <para type="link">New-GroupParameters</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddGroup.Destination"> <summary> <para type="description">The parent object to create an object under.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddGroup.Name"> <summary> <para type="description">The name to use for the group.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddGroup.#ctor"> <summary> <para type="description">Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.AddGroup"/> class.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddGroup.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddGroup.GetObjects(PrtgAPI.SearchFilter[])"> <summary> Resolves the children of the destination object that match the new object's name. </summary> <param name="filters">An array of search filters used to retrieve all children of the destination with the specified name.</param> <returns>All objects under the parent object that match the new object's name.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.AddNotificationTrigger"> <summary> <para type="synopsis">Adds a notification trigger to a PRTG Server.</para> <para type="description">The Add-NotificationTrigger cmdlet adds a new notification trigger to an object in PRTG. When adding a notification trigger, you must first create a <see cref="T:PrtgAPI.Parameters.TriggerParameters"/> object that defines the settings to use in the trigger. <see cref="T:PrtgAPI.Parameters.TriggerParameters"/> can be defined from existing notification triggers or created from scratch. Certain objects do support certain types of notification triggers (e.g. different types of sensors).</para> <para type="description">Attempting to add a notification trigger to an object that does not supported that trigger type will generate an <see cref="T:PrtgAPI.InvalidTriggerTypeException"/>. Notification triggers applied to parent objects that are not supported by their children are simply ignored within PRTG, and do not generate exceptions. For information on viewing the trigger types supported by an object, see Get-NotificationTriggerTypes</para> <para type="description">By default, Add-NotificationTrigger will attempt to resolve the created trigger to a <see cref="T:PrtgAPI.NotificationTrigger"/> object. As PRTG does not return the ID of the created object, PrtgAPI identifies the newly created trigger by comparing the triggers on the parent object before and after the new trigger is created. While this is generally very reliable, in the event something or someone else creates another new trigger directly under the target object with the same OnNotificationAction, that object will also be returned in the objects resolved by Add-NotificationTrigger. If you do not wish to resolve the created trigger, this behavior can be disabled by specifying -Resolve:$false.</para> <para type="description">For more information on creating <see cref="T:PrtgAPI.Parameters.TriggerParameters"/> , see New-NotificationTriggerParameters.</para> <example> <code>C:\> Get-Probe | Get-NotificationTrigger | New-TriggerParameters 2001 | Add-Trigger</code> <para>Add all triggers on all probes directly to the object with ID 2001.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Notification-Triggers#add-1">Online version:</para> <para type="link">New-NotificationTriggerParameters</para> <para type="link">Set-NotificationTrigger</para> <para type="link">Edit-NotificationTriggerProperty</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddNotificationTrigger.Parameters"> <summary> <para type="description">The parameters to use to add a <see cref="T:PrtgAPI.NotificationTrigger"/>.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddNotificationTrigger.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SetNotificationTrigger"> <summary> <para type="synopsis">Modifies a notification trigger on a PRTG Server.</para> <para type="description">The Set-NotificationTrigger cmdlet updates an existing notification trigger defined on an object in PRTG. When editing a notification trigger, you must first create a <see cref="T:PrtgAPI.Parameters.TriggerParameters"/> object that defines the settings you wish to modify. <see cref="T:PrtgAPI.Parameters.TriggerParameters"/> can be created from an existing notification trigger or created from scratch.</para> <para type="description">For more information on creating <see cref="T:PrtgAPI.Parameters.TriggerParameters"/>, see New-NotificationTriggerParameters</para> <para type="description">For information on how to quickly edit a single trigger property, see Edit-NotificationTriggerProperty.</para> <example> <code> C:\> $triggerParams = Get-Probe | Get-Trigger -Type State | New-TriggerParameters C:\> $triggerParams.RepeatInterval = 20 C:\> $triggerParams.OffNotificationAction = $null C:\> $triggerParams | Set-NotificationTrigger </code> <para>Set the repeat interval of the notification to trigger to every 20 minutes, and remove the off notification action. This example assumes there is exactly one probe in the system with exactly one state notification trigger defined on it.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Notification-Triggers#modify-1">Online version:</para> <para type="link">New-NotificationTriggerParameters</para> <para type="link">Edit-NotificationTriggerProperty</para> <para type="link">Get-NotificationTrigger</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetNotificationTrigger.Parameters"> <summary> <para type="description">The parameters to use to modify a <see cref="T:PrtgAPI.NotificationTrigger"/>.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetNotificationTrigger.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.AddSensor"> <summary> <para type="synopsis">Adds a new sensor to a PRTG Device.</para> <para type="description">The Add-Sensor cmdlet adds a new sensor to a PRTG Device. When adding a new sensor, you must first create a <see cref="T:PrtgAPI.Parameters.NewSensorParameters"/> object that defines the type of sensor to create and the settings to use in the new object.</para> <para type="description">When adding sensor types that are natively supported by PrtgAPI, Add-Sensor will validate that all mandatory parameter fields contain values. If a mandatory field is missing a value, Add-Sensor will throw an <see cref="T:System.InvalidOperationException"/>, listing the field whose value was missing. When adding unsupported sensor types defined in <see cref="T:PrtgAPI.Parameters.RawSensorParameters"/>, Add-Sensor does not perform any parameter validation. As such, it is critical to ensure that all parameter names and values are valid before passing the parameters to the Add-Sensor cmdlet.</para> <para type="description">For parameter types that support specifying multiple SensorTarget objects (such as <see cref="T:PrtgAPI.Parameters.WmiServiceSensorParameters"/>) PRTG can fail to add all sensors properly if the size of a single request is too large (generally 60 items or greater). To prevent this issue from happening, PrtgAPI automatically splits your request into a series of smaller requests, however if you find yourself experiencing issues, this is something to be aware of.</para> <para type="description">By default, Add-Sensor will attempt to resolve the created sensor(s) to one or more <see cref="T:PrtgAPI.Sensor"/> objects. As PRTG does not return the ID of the created object, PrtgAPI identifies the newly created group by comparing the sensors under the parent object before and after the new sensor(s) are created. While this is generally very reliable, in the event something or someone else creates another new sensor directly under the target object with the same Name, that object will also be returned in the objects resolved by Add-Sensor. If you do not wish to resolve the created sensor, this behavior can be disabled by specifying -Resolve:$false.</para> <example> <code> C:\> $params = New-SensorParameters ExeXml "Monitor Traffic" "TrafficMonitor.ps1" C:\> Get-Device *fw* | Add-Sensor $params </code> <para>Add an EXE/Script Advanced sensor to all firewall devices, using the script "TrafficMonitor.ps1"</para> <para/> </example> <example> <code> C:\> $raw = @{ >> name_ = "my raw sensor" >> tags_ = "xmlexesensor" >> priority_ = 4 >> exefile_ = "CustomScript.ps1|CustomScript.ps1|| >> exeparams_ = "arg1 arg2 arg3" >> environment_ = 1 >> usewindowsauthentication_ = 1 >> mutexname_ = "testMutex" >> timeout_ = 70 >> writeresult_ = 1 >> intervalgroup = 0 >> interval_ = "30|30 seconds" >> errorintervalsdown_ = 2 >> sensortype = "exexml" >> } C:\> $params = New-SensorParameters $raw C:\> Get-Device dc-1 | Add-Sensor $params </code> <para>Add a new EXE/Script Advanced sensor to the device named dc-1 using a hashtable containing its raw parameters.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#creation">Online version:</para> <para type="link">Get-Device</para> <para type="link">New-SensorParameters</para> <para type="linl">New-Sensor</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.AddSensor.Parameters"> <summary> <para type="description">A set of parameters whose properties describe the type of object to add, with what settings.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddSensor.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.AddSensor"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddSensor.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.AddSensor.GetObjects(PrtgAPI.SearchFilter[])"> <summary> Resolves the children of the destination object that match the new object's name. </summary> <param name="filters">An array of search filters used to retrieve all children of the destination with the specified name.</param> <returns>All objects under the parent object that match the new object's name.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.ApproveProbe"> <summary> <para type="synopsis">Approves or denies a new probe for use within PRTG.</para> <para type="description">The Approve-Probe cmdlet approves or denies a newly installed probe for use within PRTG. The Approve-Probe cmdlet can only be used on probes that have not yet been approved for use within PRTG. If Approve-Probe is executed on a probe that has already been approved, a warning will be emitted and the probe will be ignored.</para> <para type="description">When a probe is approved, PRTG will automatically create the "Probe Device" object under the probe containing the default probe sensors. If the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.AutoDiscover"/> parameter is specified, PRTG will additionally attempt to perform an auto-discovery to add any devices present in the probe's network.</para> <para type="description">If -<see cref="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.Deny"/> is specified, the probe will be removed from PRTG and its GID will be blacklisted. If a probe GID is blacklisted, it will not be able to communicate with PRTG unless its GID is changed or the GID is removed from the blacklist under Setup -> System Administration -> Core & Probes</para> <example> <code>C:\> Get-Probe | Approve-Probe</code> <para>Approve all PRTG probes. Any probes that have already been approved will be skipped.</para> <para/> </example> <example> <code>C:\> Get-Probe | where { ($_ | Get-ObjectProperty).ProbeApproved -eq $false } | Approve-Probe</code> <para>Approve all probes that have not been approved.</para> <para/> </example> <example> <code>C:\> Approve-Probe -Id 1001 -Deny</code> <para>Deny the probe with ID 1001.</para> <para/> </example> <example> <code>C:\> Get-Probe | Approve-Probe -AutoDiscover</code> <para>Approve all probes and immediately perform an auto-discovery. Any probes that have already been approved will be skipped.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Administrative-Tools#approvedeny-probes-1">Online version:</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.Probe"> <summary> <para type="description">Probe to set the approval status of.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.Id"> <summary> <para type="description">ID of the probe to set the approval status of.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.Deny"> <summary> <para type="description">Deny the probe from communicating with PRTG. This will also blacklist the probe's GID.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.AutoDiscover"> <summary> <para type="description">Approve the probe and automatically perform an auto-discovery.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.PassThru"> <summary> <para type="description">Specifies whether to return the original <see cref="T:PrtgAPI.IObject"/> that was passed to this cmdlet, allowing the object to be further piped into additional cmdlets.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ApproveProbe.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.BackupPrtgConfig"> <summary> <para type="synopsis">Requests a PRTG Network Monitor server create a backup of its configuration database.</para> <para type="description">The Backup-PrtgConfig cmdlet requests a PRTG Network Monitor server create a backup of its configuration database after first writing the current running configuration to disk. Configuration backups are stored under the Configuration Auto-Backups folder, by default located at C:\ProgramData\Paessler\PRTG Network Monitor\Configuration Auto-Backups</para> <para type="description">When this cmdlet is executed, PRTG will asynchronously start creating a configuration backup. As such, this cmdlet will return before the backup has completed. Depending on the size of your configuration database, this may take several seconds to complete. In order to guarantee a backup has been successfully completed, it is recommended to probe the contents of the Configuration Auto-Backups folder before and after running this script, to identify the backup file that was created as a result of running this cmdlet. The created backup can also be identified by parsing the DateTime timestamp in the created filename, typically "PRTG Configuration (Snapshot yyyy-MM-dd HH-mm-ss)"</para> <example> <code>C:\> Backup-PrtgConfig</code> <para>Trigger a backup of the PRTG Configuration Database.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Administrative-Tools#backup-config-database-1">Online version:</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.BackupPrtgConfig.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.ClearPrtgCache"> <summary> <para type="synopsis">Clears cached data used by a PRTG Network Monitor server.</para> <para type="description">The Clear-PrtgCache cmdlet clears Geo Map, Active Directory authentication and Graph Data details from a PRTG server. Geo Map and Active Directory authentication caches are grouped together under the <see cref="F:PrtgAPI.SystemCacheType.General"/> cache type. Graph Data is cleared separately, under the <see cref="F:PrtgAPI.SystemCacheType.GraphData"/> cache type.</para> <para type="description">When Graph Data is cleared, the PRTG Core Service will automatically restart. To prevent this happening accidentally, Clear-PrtgCache will prompt you to confirm you are sure you wish to proceed. This can be overridden by specifying the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.ClearPrtgCache.Force"/> parameter.</para> <example> <code>C:\> Clear-PrtgCache General</code> <para>Clear Geo Map and Active Directory authentication caches.</para> <para/> </example> <example> <code>C:\> Clear-PrtgCache GraphData -Force</code> <para>Clear PRTG's graph data cache without displaying a confirmation prompt that this will restart the PRTG Core Service.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Administrative-Tools#clear-system-caches-1">Online version:</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ClearPrtgCache.Type"> <summary> <para type="description">The type of cache to clear.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ClearPrtgCache.Force"> <summary> <para type="description">Forces PRTG to clear caches that may cause a reboot of the PRTG Server without displaying a confirmation prompt.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ClearPrtgCache.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.CloneObject"> <summary> <para type="synopsis">Clones a sensor, device, group or notification trigger within PRTG.</para> <para type="description">The Clone-Object cmdlet duplicates a PRTG Sensor, Device, Group or Notification Trigger, including all objects defined under it (such as all sensors of a device, or all devices and sensors of a group).</para> <para type="description">Clone-Object can operate in two modes: Clone From and Clone To. In Clone From mode (the default) objects you wish to clone are piped into Clone-Object, requiring you to specify the Object ID of the parent the cloned object will sit under. In Clone To mode, objects you wish to clone a single object to are piped to Clone-Object, requiring you to specify the ID of the object you wish to clone.</para> <para type="description">Sensors can only be cloned to <see cref="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Device"/> objects, whereas devices and groups can both cloned to other groups or directly under a probe.</para> <para type="description">When cloning sensors, devices and groups objects (in Clone From mode), a name can optionally be specified. When cloning sensors and groups, if a name is not specified the name of the original sensor or group will be used. When cloning devices, if a name is not specified PrtgAPI will automatically name the device as "Clone of <device>, where <device> is the name of the original device. When cloning devices, a Hostname/IP Address can optionally be specified. If a Hostname/IP Address is ommitted, PrtgAPI will use the name of the device as the hostname. Cloning a notification trigger with Clone-Object is equivalent to passing a trigger to the New-TriggerParameters cmdlet, followed by Add-NotificationTrigger.</para> <para type="description">To clone a single child object to multiple destination objects, the -SourceId parameter can be specified. When operating in Clone To mode, Clone-Object will automatically assign the newly created object the same name as the source object. When Clone-Object executes, it will automatically attempt to resolve the target object specified by the -SourceId parameter. If -SourceId cannot be resolved to a valid sensor, device or group, Clone-Object will throw an exception specifying that the specified object ID is not valid.</para> <para type="description">When an object has been cloned, by default Clone-Object will attempt to automatically resolve the object into its resultant <see cref="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Sensor"/>, <see cref="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Device"/>, <see cref="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Group"/> or <see cref="T:PrtgAPI.NotificationTrigger"/> object. Based on the speed of your PRTG Server, this can sometimes result in a delay of 5-10 seconds due to the delay with which PRTG clones the object. If Clone-Object cannot resolve the resultant object on the first attempt, PrtgAPI will make a further 4 retries, pausing for a successively greater duration between each try. After each failed attempt a warning will be displayed indicating the number of attempts remaining. Object resolution can be aborted at any time by pressing an escape sequence such as Ctrl-C.</para> <para type="description">If you do not wish to resolve the resultant object, you can specify -Resolve:$false, which will cause Clone-Object to output a clone summary, including the object ID, name and hostname (for devices) of the new object. When cloning triggers, is -Resolve:$false is specified, no summary will be returned (as PRTG does not automatically return any information regarding cloned triggers). As PRTG pauses all cloned sensors, devices and groups by default, it is generally recommended to resolve the new object so that you may unpause the object with Resume-Object.</para> <example> <code>C:\> Get-Sensor -Id 1234 | Clone-Object -DestinationId 5678</code> <para>Clone the sensor with ID 1234 to the device with ID 5678</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 1234 | Clone-Object -DestinationId 5678 MyNewSensor</code> <para>Clone the sensor with ID 1234 to the device with ID 5678 renamed as "MyNewSensor"</para> <para/> </example> <example> <code>C:\> Get-Device *exch* | Clone-Object -SourceId 2002</code> <para>Clone the object with ID 2002 to all devices whose name contains "exch"</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 1234 | Clone-Object -DestinationId 5678 -Resolve:$false</code> <para>Clone the sensor with ID 1234 into the device with ID 5678 without resolving the resultant PrtgObject</para> <para/> </example> <example> <code>C:\> Get-Device -Id 1234 | Clone-Object -DestinationId 5678 MyNewDevice 192.168.1.1</code> <para>Clone the device with ID 1234 into the group or probe with ID 5678 renamed as "MyNewDevice" with IP Address 192.168.1.1</para> <para/> </example> <example> <code>C:\> Get-Probe -Id 1234 | Get-Trigger | Clone-Object -DestinationId 5678</code> <para>Clone all notification triggers (both inherited and explicitly defined) on the probe with ID 1234 to the object with ID 5678</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#cloning-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Trigger</para> <para type="link">Get-NotificationTriggerParameters</para> <para type="link">Add-NotificationTrigger</para> <para type="link">Resume-Object</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.DestinationId"> <summary> <para type="description">The ID of the device (for sensors), group or probe (for groups and devices) that will hold the cloned object.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Name"> <summary> <para type="description">The name to rename the cloned object to.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Host"> <summary> <para type="description">The hostname or IP Address to set on the cloned device.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Sensor"> <summary> <para type="description">The sensor to clone.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Device"> <summary> <para type="description">The device to clone.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Group"> <summary> <para type="description">The group to clone.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Trigger"> <summary> <para type="description">The notification trigger to clone.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.SourceId"> <summary> <para type="description">The ID of the object to clone.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.Destination"> <summary> <para type="description">The object to clone the object specified by the <see cref="P:PrtgAPI.PowerShell.Cmdlets.CloneObject.SourceId"/> to.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.CloneObject.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.CloneObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.EditNotificationTriggerProperty"> <summary> <para type="synopsis">Edits a notification trigger on a PRTG Server.</para> <para type="description">The Edit-NotificationTriggerProperty cmdlet allows a single notification trigger property to be modified. Typically when you wish to modify the properties of an existing notification trigger, a TriggerParameters object must be constructed and then passed to the Set-NotificationTrigger cmdlet. Edit-NotificationTriggerProperty simplifies the common case of only wanting to modify a single property of the trigger.</para> <example> <code>C:\> Get-Sensor -Id 1044 | Get-Trigger | Edit-TriggerProperty OnNotificationAction $null</code> <para>Remove the OnNotificationAction of all triggers defined on the object with ID 1044</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Notification-Triggers#modify-1">Online version:</para> <para type="link">Get-NotificationTrigger</para> <para type="link">Set-NotificationTrigger</para> <para type="link">New-NotificationTriggerParameters</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.EditNotificationTriggerProperty.Trigger"> <summary> <para type="description">Notification Trigger to edit.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.EditNotificationTriggerProperty.Property"> <summary> <para type="description">The property to modify.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.EditNotificationTriggerProperty.Value"> <summary> <para type="description">Value to set the property to.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.EditNotificationTriggerProperty.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.EditNotificationTriggerProperty.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.LoadPrtgConfigFile"> <summary> <para type="synopsis">Reloads config files including sensor lookups and device icons used by PRTG Network Monitor.</para> <para type="description">The Load-PrtgConfigFile cmdlet reloads miscellaneous config files used by PRTG Network Monitor, including lookup definitions used for customizing how sensor values are displayed, as well as other miscellaneous config files including device icons, report templates and language files.</para> <para type="description">Config files used by PRTG are automatically reloaded whenever the PRTG Core Service is restarted. To prevent having to completely restart PRTG whenever a config file is installed or modified, Load-PrtgConfigFile can instead be used.</para> <para type="description">Device icons, report templates and language files are refreshed together by a single request, categorised by PrtgAPI as the <see cref="F:PrtgAPI.ConfigFileType.General"/> config file type. Sensor lookups are reloaded separately, under the <see cref="F:PrtgAPI.ConfigFileType.Lookups"/> file type.</para> <example> <code>C:\> Load-PrtgConfigFile General</code> <para>Reload any device icons, report templates or language files that may have been installed or modified since PRTG started.</para> <para/> </example> <example> <code>C:\> Load-PrtgConfigFile Lookups</code> <para>Loads or reloads any sensor lookups that may have been changed or installed since PRTG was started.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Administrative-Tools#load-config-files-1">Online version:</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.LoadPrtgConfigFile.Type"> <summary> <para type="description">The type of config files to reload.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.LoadPrtgConfigFile.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.MoveObject"> <summary> <para type="synopsis">Moves a device or group within the PRTG Object Tree.</para> <para type="description">The Move-Object cmdlet allows you to move a device or group to another group or probe within PRTG. Any device or group can be moved to any other group or probe, with the exception of special objects such as the "Probe Device" object under each probe, as well as the Root group (ID: 0).</para> <example> <code>C:\> Get-Device dc-1 | Move-Object 5678</code> <para>Move all devices named dc-1 to under the object with ID 5678</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Organization#moving-1">Online version:</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.MoveObject.Device"> <summary> <para type="description">The device to move to another group or probe.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.MoveObject.Group"> <summary> <para type="description">The group to move to another group or probe.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.MoveObject.DestinationId"> <summary> <para type="description">The group or probe to move the object to. This cannot be the Root PRTG Group.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.MoveObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.MoveObject.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand"> <summary> <para type="synopsis">Creates a new set of device parameters for creating a brand new device under a group or probe.</para> <para type="description">The New-DeviceParameters cmdlet creates a set of parameters for adding a brand new device to PRTG. Device parameter objects returned from New-DeviceParameters allow specifying a variety of device specific configuration details including Internet Protocol version and auto-discovery settings at the time of object creation.</para> <para type="description">All devices must have a <see cref="P:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand.Name"/> and <see cref="P:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand.Host"/> property specified. If a <see cref="P:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand.Host"/> (IP Address/HostName) is not specified in the call to New-DeviceParameters, PrtgAPI will automatically use the <see cref="P:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand.Name"/> </para> as the hostname/IP Address. <para type="description">Note that not all device parameters (such as settings that can be inherited from the parent group) can be specified with PrtgAPI at the time of object creation. If you wish to modify such properties, this can be achieved after the device has been created via the Set-ObjectProperty cmdlet.</para> <example> <code> C:\> $params = New-DeviceParameters dc-1 C:\> Get-Probe contoso | Add-Device $params </code> <para>Create a new device named "dc-1" with hostname "dc-1" under the Contoso probe.</para> <para/> </example> <example> <code> C:\> $params = New-DeviceParameters exch-1 "2001:db8::ff00:42:8329" C:\> $params.IPVersion = "IPv6" C:\> Get-Probe contoso | Add-Device $params </code> <para>Create a new device named "dc-2" with an IPv6 address, specifying the Internet Protocol as IPv6.</para> <para/> </example> <example> <code> C:\> $params = New-DeviceParameters dc-1 C:\> $params.AutoDiscoveryMode = "AutomaticTemplate" C:\> $params.DeviceTemplates = Get-DeviceTemplate *wmi* C:\> Get-Probe contoso | Add-Device $params </code> <para>Create a new device named "dc-1" that performs an auto-discovery for WMI sensors only.</para> <para/> </example> <example> <code> C:\> $params = New-DeviceParameters dc-1 C:\> Get-Probe contoso | Add-Device $params -PassThru | Set-ObjectProperty Location "23 Fleet Street" </code> <para>Create a new device named "dc-1" and then set its location.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#device-creation-1">Online version:</para> <para type="link">Add-Device</para> <para type="link">Get-DeviceTemplate</para> <para type="link">Set-ObjectProperty</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand.Name"> <summary> <para type="description">The name to give the new device.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand.Host"> <summary> <para type="description">The hostname or IP Address to use for the new device. If no value is specified, the name will be used.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewDeviceParametersCommand.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.NewGroupParametersCommand"> <summary> <para type="synopsis">Creates a new set of group parameters for creating a brand new group under a group or probe.</para> /// <para type="description">The New-GroupParameters cmdlet creates a set of parameters for adding a brand new group to PRTG. Group parameter objects returned from New-GroupParameters allow specifying a variety of group specific configuration details including auto-discovery settings at the time of object creation.</para> <para type="description">Note that not all group parameters (such as settings that can be inherited from the parent group or probe) can be specified with PrtgAPI at the time of object creation. If you wish to modify such properties, this can be achieved after the group has been created via the Set-ObjectProperty cmdlet.</para> <example> <code> C:\> $params = New-GroupParameters Servers C:\> Get-Probe contoso | Add-Group $params </code> <para>Add a new group called "Servers" to the Contoso probe.</para> <para/> </example> <example> <code> C:\> $params = New-GroupParameters Servers C:\> $params.Tags = "awesomeGroup" C:\> Get-Probe Contoso | Add-Group $params </code> <para>Add a new group called "Servers" to the Contoso probe with a custom tag "awesomeGroup".</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#group-creation-1">Online version:</para> <para type="link">Add-Group</para> <para type="link">Set-ObjectProperty</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewGroupParametersCommand.Name"> <summary> <para type="description">The name to give the new group.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewGroupParametersCommand.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.NewNotificationTriggerParameters"> <summary> <para type="synopsis">Creates a new set of notification trigger parameters for adding or editing a notification trigger.</para> <para type="description">The New-NotificationTriggerParameters cmdlet creates a set of trigger parameters for creating or editing a notification trigger. When editing notification triggers, New-NotificationTriggerParameters should only be used when multiple values require updating. For updating a single notification trigger property Edit-NotificationTriggerProperty should be used instead.</para> <para type="description">When creating a new notification trigger, the trigger's parameters can either be imported from an existing notification trigger's properties and then further modified, or defined manually from scratch.</para> <para type="description">Based on the type of notification trigger specified, New-NotificationTriggerParameters will create one of several TriggerParameter type objects, exposing only the parameters relevant to that trigger type.</para> <para type="description">When working with TriggerParameters objects, all parameter properties support nullable values, allowing you to clear any properties you wish to remove or undo. The exception to this however is Notification Action related properties. When a Notification Action is set to null, it will set the property to the "empty" notification action. This allows you to easily clear unwanted notification actions within the PRTG Interface.</para> <para type="description">When editing existing notification triggers, all properties on the TriggerParameters object will be initially set to null. Specifying a value for a property will highlight to PrtgAPI that that property should be updated when the trigger request is executed. While holding a value of null by default, Notification Actions will not set themselves with the "empty" notification action unless this value is explicitly specified. Note that if you wish to undo modifying a notification action property you have set to null, you will be unable to do so without creating a brand new TriggerParameters object.</para> <para type="description">For trigger types where the Channel property is supported (Speed, Threshold and Volume) when defining the trigger on a Probe, Group or Device, enum values "Primary", "Total", "TrafficIn" and "TrafficOut" must be used. When applied directly to a Sensor, a specific Channel or Channel ID must be used. To safely resolve all channels supported by the sensor the Get-Channel cmdlet can be used. Once a Channel or Channel ID has been assigned to a trigger parameter's Channel property, it is wrapped as a TriggerChannel object and the underlying type cannot be retrieved. As such, if you wish to refer to your original type, you must keep a copy of the value assigned to the Channel property for further use in your code.</para> <example> <code> C:\> $params = New-TriggerParameters 1234 State C:\> $params | Add-Trigger </code> <para>Add a new state notification trigger with default values to object with ID 1234</para> <para/> </example> <example> <code> C:\> $params = New-TriggerParameters 1234 3 State C:\> $params.Latency = 40 C:\> $params | Set-Trigger </code> <para>Edit the state notification trigger with sub ID 3 on the object with ID 1234, setting the Latency to 40 seconds</para> <para/> </example> <example> <code> C:\> $params = Get-Sensor -Id 1001 | Get-Trigger -Type State -Inherited $false | New-TriggerParameters 1234 C:\> $params.OffNotificationAction = $null C:\> $params | Add-Trigger </code> <para>Create a new notification trigger on the object with ID 1234 from the state trigger on the sensor with ID 1001, setting the OffNotificationAction to "None"</para> <para/> </example> <example> <code> C:\> $params = Get-Sensor -Id 1001 | Get-Trigger -Type State -Inherited $false | New-TriggerParameters C:\> $params.Latency = 30 C:\> $params | Set-Trigger </code> <para>Edit the notification trigger on the sensor with ID 1001, setting the latency to 30 seconds</para> <para/> </example> <example> <code> C:\> $sensor = Get-Sensor -Id 1001 C:\> $channel = $sensor | Get-Channel "Available Memory" C:\> $params = $sensor | New-TriggerParameters Threshold C:\> $params.Channel = $channel C:\> $params | Add-Trigger </code> <para>Create a new notification trigger on the sensor with ID 1001 that alerts based on the value of its "Available Memory" channel.</para> <para/> </example> <example> <code> C:\> $params = New-TriggerParameters 1001 Threshold C:\> $params.Channel = 1 C:\> $params | Add-Trigger </code> <para>Create a new threshold notification trigger on the sensor with ID 1001 that alerts based on the value of the channel with ID 1.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Notification-Triggers#add-1">Online version:</para> <para type="link">Edit-NotificationTriggerProperty</para> <para type="link">Add-NotificationTrigger</para> <para type="link">Set-NotificationTrigger</para> <para type="link">Get-Channel</para> //todo: i dont think requirevalueattribute is working? when should it work? how do we test creating some corrupt triggers? //todo: have examples for the various ways of setting the channel for a threshold trigger, plus some examples for setting the various properties of volume/speed/threshold triggers </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewNotificationTriggerParameters.Object"> <summary> <para type="description">The object a trigger should be created for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewNotificationTriggerParameters.Id"> <summary> <para type="description">The ID of the object the notification trigger will be created for or the ID of the object whose triggers should be modified.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewNotificationTriggerParameters.Source"> <summary> <para type="description">The notification trigger import trigger parameters from.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewNotificationTriggerParameters.TriggerId"> <summary> <para type="description">The Sub ID of the trigger to manipulate.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewNotificationTriggerParameters.Type"> <summary> <para type="description">The type of notification trigger to manipulate.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewNotificationTriggerParameters.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.NewSensor"> <summary> <para type="synopsis">Adds a new sensor to a PRTG Device.</para> <para type="description">The New-Sensor cmdlet adds a new sensor to a PRTG Device. Unlike the similar Add-Sensor cmdlet, New-Sensor provides the ability to specify the properties of each sensor type as dynamic parameters directly to the cmdlet. As such, New-Sensor can only be used for creating sensor types that are properly supported by PrtgAPI.</para> <para type="description">All parameter sets found on New-Sensor adhere to the following basic rules: 1. The first parameter is always a SwitchParameter specifying the sensor type. 2. The second parameter is always the Name (if applicable). 3. The -Device parameter specifies where the sensor will be created (unless otherwise specified). 4. Required values are positional parameters, unless they would conflict with another parameter set. 5. Unless otherwise specified, all other parameters are named parameters.</para> <para type="description">Sensor types that require the use of complex sensor targets can either specify the target objects directly or specify one or more wildcard expressions, which New-Sensor will use to lookup these targets for you. Note that if you specify a wildcard expression when trying to create sensors on multiple objects, New-Sensor will resolve these targets on each individual target, which could be time consuming.</para> <para type="description">When creating sensor factory objects, New-Sensor incorporates the functionality of the New-SensorFactoryDefinition cmdlet, allowing you to generate a complex sensor factory definition from several specified sensors. Unlike other sensor types, the device the sensor factory should be created on is specified via the -DestinationId parameter, allowing the sensors to use for the factory to be piped into the cmdlet.</para> <para type="description">To view the parameters of your sensor without creating it, you can specify the -WhatIf parameter. This can be especially useful when creating sensor factories to confirm the channel definition was correctly generated as expected.</para> <example> <code>C:\> Get-Device -Id 1001 | New-Sensor -ExeXml test test.ps1 -Mutex mutex1</code> <para>Create a new EXE/Script Advanced sensor named "test" that executes the script "test.ps1" with property "Mutex" set to "mutex1" on the device with ID 1001.</para> <para/> </example> <example> <code>C:\> Get-Device -Id 1001 | New-Sensor -Http</code> <para>Create a new HTTP sensor on the device with ID 1001. The Name and Url of the sensor will use their default values ("HTTP" and "https://" respectively).</para> <para/> </example> <example> <code>C:\> Get-Device exch-1 | New-Sensor -WmiService *exchange*</code> <para>Create WMI Service sensors for all Exchange services on the device named exch-1.</para> <para/> </example> <example> <code> C:\> $targets = Get-Device exch-1 | Get-SensorTarget WmiService *exchange* C:\> Get-Device *exch* | New-Sensor -WmiService $targets </code> <para>Create the same WMI Service sensors for all Exchange servers.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Tags wmicpu* | New-Sensor -Factory "CPU Overview" { $_.Device } -sn "Average CPU Usage" -se Average -DestinationId 1001</code> <para>Create a sensor factory for showing the CPU Usage of all sensors on the device with ID 1001, including a summary channel showing the average CPU Usage of all devices.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#simple">Online version:</para> <para type="link">Get-Device</para> <para type="link">Get-Sensor</para> <para type="link">Add-Sensor</para> <para type="link">New-SensorParameters</para> <para type="link">Get-SensorTarget</para> <para type="link">New-SensorFactoryDefinition</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensor.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.NewSensor"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensor.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensor.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensor.EndProcessingEx"> <summary> Provides an enhanced one-time, postprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensor.StopProcessingEx"> <summary> Interrupts the currently running code to signal the cmdlet has been requested to stop. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensor.GetObjects(PrtgAPI.SearchFilter[])"> <summary> Resolves the children of the destination object that match the new object's name. </summary> <param name="filters">An array of search filters used to retrieve all children of the destination with the specified name.</param> <returns>All objects under the parent object that match the new object's name.</returns> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensor.GetDynamicParameters"> <summary> Retrieves an object that defines the dynamic parameters of this cmdlet. </summary> <returns>An object that defines the dynamic parameters of this cmdlet.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand"> <summary> <para type="synopsis">Creates a new set of sensor parameters for creating a brand new sensor under a device.</para> <para type="description">The New-SensorParameters cmdlet creates a set of parameters for adding a brand new sensor to PRTG. All sensor types supported by PRTG can be added with New-SensorParameters, however certain types are "natively" supported. For types that are not are natively supported, New-SensorParameters is capable of either dynamically generating the required set of parameters, or creating a completely custom set of parameters from a collection of values manually crafted by hand.</para> <para type="description">Natively supported sensor types allow interfacing with strongly typed properties of a well known object deriving from NewSensorParameters. When a supported type is created, the name to give the sensor can be optionally specified. If a name is not specified, New-SensorParameters will automatically assign the sensor the default name PRTG would assign a sensor of the specified type (e.g. EXE/Script Advanced sensors by default are named "XML Custom EXE/Script Sensor").</para> <para type="description">In addition to the sensor name, certain sensor types contain additional mandatory fields that must be populated before attempting to add the sensor (such as the ExeFile of an EXE/Script Advanced sensor). New-SensorParameters optionally allows you to specify the value of the primary mandatory field of the specified type using the -Value parameter. Fields that require values contain a value of $null by default, however not all fields that are $null are necessarily mandatory. If you attempt to add a natively supported type with missing mandatory fields, PrtgAPI will catch this and alert you that the value that was missing.</para> <para type="description">Beyond type safety, PrtgAPI does not perform any validation that the values you specify to fields are "correct" (e.g. for an EXE/Script Advanced sensor, that the specified file exists). In the event invalid values are specified, PRTG will usually handle the error gracefully, however you are responsible for confirming that any values that are used to create a new sensor as are as correct as possible.</para> <para type="description">For sensor types that are not natively supported, PrtgAPI provides the ability to dynamically generate the set of parameters required to add the specified sensor type. Dynamically generated sensor parameters operate as a hybrid of a both a Dictionary and a PSObject, allowing you to interface with these types as if they are a native object. For sensor types that require Sensor Targets, a dictionary of all identified sensor targets can be found under the dynamic sensor parameter's Targets property. Parameters that appear to contain sensor targets will automatically be wrapped as a <see cref="T:PrtgAPI.Targets.GenericSensorTarget"/>, and by default will contain the first target from the list of available candidates.</para> <para type="description">By default, dynamically sensor parameters are "locked", as to prevent additional parameters from being added to the object in the event a typo is made. If you do wish to add additional parameters however, this can be performed by calling the Unlock method on the specified <see cref="T:PrtgAPI.Parameters.DynamicSensorParameters"/> and then setting the value via the parameter's indexer or via the dynamic property name. Note that <see cref="T:PrtgAPI.Parameters.DynamicSensorParameters"/> dynamic properties will always show parameters as not containing a trailing underscore as to provide a "cleaner" interface. The raw <see cref="T:PrtgAPI.Parameters.CustomParameter"/> objects of the parameters can be viewed however by specifying <see cref="F:PrtgAPI.Parameter.Custom"/> to the object's indexer.</para> <para type="description">If you wish to create your parameters yourself, this can either be done by creating an -Empty set of parameters for you to manually populate, or by defining a hashtable listing all the parameters that are required to create the specified sensor along with their raw associated values. The parameters for creating a specific type of sensor can be discovered via a web debugger such as Fiddler or by inspecting the underlying parameters generated by a set of <see cref="T:PrtgAPI.Parameters.DynamicSensorParameters"/>.</para> <para type="description">When accessing <see cref="T:PrtgAPI.Parameters.RawSensorParameters"/> and <see cref="T:PrtgAPI.Parameters.DynamicSensorParameters"/> via their indexers, by default PowerShell will suppress any exceptions thrown when trying to access non-existent properties, instead simply returning $null. This is due to the default Strict Mode the PowerShell engine runs under. To enable exceptions on accessing invalid paramters, the strict mode must be set to version 3 or higher. For more information, see Get-Help Set-StrictMode.</para> <para type="description">Great care should be taken when adding sensors using raw parameters. As there is no type safety, the possibility of making errors is high. As most raw parameter names end in an underscore, it is critical to ensure these parameters have been named properly. In the event a sensor is added improperly, it can easily be corrected or deleted in the PRTG UI. When specifying a hashtable parameter set to New-SensorParameters, PrtgAPI will validate that at a minimum the 'name_' and 'sensortype' parameters are specified. If either of these two are missing, New-SensorParameters will generate an exception.</para> <para type="description">When sensor parameters are created via the Add-Sensor cmdlet, if the -Resolve parameter is specified PrtgAPI will attempt to resolve the resultant sensors based on the sensor type specified in the sensor parameters. If the resulting sensor type is capable of changing based on the specified parameters, you can instruct PrtgAPI to broaden its sensor resolution search by specifying the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.DynamicType"/> parameter when creating your parameters object. <see cref="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.DynamicType"/> property can also be modified on the resulting <see cref="T:PrtgAPI.Parameters.NewSensorParameters"/> object that is returned from the New-SensorParameters cmdlet. </para> <para type="description">All sensor parameter types support specifying common sensor parameters (Inherit Triggers, Interval, Priority, etc) via well typed properties. If these properties are not set, PRTG will automatically use the default values for these fields based on the type of sensor being created.</para> <example> <code> C:\> $params = New-SensorParameters ExeXml "Custom Script" "CustomScript.ps1" C:\> Get-Device dc-1 | Add-Sensor $params </code> <para>Create a new EXE/Script Advanced sensor on the device dc-1 using the name "Custom Script", that executes the file "CustomScript.ps1", specifying the script name in the optional -Value parameter</para> <para/> </example> <example> <code> C:\> $params = New-SensorParameters ExeXml "Custom Script" C:\> $params.ExeFile = "CustomScript.ps1" C:\> Get-Device dc-1 | Add-Sensor $params </code> <para>Create a new EXE/Script Advanced sensor on the device dc-1 using the name "Custom Script", that executes the file "CustomScript.ps1", specifying the script name after the object has been created</para> <para/> </example> <example> <code> C:\> $params = New-SensorParameters ExeXml C:\> $params.ExeFile = "CheckStatus.ps1" C:\> Get-Device -Id 1001 | Add-Sensor $params </code> <para>Create a new EXE/Script Advanced sensor on the device with ID 1001 using the name "XML Custom EXE/Script Sensor" that executes the file "CheckStatus.ps1"</para> <para/> </example> <example> <code> C:\> $params = Get-Device esxi-1 | New-SensorParameters -RawType vmwaredatastoreextern C:\> $params.datafieldlist__check = $params.Targets["datafieldlist__check"] C:\> $params | Add-Sensor </code> <para>Dynamically create a new set of VMware Datastore credentials for the device named esxi-1 targeting all datastores that exist on the device.</para> <para/> </example> <example> <code> C:\> $params = Get-Device esxi-1 | New-SensorParameters -RawType vmwaredatastoreextern C:\> $params[[PrtgAPI.Parameter]::Custom] </code> <para>View the raw set of CustomParameters defined on an object.</para> <para/> </example> <example> <code> C:\> $params = Get-Device esxi-1 | New-SensorParameters -RawType exchangepsdatabase C:\> $params.Unlock() C:\> $params.customparam_ = "some value" </code> <para>Create a new parameter named "customparam" on a set of Exchange Database sensor parameters.</para> <para/> </example> <example> <code> C:\> $params = New-SensorParameters -Empty C:\> $params["name_"] = "My Sensor" C:\> $params["sensortype"] = "exexml" </code> <para>Create an empty set of sensor parameters to manually insert all raw parameters.</para> <para/> </example> <example> <code> C:\> $raw = @{ >> name_ = "my raw sensor" >> tags_ = "xmlexesensor" >> priority_ = 4 >> exefile_ = "CustomScript.ps1|CustomScript.ps1|| >> exeparams_ = "arg1 arg2 arg3" >> environment_ = 1 >> usewindowsauthentication_ = 1 >> mutexname_ = "testMutex" >> timeout_ = 70 >> writeresult_ = 1 >> intervalgroup = 0 >> interval_ = "30|30 seconds" >> errorintervalsdown_ = 2 >> sensortype = "exexml" >> } C:\> $params = New-SensorParameters $raw C:\> Get-Device dc-1 | Add-Sensor $params </code> <para>Add a new EXE/Script Advanced sensor to the device named dc-1 using a hashtable containing its raw parameters.</para> <para/> </example> <example> <code>C:\> $params = New-SensorParameters $raw -DynamicType</code> <para>Create a set of parameters for creating a sensor with a dynamic type (such as snmplibrary).</para> <para/> </example> <example> <code>C:\> Set-StrictMode -Version 3</code> <para>Set the Strict Mode to version 3 for the current PowerShell session.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#parameters">Online version:</para> <para type="link">Get-Help SensorParameters</para> <para type="link">Add-Sensor</para> <para type="link">Get-Device</para> <para type="linl">New-Sensor</para> <para type="link">Set-StrictMode</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.Type"> <summary> <para type="description">The type of sensor to create.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.First"> <summary> <para type="description">The name to give the new sensor. If no value is specified, the default name of the specified sensor type will be used. If the specified sensor type does not support specifying a name, this field is used for any mandatory values required by the sensor type.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.Second"> <summary> <para type="description">A mandatory value required by the specified sensor type.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.RawParameters"> <summary> <para type="description">A collection of raw parameters for adding an unsupported sensor type.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.Device"> <summary> <para type="description">The device to create a set of <see cref="T:PrtgAPI.Parameters.DynamicSensorParameters"/> from.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.RawType"> <summary> <para type="description">The raw name of the sensor type to create.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.Target"> <summary> <para type="description">Wildcard used to specify the sensor targets to assign to a set of <see cref="T:PrtgAPI.Parameters.DynamicSensorParameters"/>.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.Timeout"> <summary> <para type="description">Duration (in seconds) to wait for dynamic sensor parameters to resolve.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.Empty"> <summary> <para type="description">Specifies that an empty set of <see cref="T:PrtgAPI.Parameters.RawSensorParameters"/> should be returned to allow constructing a parameter set manually.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.DynamicType"> <summary> <para type="description">Specifies whether the resulting sensor type is dynamically determined by the parameters included in the request. If this property is true, PrtgAPI will relax its sensor resolution mechanism to ensure the resultant object is retrieved.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.BeginProcessing"> <summary> Provides a one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.NewSensorParametersCommand.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.OpenPrtgObject"> <summary> <para type="synopsis">Opens the URL of a PRTG Object in the PRTG Web Interface.</para> <para type="description">The Open-PrtgObject cmdlet opens the web page of a PRTG Object in your default browser. Care should be taken with Open-PrtgObject, as your system may experience performance issues if too many URLs are opened at one time.</para> <para type="description">Open-PrtgObject is only compatible with objects that contain a URL field; namely Probes, Devices, Groups Sensors, Notification Actions and Schedules.</para> <example> <code>C:\> Get-Device dc-1 | Get-Sensor ping | Open-PrtgObject</code> <para>Open all sensors named "ping" under devices named "dc-1" in the default web browser.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Miscellaneous#open-prtg-objects">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.OpenPrtgObject.Object"> <summary> <para type="description">The sensor, device, group or probe to open.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.OpenPrtgObject.Notification"> <summary> <para type="description">The notification action to open.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.OpenPrtgObject.Schedule"> <summary> <para type="description">The schedule to open.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.OpenPrtgObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.PauseObject"> <summary> <para type="synopsis">Disables monitoring on a PRTG object.</para> <para type="description">The Pause-Object cmdlet disables monitoring of an object in PRTG. When an object is paused, all children of the object are paused as well. Child objects can be independently paused and unpaused while their parent is paused, however their states will not modify as long as their parent is overriding them.</para> <para type="description">When pausing an object, you must specify how long to pause the object for. While in a paused state PRTG will not attempt to execute any sensor objects covered by the paused object. Objects that have not been paused forever will be automatically unpaused when their pause duration expires. For information on how to unpause an object manually, see Resume-Object.</para> <para type="description">By default, Pause-Object will operate in Batch Mode. In Batch Mode, Pause-Object will not execute a request for each individual object, but will rather store each item in a queue to pause all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Pause-Object will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code>C:\> Get-Sensor -Id 2001 | Pause-Object -Duration 60</code> <para>Pause the object with ID 2001 for 60 minutes.</para> <para/> </example> <example> <code>C:\> Get-Probe *chicago* | Pause-Object -Until (Get-Date).AddDays(2) -Message "Office move in progress"</code> <para>Pause all probes whose names contain "chicago" for three days with a message explaining the reason the object was paused.</para> <para/> </example> <example> <code>C:\> Get-Device fw-1 | Pause-Object -Forever -Message "Decomissioning"</code> <para>Pause all devices named "fw-1" forever with a message explaining the reason the object was paused.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/State-Manipulation#pause-1">Online version:</para> <para type="link">Resume-Object</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.PauseObject.Object"> <summary> <para type="description">The object to pause.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.PauseObject.Message"> <summary> <para type="description">A message to display on the object indicating the reason it is paused.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.PauseObject.Duration"> <summary> <para type="description">The duration to pause the object for, in minutes.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.PauseObject.Until"> <summary> <para type="description">The datetime at which the object should be unpaused.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.PauseObject.Forever"> <summary> <para type="description">Indicates the object should be paused indefinitely.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.PauseObject.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.PauseObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.PauseObject.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.PauseObject.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.PauseObject.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.RefreshObject"> <summary> <para type="synopsis">Requests an object and any if its children refresh themselves immediately.</para> <para type="description">The Refresh-Object cmdlet causes an object to refresh itself. Sensor objects automatically refresh according to their Scanning Interval. Refresh-Object allows you to bypass this interval and request the sensor update immediately. If Refresh-Object is applied to a Device, Group or Probe, all sensors under that object will be refreshed.</para> <para type="description">Sensor Factory sensors do not support being manually refreshed.</para> <para type="description">By default, Refresh-Object will operate in Batch Mode. In Batch Mode, Refresh-Object will not execute a request for each individual object, but will rather store each item in a queue to refresh all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Refresh-Object will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code>C:\> Get-Sensor -Id 2001 | Refresh-Object</code> <para>Refresh the sensor with object ID 2001.</para> <para/> </example> <example> <code>C:\> Get-Device -Id 2000 | Refresh-Object</code> <para>Refresh all sensors under the device with ID 2000.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/State-Manipulation#refresh-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RefreshObject.Object"> <summary> <para type="description">The object to refresh.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RefreshObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RefreshObject.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RefreshObject.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RefreshObject.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.ObjectManipulation.RefreshSystemInfo"> <summary> <para type="synopsis">Refreshes system information for a PRTG Device.</para> <para type="description">The Refresh-SystemInfo cmdlet refreshes system information for a specified devoce. By default, PRTG theoretically probes devices for all system information types once every 24 hours. If you find this is not happening however, or otherwise wish to refresh sooner, this can be forced with the Refresh-SystemInfo cmdlet.</para> <para type="description">The types of system information that should be refreshed can be specified with the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.ObjectManipulation.RefreshSystemInfo.Type"/> parameter. If no types are specified, Refresh-SystemInfo will request that all information types be updated.</para> <para type="description">PRTG is capable of performing up to 24 simultaneous system information scans. Any additional scans that are requested will be queued until a scan slot becomes available.</para> <example> <code>C:\> Get-Device dc* | Refresh-SystemInfo</code> <para>Refresh all system information for all devices whose name starts with "dc"</para> <para/> </example> <example> <code>C:\> Refresh-SystemInfo -Id 1001 -Type System,Users</code> <para>Refresh the System and Users information types for the device with ID 1001</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Devices#system-information-1">Online version:</para> <para type="link">Get-SystemInfo</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ObjectManipulation.RefreshSystemInfo.Device"> <summary> <para type="description">The device to refresh system information for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ObjectManipulation.RefreshSystemInfo.Id"> <summary> <para type="description">The ID of the device to refresh system information for.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ObjectManipulation.RefreshSystemInfo.Type"> <summary> <para type="description">The types of system information to refresh. If no types are specified, all types will be refreshed.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ObjectManipulation.RefreshSystemInfo.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ObjectManipulation.RefreshSystemInfo.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.RemoveNotificationTrigger"> <summary> <para type="synopsis">Removes a notification trigger from a PRTG Object.</para> <para type="description">The Remove-NotificationTrigger cmdlet removes a notification trigger from a PRTG Object. Notification triggers can only be removed from the objects on which they are explicitly defined. Attempting to remove a notification trigger from an object which inherits the trigger from its parent will generate an exception.</para> <para type="description">If invoked with no arguments other than the notification trigger to be deleted, Remove-NotificationTrigger will prompt for confirmation of each trigger to be deleted. If you wish to remove multiple triggers, it is recommended to first run Remove-NotificationTrigger with the -WhatIf parameter, and then re-run with the -Force parameter if the results of -WhatIf look correct</para> <para type="description">When invoked with -WhatIf, Remove-NotificationTrigger will list all notification triggers that would have been removed, along with the OnNotificationAction and Sub ID of the notification trigger and the object ID of the object to which the triggers are applied. Even if you are sure of the triggers you wish to delete, it is recommended to always run with -WhatIf first to confirm you have specified the correct triggers and that PrtgAPI has interpreted your request in the way you intended.</para> <example> <code> C:\> Get-Device dc-1 | Get-NotificationTrigger | Remove-NotificationTrigger -WhatIf "What if: Performing operation "Remove-NotificationTrigger" on target "'Email to Administrator' (Object ID: 2002, Sub ID: 1)"" </code> <para>Preview what will happen when you attempt all triggers from all devices with the name 'dc-1'</para> <para/> </example> <example> <code>C:\> Get-Device dc-1 | Get-NotificationTrigger | Remove-NotificationTrigger -Force</code> <para>Remove all notification triggers from devices named 'dc-1' without prompting for confirmation.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Notification-Triggers#remove-1">Online version:</para> <para type="link">Get-NotificationTrigger</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RemoveNotificationTrigger.Trigger"> <summary> <para type="description">Notification trigger to remove.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RemoveNotificationTrigger.Force"> <summary> <para type="description">Forces a notification trigger to be removed without displaying a confirmation prompt.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RemoveNotificationTrigger.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.RemoveObject"> <summary> <para type="synopsis">Permanently removes an object from PRTG.</para> <para type="description">The Remove-Object cmdlet permanently removes an object from PRTG. Some objects cannot be deleted (e.g. the root PRTG group (ID 0) and will generate an exception if you attempt to do so.</para> <para type="description">If invoked with no arguments other than the object to be deleted, Remove-Object will prompt for confirmation of each object to be deleted. If you wish to delete multiple objects, it is recommend to first run Remove-Object with the -WhatIf parameter, and then re-run with the -Force parameter if the results of -WhatIf look correct.</para> <para type="description">Remove-Object is capable of operating in Batch Mode. In Batch Mode, Remove-Object will not execute a request for each individual object, but will rather store each item in a queue to remove all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects. Due to the inherent danger in batch removing multiple objects so quickly, Remove-Object will only operate in Batch mode if -Batch is specified. If Remove-Object is invoked with -Force, -Batch mode will be automatically enabled unless specified otherwise.</para> <para type="description">When invoked with -WhatIf, Remove-Object will list all objects that would have been deleted, along with their corresponding object IDs. Even if you are sure of the objects you wish to delete, it is recommended to always run with -WhatIf first to confirm you have specified the correct objects and that PrtgAPI has interpreted your request in the way you intended.</para> <example> <code> C:\> Get-Device dc-1 | Remove-Object -WhatIf "What if: Performing the operation "Remove-Object" on target "'dc-1' (ID: 2001)"" </code> <para>Preview what will happen when you attempt to remove all devices named 'dc-1'</para> <para/> </example> <example> <code>C:\> Get-Device dc-1 | Remove-Object -Force</code> <para>Remove all devices with name 'dc-1' without prompting for confirmation.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Organization#removing-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RemoveObject.Object"> <summary> <para type="description">The object to remove.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RemoveObject.Force"> <summary> <para type="description">Forces an object to be removed without displaying a confirmation prompt.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RemoveObject.#ctor"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Cmdlets.RemoveObject"/> class. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RemoveObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RemoveObject.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RemoveObject.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RemoveObject.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.RenameObject"> <summary> <para type="synopsis">Renames a PRTG object.</para> <para type="description">The Rename-Object cmdlet allows you to rename a Sensor, Device, Group or Probe within PRTG. When renaming objects, it is recommended to first execute Rename-Object first with the -WhatIf parameter. This will show you all the objects that will be renamed when you execute the command normally.</para> <para type="description">By default, Rename-Object will operate in Batch Mode. In Batch Mode, Rename-Object will not execute a request for each individual object, but will rather store each item in a queue to rename all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Rename-Object will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code>C:\> Get-Sensor Memory | Rename-Object "Memory Free"</code> <para>Rename all objects named "Memory" (case insensitive) to "Memory Free"</para> <para/> </example> <example> <code> C:\> Get-Sensor Memory | Rename-Object "Memory Free" -WhatIf What if: Performing the operation "Rename-Object" on target "'Memory' (ID: 2001)" </code> <para>Preview what will happen when you attempt to rename all objects named "Memory"</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Organization#renaming-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RenameObject.Object"> <summary> <para type="description">The object to rename.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RenameObject.Name"> <summary> <para type="description">The new name to give the object.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RenameObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RenameObject.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RenameObject.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RenameObject.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.RestartProbe"> <summary> <para type="synopsis">Restarts the PRTG Probe Service of PRTG Network Monitor probes.</para> <para type="description">The Restart-Probe cmdlet restarts the PRTG Probe Service of a specified PRTG Probe. If no probe is specified, Restart-Probe will restart the PRTG Probe Service of all PRTG Probes in your environment.</para> <para type="description">When executed, Restart-Probe will prompt to confirm you wish to restart the PRTG Probe Service of each PRTG Probe. Within this prompt you may respond to each probe individually or answer yes/no to all. To override this prompt completely, the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Force"/> parameter can be specified.</para> <para type="description">By default, Restart-Probe will wait for one hour for all probes restart and reconnect to PRTG. If you do not wish to wait at all, this can be overridden by specifying -<see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Wait"/>:$false. You may additionally specify a custom timeout duration (in seconds) via the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Timeout"/> parameter. If Restart-Probe times out waiting for a PRTG Probe Service to restart, a <see cref="T:System.TimeoutException"/> will be thrown specifying the number of probes that failed to restart.</para> <example> <code>C:\> Restart-Probe</code> <para>Restart all probes on a PRTG Server and wait for them to restart.</para> <para/> </example> <example> <code>C:\> Get-Probe *contoso* | Restart-Probe -Timeout 180 -Force</code> <para>Restart all probes containing "contoso" in their names, waiting 3 minutes for them to restart, without displaying a confirmation prompt.</para> <para/> </example> <example> <code>C:\> Get-Probe -Id 2004 | Restart-Probe -Wait:$false</code> <para>Restart the probe with ID 2004, without waiting for the probe to restart.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Administrative-Tools#restart-probe-service-1">Online version:</para> <para type="link">Get-Probe</para> <para type="link">Restart-PrtgCore</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Probe"> <summary> <para type="description">The probe to restart. If no probe is specified, all probes will be restarted.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.PassThru"> <summary> <para type="description">Specifies whether to return the original <see cref="T:PrtgAPI.IObject"/> that was passed to this cmdlet, allowing the object to be further piped into additional cmdlets.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Force"> <summary> <para type="description">Forces the PRTG Probe Service to be restarted on all specified probes without displaying a confirmation prompt.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Wait"> <summary> <para type="description">Wait for the PRTG Core Service to restart before ending the cmdlet. By default this value is true.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Timeout"> <summary> <para type="description">Duration (in seconds) to wait for the PRTG Probe Service of all probes to restart. Default value is 3600 (1 hour). If <see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.Wait"/> is false, this parameter will have no effect.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartProbe.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartProbe.EndProcessingEx"> <summary> Provides an enhanced one-time, postprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartProbe.WritePassThru"> <summary> Writes the current <see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.PassThruObject"/> to the pipeline if <see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.PassThru"/> is specified. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartProbe.ShouldPostProcess"> <summary> Whether this cmdlet will execute its post processing operation. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.PassThruObjects"> <summary> The objects that should be output from the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.CurrentMultiPassThru"> <summary> Stores the last object that was output from the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartProbe.WriteMultiPassThru"> <summary> Writes all objects stored in <see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartProbe.PassThruObjects"/> if <see cref="P:PrtgAPI.PowerShell.Base.IPrtgPassThruCmdlet.PassThru"/> is specified. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore"> <summary> <para type="synopsis">Restarts the PRTG Core Service of a PRTG Network Monitor server.</para> <para type="description">The Restart-PrtgCore cmdlet restarts the PRTG Core Service of a PRTG Network Monitor Server. Upon restarting the service, all monitoring will cease functioning and all users will be completely disconnected. If PRTG is in a cluster setup, this cmdlet will only restart the PRTG Core Service of the server PrtgAPI is connected to.</para> <para type="description">When executed, Restart-PrtgCore will prompt to confirm you wish to restart the PRTG Core Service. To override this prompt, the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.Force"/> parameter can be specified.By default, Restart-PrtgCore will one hour for the PRTG Core Service to completely restart and come back online. If you do not wish to wait at all, this can be overridden by specifying -<see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.Wait" />:$false. You may additionally specify a custom timeout duration (in seconds) via the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.Timeout"/> parameter. If Restart-PrtgCore times out waiting for the PRTG Core Service to restart, a <see cref="T:System.TimeoutException"/> will be thrown. <para/> Extreme caution should be used when using Restart-PrtgCore. While smaller PRTG installs can restart in a matter of minutes, servers containing in excess of 10,000 sensors can take over half an hour to restart.</para> <example> <code>C:\> Restart-PrtgCore</code> <para>Restart the PRTG Core Service. The cmdlet will wait up to 60 minutes for the service to restart.</para> <para/> </example> <example> <code>C:\> Restart-PrtgCore -Wait:$false</code> <para>Restart the PRTG Core Service, without waiting for the service to restart before ending the cmdlet.</para> <para/> </example> <example> <code>C:\> Restart-PrtgCore -Timeout 600</code> <para>Restart the PRTG Core Service, waiting 10 minutes (600 seconds) for the service to restart.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Administrative-Tools#restart-core-service-1">Online version:</para> <para type="link">Restart-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.Force"> <summary> <para type="description">Forces the PRTG Core Service to be restarted without displaying a confirmation prompt.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.Wait"> <summary> <para type="description">Wait for the PRTG Core Service to restart before ending the cmdlet. By default this value is true.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.Timeout"> <summary> <para type="description">Duration (in seconds) to wait for the PRTG Core Service to restart. Default value is 3600 (1 hour). If <see cref="P:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.Wait"/> is false, this parameter will have no effect.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.EndProcessingEx"> <summary> Provides an enhanced one-time, postprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.RestartPrtgCore.ShouldPostProcess"> <summary> Whether this cmdlet will execute its post processing operation. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.ResumeObject"> <summary> <para type="synopsis">Resumes a PRTG object from a paused or simulated error state.</para> <para type="description">The Resume-Object cmdlet resumes monitoring an object that has previously been stopped due to manually pausing or simulating an error state on the object.</para> <para type="description">By default, Resume-Object will operate in Batch Mode. In Batch Mode, Resume-Object will not execute a request for each individual object, but will rather store each item in a queue to resume all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Resume-Object will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code>C:\> Get-Sensor -Status PausedByUser | Resume-Object</code> <para>Resume all sensors that have been paused by the user. Note: if parent object has been manually paused, child objects will appear PausedByUser but will not be able to be unpaused.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/State-Manipulation#resume-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ResumeObject.Object"> <summary> <para type="description">The object to resume.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ResumeObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ResumeObject.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ResumeObject.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ResumeObject.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty"> <summary> <para type="synopsis">Modifies the value of a PRTG channel property.</para> <para type="description">The Set-ChannelProperty cmdlet modifies properties and settings of PRTG Channels. All supported properties that can be modified are typesafe, using the type of the property on the Channel object returned from Get-Channel.</para> <para type="description">When a value is specified, Set-ChannelProperty will attempt to parse the value into its expected type. If the type cannot be parsed, an exception will be thrown indicating the type of the object specified and the type that was expected. In the case of enums, Set-ChannelProperty will list all valid values of the target type so that you may know exactly how to interface with the specified property. In the event you wish to modify multiple properties in a single request, Set-ChannelProperty provides dynamically generated parameters for each property supported by PrtgAPI.</para> <para type="description">In the event that a property is specified that has a dependency on another property ebing set (such as UpperErrorLimit requiring LimitsEnabled be $true) Set-ChannelProperty will automatically assign the required values such that the original property may be correctly enabled. If the parent of a property is set to the opposite of a child property's required value PrtgAPI will automatically remove the value specified on the child as well. For example, if LimitsEnabled is set to $false, all error and warning limit related properties will be set to $null. If LimitsEnabled is later set to $true, you will need to repopulate the values of all error and warning limit properties.</para> <para type="description">For a list of all settings currently supported by Set-ChannelProperty, see Get-Help about_ChannelSettings.</para> <para type="description">By default, Set-ChannelProperty will operate in Batch Mode. In Batch Mode, Set-ChannelProperty will not execute a request for each individual object, but will rather store each item in a queue to modify channel properties for all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Set-ChannelProperty will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code>C:\> Get-Sensor -Tags wmicpuloadsensor | Get-Channel Total | Set-ChannelProperty UpperErrorLimit 90</code> <para>Set the upper error limit of the "Total" channel of all WMI CPU Load sensors to 90. Will also set LimitsEnabled to $true</para> <para/> </example> <example> <code> C:\> $channels = Get-Sensor -Tags wmicpuloadsensor | Get-Channel Total C:\> $channels | Set-ChannelProperty -UpperErrorLimit 80 -LowerErrorLimit 20 </code> <para>Set the value of both the UpperErrorLimit and LowerErrorLimit in a single request.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Property-Manipulation#modifying-properties-1">Online version:</para> <para type="link">Get-Help ChannelSettings</para> <para type="link">Get-Channel</para> <para type="link">Get-Sensor</para> <para type="link">Set-ObjectProperty</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.Channel"> <summary> <para type="description">Channel to set the properties of.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.SensorId"> <summary> <para type="description">ID of the channel's parent sensor.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.ChannelId"> <summary> <para type="description">ID of the channel to set the properties of.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.Property"> <summary> <para type="description">Property of the channel to set.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.Value"> <summary> <para type="description">Value to set the property to.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetChannelProperty.GetDynamicParameters"> <summary> Retrieves an object that defines the dynamic parameters of this cmdlet. </summary> <returns>An object that defines the dynamic parameters of this cmdlet.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SetObjectPosition"> <summary> <para type="synopsis">Adjusts the position of an object within its parent.</para> <para type="description">The Set-ObjectPosition cmdlet adjusts the position of an object under its parent node. Set-ObjectPosition allows you to specify either the direction to move the object in (Up, Down, Top, Bottom) or an absolute number to move the object to a fixed position. If a numeric position lower than 1 or higher than the total number of objects under the parent object is specified, PRTG will automatically move the object to the top or bottom of the list.</para> <example> <code>C:\> Get-Sensor -Id 3045 | Set-ObjectPosition 1</code> <para>Move the sensor with ID 3045 to be first in the list under its parent.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id 1001 | Set-ObjectPosition Up</code> <para>Move the sensor with ID 1001 up a single position from its current location.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Organization#positioning-1">Online version:</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectPosition.Object"> <summary> <para type="description">The object to move.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectPosition.Position"> <summary> <para type="description">Position to move the object to. If this value is higher than the number of items in the parent object, this object will be moved to the position closest possible position.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetObjectPosition.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectPosition.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty"> <summary> <para type="synopsis">Modifies the value of a PRTG object property.</para> <para type="description">The Set-ObjectProperty cmdlet modifies properties and settings of PRTG Objects including Sensors, Devices, Groups Probes, Notification Actions and Schedules. All supported properties that can be modified are typesafe, using the type of the property on the Settings object returned from Get-ObjectProperty.</para> <para type="description">When a value is specified, Set-ObjectProperty will attempt to parse the value into its expected type. If the type cannot be parsed, an exception will be thrown indicating the type of the object specified and the type of value that was expected. In the case of enums, Set-ObjectProperty will list all valid values of the target type so that you may know how exactly to interface with the specified property. In the event you wish to modify multiple properties in a single request, Set-ObjectProperty provides dynamically generated parameters for each property supported by PrtgAPI.</para> <para type="description">In the event a property is specified that has a dependency on another property being set (such as Interval requiring InheritInterval be $false, DBPort require DBPortMode be manual, etc) Set-ObjectProperty will automatically assign the required values such that the original property may be correctly enabled.</para> <para type="description">For properties that are not currently supported by PrtgAPI, these settings can still be interfaced with via the -RawProperty and -RawValue parameters. When -Raw* parameters are specified, PrtgAPI will not perform any validation on the specified values. The -RawProperty parameter must contain the raw property name, as typically found on the "name" attribute of the <input/> tag under the object's Settings page in the PRTG UI. All properties that end in an underscore should include this in their names. All properties typically end in an underscore, with the exception of section inheritance properties (Inherit Windows Credentials, etc). Multiple raw properties can be modified at once by specifying a hashtable to the -RawParameters parameter.</para> <para type="description">For a list of settings currently supported by Set-ObjectProperty, see Get-Help about_ObjectSettings and about_SensorSettings.</para> <para type="description">By default, Set-ObjectProperty will operate in Batch Mode. In Batch Mode, Set-ObjectProperty will not execute a request for each individual object, but will rather store each item in a queue to modify object properties for all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Set-ObjectProperty will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code> C:\> Get-Sensor -Id 1001 | Set-ObjectProperty Interval "00:00:30" C:\> Get-Sensor -Id 1001 | Set-ObjectProperty Interval ([TimeSpan]"00:00:30") C:\> Get-Sensor -Id 1001 | Set-ObjectProperty Interval ThirtySeconds </code> <para>Set the Scanning Interval of the sensor with ID 1001 to 30 seconds three different ways. Type "ScanningInterval" expected by property Interval will attempt to coerce strings, TimeSpans and enums into a ScanningInterval object. If the cmdlet succeeds, InheritInterval will also be set to false.</para> <para/> </example> <example> <code>C:\> Get-Device -Id 2002 | Set-ObjectProperty -VMwareUserName root -VMwarePassword password</code> <para>Set the value of both the VMwareUserName and VMwarePassword in a single request.</para> <para/> </example> <example> <code>C:\> Get-Sensor -Id | 1001 | Set-ObjectProperty -RawProperty name_ -RawValue newName</code> <para>Set raw property "name" to value "newName"</para> <para/> </example> <example> <code> C:\> $schedule = Get-PrtgSchedule -Id 621 C:\> Get-Sensor -Id 2024 | Set-ObjectProperty -RawParameters @{ >> scheduledependency = 0 >> schedule_ = $schedule >> } </code> <para>Apply the schedule with ID 621 to the sensor with ID 2024</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Property-Manipulation#modifying-properties-1">Online version:</para> <para type="link">Get-Help ObjectSettings</para> <para type="link">Get-Help SensorSettings</para> <para type="link">Get-ObjectProperty</para> <para type="link">Get-Sensor</para> <para type="link">Get-Device</para> <para type="link">Get-Probe</para> <para type="link">Get-NotificationAction</para> <para type="link">Get-PrtgSchedule</para> <para type="link">Set-ChannelProperty</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.Object"> <summary> <para type="description">The object to modify the properties of.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.Property"> <summary> <para type="description">The property to modify.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.Value"> <summary> <para type="description">The value to set for the specified property.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.RawProperty"> <summary> <para type="description">The raw name of the property to modify. This can be typically discovered by inspecting the "name" attribute of the properties' <input/> tag on the Settings page of PRTG.</para> This value typically ends in an underscore. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.RawValue"> <summary> <para type="description">The one or more values to set the object's property to. For radio buttons and dropdown lists, this is the integer found in the 'value' attribute.<para/> WARNING: If an invalid value is set for a property, minor corruption may occur.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.RawParameters"> <summary> <para type="description">A collection of parameters for modifying multiple raw properties.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.Force"> <summary> <para type="description">Sets an unsafe object property without prompting for confirmation. WARNING: Setting an invalid value for a property can cause minor corruption. Only use if you know what you are doing.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.BeginProcessingEx"> <summary> Provides an enhanced one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetObjectProperty.GetDynamicParameters"> <summary> Retrieves an object that defines the dynamic parameters of this cmdlet. </summary> <returns>An object that defines the dynamic parameters of this cmdlet.</returns> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SimualteErrorStatus"> <summary> <para type="synopsis">Simulates an error status on a PRTG Sensor.</para> <para type="description">The Simulate-ErrorStatus cmdlet forces a PRTG Sensor to enter an error (Down) state. When an object is in a simulated error status, it will display a message indicating it is in a simulated error state. Any object put into a simulated error status will remain in this state until the object is resumed via the Resume-Object cmdlet or via the PRTG UI. Even if an object in a simulated error state is paused, it will return to this state when the object is unpaused.</para> <para type="description">By default, Simulate-ErrorStatus will operate in Batch Mode. In Batch Mode, Simulate-ErrorStatus will not execute a request for each individual object, but will rather store each item in a queue to simulate errors for all objects at once, via a single request. This allows PrtgAPI to be extremely performant in performing operations against a large number of objects.</para> <para type="description">If the pipeline is cancelled (either due to a cmdlet throwing an exception or the user pressing Ctrl-C) before fully completing, Simulate-ErrorStatus will not generate a request against PRTG. If you wish to disable Batch Mode and fully process objects individually one at a time, this can be achieved by specifying -Batch:$false.</para> <example> <code>C:\> Get-Sensor -Id 1001 | Simulate-ErrorStatus</code> <para>Force the sensor with ID to enter an error state.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/State-Manipulation#simulate-error-1">Online version:</para> <para type="link">Resume-Object</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SimualteErrorStatus.Sensor"> <summary> <para type="description">The sensor to simulate an error status on.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SimualteErrorStatus.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SimualteErrorStatus.PerformSingleOperation"> <summary> Invokes this cmdlet's action against the current object in the pipeline. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SimualteErrorStatus.PerformMultiOperation(System.Int32[])"> <summary> Invokes this cmdlet's action against all queued items from the pipeline. </summary> <param name="ids">The Object IDs of all queued items.</param> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SimualteErrorStatus.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SortPrtgObject"> <summary> <para type="synopsis">Sorts the children of a device, group or probe alphabetically.</para> <para type="description">The Sort-PrtgObject cmdlet sorts the children of a specified object alphabetically. In addition to normal devices, groups and probes, this cmdlet can also be used against the Root group (ID: 0), allowing you to sort probes alphabetically as well.</para> <example> <code>C:\> Get-Group -Id 0 | Sort-PrtgObject</code> <para>Sort all probes under the root PRTG Group</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Organization#sorting-1">Online version:</para> <para type="link">Get-Device</para> <para type="link">Get-Group</para> <para type="link">Get-Probe</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SortPrtgObject.Object"> <summary> <para type="description">The device, group or probe whose children should be sorted.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SortPrtgObject.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SortPrtgObject.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery"> <summary> <para type="synopsis">Auto-discovers sensors on a PRTG Device.</para> <para type="description">The Start-AutoDiscovery cmdlet initiates an auto-discovery task against a PRTG Device. When auto-discovery runs, PRTG will attempt to automatically create sensors under the device based on a series of built-in templates. If a device is not receptive to a particular sensor type, the sensor is not created.</para> <para type="description">By default, all device templates known to PRTG will be used for performing the auto-discovery. Templates can be limited those that match one more specified expressions by specifying the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery.TemplateName"/> parameter. If one or more device templates have already been retrieved via a previous call to Get-DeviceTemplate, these can alternatively be passed to the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery.Template"/> parameter</para> <para type="description">Sensors have a built-in flag to indicate whether they were created by auto-discovery. If auto-discovery identifies a sensor type that is applicable to your device that already has a copy of that sensor that was created manually, auto-discovery will ignore your existing sensor and create a new one alongside it. Because of this, it is always recommended to use auto-discovery based sensors to allow for running auto-discovery multiple times without causing duplicates.</para> <para type="description">If more than 10 auto-discovery tasks are specified, PRTG will queue the additional tasks to limit the load on the system.</para> <example> <code>C:\> Get-Device | Start-AutoDiscovery</code> <para>Run auto-discovery against all devices.</para> <para/> </example> <example> <code>C:\> Get-Device dc-1 | Start-AutoDiscovery *wmi*</code> <para>Run auto-discovery against all devices named "dc-1" using WMI specific device templates</para> <para/> </example> <example> <code> C:\> $templates = Get-DeviceTemplate *wmi* C:\> Get-Device dc-1 | Start-AutoDiscovery $templates </code> <para>Run auto-discovery against all devices named "dc-1" using WMI specific device templates</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Object-Creation#auto-discovery-1">Online version:</para> <para type="link">Get-Device</para> <para type="link">Get-DeviceTemplate</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery.Device"> <summary> <para type="description">The device to perform auto-discovery upon.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery.TemplateName"> <summary> <para type="description">One or more expressions used to identify device templates to use for the auto-discovery. If no templates are specified, only templates enabled on the device will be used.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery.Template"> <summary> <para type="description">One or more device templates to use for the auto-discovery. If no templates are specified, only templates enabled on the device will be used.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.StartAutoDiscovery.PassThruObject"> <summary> Returns the current object that should be passed through this cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer"> <summary> <para type="synopsis">Initializes a new instance of a <see cref="T:PrtgAPI.PrtgClient"/>. This cmdlet must be called at least once before attempting to use any other cmdlets.</para> <para type="description">The Connect-PrtgServer cmdlet establishes a new connection to a PRTG Server. As PRTG uses a stateless REST API, Connect-PrtgServer initializes a <see cref="T:PrtgAPI.PrtgClient"/> which stores the settings that will be used when generating each request.</para> <para type="description">PRTG supports two authentication methods: username/password and username/passhash. A PassHash is a numeric password generated by PRTG that can be used in place of your regular password. When your <see cref="T:PrtgAPI.PrtgClient"/> is initialized, if you have specified a password PrtgAPI will automatically retrieve your account's PassHash for use in all future requests.</para> <para type="description">By default when PRTG times out while processing a request PrtgAPI will throw an exception. This can be quite problematic when attempting to batch process a large number of items with PrtgAPI in PowerShell. You can request PrtgAPI automatically attempt to retry failed requests by specifying the -RetryCount and -RetryDelay parameters. If -RetryCount is greater than 0, PrtgAPI will send a warning to the pipeline indicating a failure has occurred, as well as the number of retries remaining before PrtgAPI gives up. Each request invocation uses a separate retry count.</para> <para type="description">If a protocol is not specified, PrtgAPI will connect with HTTPS. If your PRTG Server is HTTP only, this will cause an exception. For HTTP only servers, prefix your URL with http://</para> <para type="description">When Connect-PrtgServer is run from outside of a script or the PowerShell ISE, PrtgAPI will display PowerShell progress when piping between PrtgAPI cmdlets or when piping from variables containing PrtgAPI objects. This default setting can be overridden by specifying a value to the -Progress parameter, or by using the Enable-PrtgProgress and Disable-PrtgProgress cmdlets.</para> <para type="description">Attempting to invoke Connect-PrtgServer after a <see cref="T:PrtgAPI.PrtgClient"/> has already been initialized for the current session will generate an exception. To override the existing <see cref="T:PrtgAPI.PrtgClient"/>, specify the -Force parameter to Connect-PrtgServer, or invalidate the <see cref="T:PrtgAPI.PrtgClient"/> by calling Disconnect-PrtgServer. The current <see cref="T:PrtgAPI.PrtgClient"/> can be retrieved via the Get-PrtgClient cmdlet. This cmdlet can also be used to detect whether a connection is active. If you wish to retrieve the <see cref="T:PrtgAPI.PrtgClient"/> immediately upon connecting to PRTG, this can be achieved by specifying the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.PassThru"/> parameter to Connect-PrtgServer.</para> <para type="description">For information on viewing and editing the session's <see cref="T:PrtgAPI.PrtgClient"/> settings see Get-Help Get-PrtgClient.</para> <example> <code>C:\> Connect-PrtgServer prtg.example.com</code> <para>Connect to a PRTG Server. You will receive a login prompt requesting you enter your credentials.</para> <para/> </example> <example> <code>C:\> Connect-PrtgServer prtg.example.com (New-Credential prtgadmin prtgadmin)</code> <para>Connect to a PRTG Server specifying your credentials as part of the command. The New-Credential cmdlet can be used when developing scripts to avoid a login prompt.</para> <para/> </example> <example> <code>C:\> Connect-PrtgServer prtg.example2.com -Force</code> <para>Connect to a PRTG Server, overriding the session's existing PrtgClient (if applicable)</para> <para/> </example> <example> <code>C:\> Connect-PrtgServer http://prtg.example.com</code> <para>Connect to a PRTG Server using HTTP. http:// must be specified for servers that do not accept HTTPS.</para> <para/> </example> <example> <code> if(!(Get-PrtgClient)) { Connect-PrtgServer prtg.example.com } </code> <para>Connect to a PRTG Server only if an existing connection is not active.</para> <para/> </example> <example> <code>C:\> $client = Connect-PrtgServer prtg.example.com -PassThru</code> <para>Connect to a PRTG Server, storing the PrtgClient for later use.</para> <para/> </example> <example> <code>C:\> Connect-PrtgServer prtg.example.com -RetryCount 3 -RetryDelay 5</code> <para>Connect to a PRTG Server, indicating that any requests that fail during the use of the PrtgClient should be attempted at most 3 times, with a delay of 5 seconds between each attempt.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Getting-Started#powershell">Online version:</para> <para type="link">Get-PrtgClient</para> <para type="link">Set-PrtgClient</para> <para type="link">Disconnect-PrtgServer</para> <para type="link">Enable-PrtgProgress</para> <para type="link">Disable-PrtgProgress</para> <para type="link">Install-GoPrtgServer</para> <para type="link">Connect-GoPrtgServer</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.Server"> <summary> <para type="description">Specifies the PRTG Server requests will be made against.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.Credential"> <summary> <para type="description">Specifies the username and password to authenticate with. If <see cref="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.PassHash"/> is specified, the password will be treated as a PassHash instead.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.Force"> <summary> <para type="description">Forces a <see cref="T:PrtgAPI.PrtgClient"/> to be replaced if one already exists.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.PassHash"> <summary> <para type="description">Specifies that the <see cref="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.Credential"/>'s password contains a PassHash instead of a Password.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.RetryCount"> <summary> <para type="description">The number of times to retry a request that times out while communicating with PRTG.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.RetryDelay"> <summary> <para type="description">The base delay (in seconds) between retrying a timed out request. Each successive failure of a given request will wait an additional multiple of this value.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.LogLevel"> <summary> <para type="description">The type of events to log when -Verbose is specified.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.Progress"> <summary> <para type="description">Enable or disable PowerShell Progress when piping between cmdlets. By default, if Connect-PrtgServer is being called from within a script or the PowerShell ISE this value is false. Otherwise, true.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.PassThru"> <summary> <para type="description">Specifies whether to return the <see cref="T:PrtgAPI.PrtgClient"/> that was passed to this cmdlet, allowing the object to be further piped into additional cmdlets.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.IgnoreSSL"> <summary> <para type="description">Whether to ignore SSL certificate errors encountered when communicating with your <see cref="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.Server"/>. Affects all requests for the life of your process.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.PassThruObject"> <summary> <para type="description">Returns the <see cref="T:PrtgAPI.PrtgClient"/> that was created by this cmdlet.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.WritePassThru"> <summary> Writes the current <see cref="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.PassThruObject"/> to the pipeline if <see cref="P:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.PassThru"/> is specified. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ConnectPrtgServer.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.DisablePrtgProgress"> <summary> <para type="synopsis">Disables PRTG Progress for the current PowerShell Session.</para> <para type="description">The Disable-PrtgProgress disables displaying progress when piping between PrtgAPI cmdlets. By default, progress is enabled when PrtgAPI is used outside of scripts or the PowerShell ISE. Progress can then be manually controlled via the Enable-PrtgProgress and Disable-PrtgProgress cmdlets. If progress is manually disabled, this setting will only persist for the current PowerShell session, or until the next time Connect-PrtgServer is run.</para> <example> <code>C:\> Disable-PrtgProgress</code> <para>Disable PrtgAPI progress for the current session</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Progress">Online version:</para> <para type="link">Enable-PrtgProgress</para> <para type="link">Connect-PrtgServer</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.DisablePrtgProgress.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.DisconnectPrtgServer"> <summary> <para type="synopsis">Invalidates a <see cref="T:PrtgAPI.PrtgClient"/> previously created with Connect-PrtgServer.</para> <para type="description">The Disconnect-PrtgServer cmdlet invalidates a PrtgClient previously created with Connect-PrtgServer. As PRTG uses a stateless REST API, it is not necessary to call Disconnect-PrtgServer when you have finished making requests unless you are developing a script, in which case Connect-PrtgServer will fail to create a PrtgClient if a PRTG connection is already active in the current session. This can be circumvented by specifying the -Force parameter when establishing the connection. For more information, see Connect-PrtgServer.</para> <para type="description">If Disconnect-PrtgServer is called when you are not connected to a PRTG Server, this cmdlet does nothing.</para> <example> <code>C:\> Disconnect-PrtgServer</code> <para>Disconnect from the current PRTG Server</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Getting-Started#session-management-1">Online version:</para> <para type="link">Connect-PrtgServer</para> <para type="link">Get-PrtgClient</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.DisconnectPrtgServer.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.EnablePrtgProgress"> <summary> <para type="synopsis">Enables PRTG Progress for the current PowerShell Session.</para> <para type="description">The Enable-PrtgProgress enables displaying progress when piping between PrtgAPI cmdlets. By default, progress is enabled when PrtgAPI is used outside of scripts or the PowerShell ISE. Progress can then be manually controlled via the Enable-PrtgProgress and Disable-PrtgProgress cmdlets. If progress is manually enabled, this setting will only persist for the current PowerShell session, or until the next time Connect-PrtgServer is run.</para> <example> <code>C:\> Enable-PrtgProgress</code> <para>Enable PrtgAPI progress for the current session</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Progress">Online version:</para> <para type="link">Disable-PrtgProgress</para> <para type="link">Connect-PrtgServer</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.EnablePrtgProgress.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetPrtgClient"> <summary> <para type="synopsis">Retrieves the current session's <see cref="T:PrtgAPI.PrtgClient"/></para> <para type="description">The Get-PrtgClient cmdlet allows you to access the <see cref="T:PrtgAPI.PrtgClient"/> of the current session previously created with a call to Connect-PrtgServer. This allows you to view/edit the properties of the <see cref="T:PrtgAPI.PrtgClient"/> previously defined in your call to Connect-PrtgServer, as well as access the raw C# PrtgAPI should you wish to bypass or access methods not in the PowerShell interface.</para> <example> <code>C:\> Get-PrtgClient</code> <para>View the settings of the session's PrtgClient. If the session does not have a PrtgClient, the cmdlet returns null</para> <para/> </example> <example> <code>C:\> (Get-PrtgClient).RetryCount = 5</code> <para>Change the RetryCount of the PrtgClient to 5</para> <para/> </example> <example> <code>C:\> (Get-PrtgClient).GetSensors()</code> <para>Invoke the GetSensors method of the PrtgClient</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Getting-Started#session-management-1">Online version:</para> <para type="link">Connect-PrtgServer</para> <para type="link">Disconnect-PrtgServer</para> <para type="link">Set-PrtgClient</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetPrtgClient.ProcessRecord"> <summary> Performs record-by-record processing functionality for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.ConnectGoPrtgServer"> <summary> <para type="synopsis">Connects to a PRTG Network Monitor server using connection details stored in the current PowerShell Profile.</para> <para type="description">GoPrtg allows you to securely store your PRTG Network Monitor server and authentication details inside your PowerShell profile. Upon opening a new PowerShell Session, by simply executing the GoPrtg command you can be automatically connected to one of several servers, without needing to enter any credentials.</para> <para type="description">When invoked without arguments, GoPrtg will attempt to connect to the first server in your GoPrtg servers list. When multiple records are present, a specific server can be connected to by specifying a wildcard pattern that corresponds to that connection's Server or Alias property. A full list of installed GoPrtg servers can be viewed via the Get-GoPrtgServer cmdlet.</para> <para type="description">Upon connecting to a GoPrtg server, GoPrtg will output a status message to the console indicating whether the connection succeeded. As GoPrtg depends on the contents of the current user's PowerShell Profile, it is not recommended to use GoPrtg cmdlets inside scripts. To manage PRTG server connections inside scripts it is recommended to use the Connect-PrtgServer cmdlet in conjunction with New-Credential / Get-Credential.</para> <example> <code>C:\> goprtg</code> <para>Connect to the first GoPrtg server installed in the current PowerShell Profile.</para> <para/> </example> <example> <code>C:\> goprtg dev</code> <para>Connect to the GoPrtg server with alias "dev"</para> <para/> </example> <example> <code>C:\> goprtg prtg.exam*</code> <para>Connect to the GoPrtg server whose address starts with "prtg.exam".</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Store-Credentials#connection">Online version:</para> <para type="link">Get-GoPrtgServer</para> <para type="link">Install-GoPrtgServer</para> <para type="link">Set-GoPrtgAlias</para> <para type="link">Uninstall-GoPrtgServer</para> <para type="link">Update-GoPrtgCredential</para> <para type="link">Connect-PrtgServer</para> <para type="link">New-Credential</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectGoPrtgServer.Server"> <summary> <para type="description">A wildcard expression describing the address or alias of the server to connect to.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.ConnectGoPrtgServer.LogLevel"> <summary> <para type="description">The type of events to log when -Verbose is specified.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.ConnectGoPrtgServer.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.GetGoPrtgServer"> <summary> <para type="synopsis">Retrieves GoPrtg connection details from the current PowerShell Profile.</para> <para type="description">The Get-GoPrtgServer cmdlet retrieves all GoPrtg connections stored in the current PowerShell Profile. Each server lists its server address, username used for authentication and alias (if applicable). The currently active server is indicated by an asterisk. If multiple connections are installed, a wildcard expression indicating the server addresses or aliases to filter for can be specified to limit results.</para> <example> <code>C:\> Get-GoPrtgServer</code> <para>List all GoPrtg servers installed in the current PowerShell profile.</para> <para/> </example> <example> <code>C:\> Get-GoPrtgServer *dev*</code> <para>List all GoPrtg servers whose server address or alias contains the word "dev".</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Store-Credentials#enumeration">Online version:</para> <para type="link">Connect-GoPrtgServer</para> <para type="link">Install-GoPrtgServer</para> <para type="link">Set-GoPrtgAlias</para> <para type="link">Uninstall-GoPrtgServer</para> <para type="link">Update-GoPrtgCredential</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.GetGoPrtgServer.Server"> <summary> <para type="description">A wildcard expression describing the address or alias of the servers to retrieve.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.GetGoPrtgServer.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.InstallGoPrtgServer"> <summary> <para type="synopsis">Installs the active PRTG Network Monitor server as a GoPrtg server in the current PowerShell Profile.</para> <para type="description">The Install-GoPrtgServer cmdlet installs the active PRTG Network Monitor server as a GoPrtg server in the current PowerShell Profile. GoPrtg servers provide a means of securely connecting to PRTG servers without having to re-enter your PRTG server and authentication details every time you open a new PowerShell Session or wish to switch to another server.</para> <para type="description">When installing a new GoPrtg server, you may optionally specify an -<see cref="P:PrtgAPI.PowerShell.Cmdlets.InstallGoPrtgServer.Alias"/> for your connection to use a shorthand when using the GoPrtg command to toggle between servers. Multiple records may lack an alias as long as they are for different servers. Otherwise, each record stored by Install-GoPrtgServer MUST have a unique alias. The alias for the currently active GoPrtg server can be updated via the Update-GoPrtgCredential cmdlet.</para> <para type="description">When storing your connection details, Install-GoPrtgServer encrypts your PassHash as a SecureString, which is then converted to an Encrypted String and stored alongside your server, username and alias (if applicable). When stored as an Encrypted String, your PassHash can only be decrypted under your user account on the computer on which it was created.</para> <para type="description">When GoPrtg servers have been installed, special code will be inserted into your PowerShell Profile, demarcated by a special header and footer indicating the bounds of GoPrtg's configuration data. Great care should be taken when manipulating your PowerShell Profile. If any key markings (including the GoPrtg headers and footers themselves) are removed from the PowerShell Profile, GoPrtg may be unable to continue parsing its configuration without manual intervention. If worst comes to worst, you can repair your corrupted GoPrtg configuration by simply removing the entire GoPrtg section (including headers and footers) and reinstalling your GoPrtg servers.</para> <example> <code>C:\> Install-GoPrtg</code> <para>Installs the currently active server without an alias.</para> <para/> </example> <example> <code>C:\> Install-GoPrtg dev</code> <para>Installs the currently active server with the alias "dev"</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Store-Credentials#installation">Online version:</para> <para type="link">Connect-GoPrtgServer</para> <para type="link">Get-GoPrtgServer</para> <para type="link">Set-GoPrtgAlias</para> <para type="link">Uninstall-GoPrtgServer</para> <para type="link">Update-GoPrtgCredential</para> <para type="link">Connect-PrtgServer</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.InstallGoPrtgServer.Alias"> <summary> <para type="description">An optional alias to associate with the server. An alias must be specified if an existing record exists for the currently active server.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.InstallGoPrtgServer.BeginProcessing"> <summary> Provides a one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.InstallGoPrtgServer.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SetGoPrtgAlias"> <summary> <para type="synopsis">Updates the server alias of the currently active GoPrtg Server.</para> <para type="description">The Set-GoPrtgAlias updates the alias of the currently active GoPrtg Server. GoPrtg aliases provide a shorthand for connecting to specific GoPrtg servers when multiple servers are installed in your PowerShell profile. Multiple GoPrtg records may lack aliases as long as they connect to different servers. Otherwise, each GoPrtg server must have a unique alias. If no alias is specified, the alias of the specified server will be removed.</para> <example> <code>C:\> Set-GoPrtgAlias dev</code> <para>Sets the alias of the currently active GoPrtg server to "dev".</para> <para/> </example> <example> <code>C:\> Set-GoPrtgAlias</code> <para>Removes the alias of the currently active GoPrtg server.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Store-Credentials#modification">Online version:</para> <para type="link">Connect-GoPrtgServer</para> <para type="link">Get-GoPrtgServer</para> <para type="link">Install-GoPrtgServer</para> <para type="link">Uninstall-GoPrtgServer</para> <para type="link">Update-GoPrtgCredential</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetGoPrtgAlias.Alias"> <summary> <para type="description">The alias to assign to the currently active GoPrtg server. If this value is null or empty, the active server's alias will be removed. If multiple records exist for the active server, a unique alias must be specified.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetGoPrtgAlias.BeginProcessing"> <summary> Provides a one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetGoPrtgAlias.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.UninstallGoPrtgServer"> <summary> <para type="synopsis">Uninstalls one or more GoPrtg servers from the current PowerShell Profile.</para> <para type="description">The Uninstall-GoPrtgServer cmdlet uninstalls one or more GoPrtg servers from the current PowerShell Profile. If a single GoPrtg server exists in your PowerShell Profile, invoking Uninstall-GoPrtgServer with no arguments will automatically install your single server. Otherwise, a -<see cref="P:PrtgAPI.PowerShell.Cmdlets.UninstallGoPrtgServer.Server"/> wildcard expression must be specified matching one or more servers or aliases to remove. Alternatively, you may specify the -<see cref="P:PrtgAPI.PowerShell.Cmdlets.UninstallGoPrtgServer.Force"/> parameter to automatically remove all GoPrtg servers.</para> <example> <code>C:\> Uninstall-GoPrtgServer *dev*</code> <para>Uninstalls all GoPrtg servers whose name or alias contains "dev".</para> <para/> </example> <example> <code>C:\> Uninstall-GoPrtgServer -Force</code> <para>Uninstalls all GoPrtg servers.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Store-Credentials#uninstallation">Online version:</para> <para type="link">Connect-GoPrtgServer</para> <para type="link">Get-GoPrtgServer</para> <para type="link">Install-GoPrtgServer</para> <para type="link">Set-GoPrtgAlias</para> <para type="link">Update-GoPrtgCredential</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.UninstallGoPrtgServer.Server"> <summary> <para type="description">A wildcard describing the servers to remove. If only one GoPrtg server exists, this parameter can be omitted.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.UninstallGoPrtgServer.Force"> <summary> <para type="description">Specifies that all GoPrtg servers should be removed.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.UninstallGoPrtgServer.BeginProcessing"> <summary> Provides a one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.UninstallGoPrtgServer.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.UpdateGoPrtgCredential"> <summary> <para type="synopsis">Updates the credentials used for the currently active GoPrtg server.</para> <para type="description">The Update-GoPrtgCredential cmdlet updates the authentication credentials of the currently active GoPrtg Server. When your PRTG user account password changes, your PassHash can also change too. In this scenario, you can simply run the Update-GoPrtgCredential cmdlet to re-enter your credentials. Update-GoPrtgCredential will then resolve your new PassHash and update the details for the currently active record. Alternatively, you may also update the username of the currently active record, so long as you do not have another record with the same server/username combination in your current PowerShell Profile.</para> <example> <code>C:\> Update-GoPrtgCredential</code> <para>Update the credentials of the currently active GoPrtg server.</para> <para/> </example> <example> <code>C:\> Update-GoPrtgCredential (New-Credential prtgadmin prtgadmin)</code> <para>Update the credentials of the currently active Goprtg server with a specified username and password.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Store-Credentials#modification">Online version:</para> <para type="link">Connect-GoPrtgServer</para> <para type="link">Get-GoPrtgServer</para> <para type="link">Install-GoPrtgServer</para> <para type="link">Set-GoPrtgAlias</para> <para type="link">Uninstall-GoPrtgServer</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.UpdateGoPrtgCredential.Credential"> <summary> <para type="description">The new credential to use for the currently active GoPrtg server.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.UpdateGoPrtgCredential.BeginProcessing"> <summary> Provides a one-time, preprocessing functionality for the cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.UpdateGoPrtgCredential.ProcessRecord"> <summary> Performs record-by-record processing for the cmdlet. </summary> </member> <member name="T:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient"> <summary> <para type="synopsis">Modifies settings on the current session's <see cref="T:PrtgAPI.PrtgClient"/>.</para> <para type="description">The Set-PrtgClient cmdlet modifies settings present on the current session's <see cref="T:PrtgAPI.PrtgClient"/>. Typically these settings are specified when establishing a PRTG session with Connect-PrtgServer. This cmdlet allows you to modify these settings after the session has already been created, such as when you've connected to a GoPrtg Server.</para> <example> <code>C:\> Set-PrtgClient -RetryCount 5 -LogLevel Trace,Response</code> <para>Update the RetryCount and LogLevel on the current session's PrtgClient.</para> </example> <para type="link" uri="https://github.com/lordmilko/PrtgAPI/wiki/Getting-Started#session-management-1">Online version:</para> <para type="link">Connect-PrtgServer</para> <para type="link">Get-PrtgClient</para> <para type="link">Connect-GoPrtgServer</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.RetryCount"> <summary> <para type="description">The number of times to retry a request that times out while communicating with PRTG.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.RetryDelay"> <summary> <para type="description">The base delay (in seconds) between retrying a timed out request. Each successive failure of a given request will wait an additional multiple of this value.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.LogLevel"> <summary> <para type="description">The type of events to log when -Verbose is specified.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.Progress"> <summary> <para type="description">Enable or disable PowerShell Progress when piping between cmdlets. By default, if Connect-PrtgServer is being called from within a script or the PowerShell ISE this value is false. Otherwise, true.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.IgnoreSSL"> <summary> <para type="description">Ignore any SSL validation when communicating with PRTG. Modifying this property will regenerate the current session's <see cref="T:PrtgAPI.PrtgClient"/>.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.PassThru"> <summary> <para type="description">Specifies whether to return the <see cref="T:PrtgAPI.PrtgClient"/> that will be used by this session after processing all parameters.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.PassThruObject"> <summary> <para type="description">Returns the <see cref="T:PrtgAPI.PrtgClient"/> that was created or manipulated by this cmdlet.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.WritePassThru"> <summary> Writes the current <see cref="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.PassThruObject"/> to the pipeline if <see cref="P:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.PassThru"/> is specified. </summary> </member> <member name="M:PrtgAPI.PowerShell.Cmdlets.SetPrtgClient.ProcessRecordEx"> <summary> Performs enhanced record-by-record processing functionality for the cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.CloneCmdletConfig.Name"> <summary> The name to give the new object. </summary> </member> <member name="T:PrtgAPI.PowerShell.FactorySummaryMode"> <summary> Specifies sensor factory summary modes known to <see cref="T:PrtgAPI.PowerShell.Cmdlets.NewSensorFactoryDefinition"/>. </summary> </member> <member name="F:PrtgAPI.PowerShell.FactorySummaryMode.Min"> <summary> Calculate the minimum of all channel values. </summary> </member> <member name="F:PrtgAPI.PowerShell.FactorySummaryMode.Max"> <summary> Calculate the maximum of all channel values. </summary> </member> <member name="F:PrtgAPI.PowerShell.FactorySummaryMode.Sum"> <summary> Calculate the sum of all channel values. </summary> </member> <member name="F:PrtgAPI.PowerShell.FactorySummaryMode.Average"> <summary> Calculate the average of all channel values. </summary> </member> <member name="T:PrtgAPI.PowerShell.EnumOrScriptBlock`1"> <summary> <para type="description">Wraps a value that may be a known enum value or a custom expression.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.EnumOrScriptBlock`1.Parse(System.Object)"> <summary> Converts an object of one of several types to a <see cref="T:PrtgAPI.PowerShell.EnumOrScriptBlock`1"/>. </summary> <param name="value">The value to parse.</param> <returns>If the value is parsable, a <see cref="T:PrtgAPI.PowerShell.EnumOrScriptBlock`1"/>. Otherwise, an <see cref="T:System.ArgumentException"/> will be thrown.</returns> </member> <member name="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.ScriptBlock"> <summary> The script block wrapped by this type. If <see cref="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.IsScriptBlock"/> is false, this value is null. </summary> </member> <member name="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.IsScriptBlock"> <summary> Indicates whether this object contains a <see cref="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.ScriptBlock"/>. If false, this object contains an enum <see cref="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.Value"/>. </summary> </member> <member name="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.Value"> <summary> The name of this object. If <see cref="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.IsScriptBlock"/> is true, this value is null. </summary> </member> <member name="M:PrtgAPI.PowerShell.EnumOrScriptBlock`1.#ctor(System.Management.Automation.ScriptBlock)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> class with a <see cref="P:PrtgAPI.PowerShell.EnumOrScriptBlock`1.ScriptBlock"/>. </summary> <param name="value">The script block to wrap.</param> </member> <member name="M:PrtgAPI.PowerShell.EnumOrScriptBlock`1.#ctor(`0)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> class with a enum value. </summary> <param name="value">The value to wrap.</param> </member> <member name="M:PrtgAPI.PowerShell.NewSensorDynamicParameterCategory.AddParametersObjectDynamicParameters(PrtgAPI.PowerShell.RuntimeDefinedParameterDictionaryEx)"> <summary> Creates dynamic parameters for all parameters defined on a <see cref="T:PrtgAPI.Parameters.NewSensorParameters"/> object. </summary> <param name="dictionary">The dynamic parameters dictionary to add parameters to.</param> </member> <member name="T:PrtgAPI.PowerShell.PropertyDynamicParameterSet`1"> <summary> Represents an object used for constructing dynamic parameters from objects whose properties correspond to values defined in an enum type. </summary> <typeparam name="T">The type of enum that corresponds to the object's properties.</typeparam> </member> <member name="T:PrtgAPI.PowerShell.Either`2"> <summary> Represents a value that may be one of two types. </summary> <typeparam name="TLeft">The first type the value may be.</typeparam> <typeparam name="TRight">The second type the value may be.</typeparam> </member> <member name="P:PrtgAPI.PowerShell.Either`2.Left"> <summary> The first value that may be specified. </summary> </member> <member name="P:PrtgAPI.PowerShell.Either`2.Right"> <summary> The second value that may be specified. </summary> </member> <member name="P:PrtgAPI.PowerShell.Either`2.IsLeft"> <summary> Indicates whether the <see cref="P:PrtgAPI.PowerShell.Either`2.Left"/> value has been specified. If not, <see cref="P:PrtgAPI.PowerShell.Either`2.Right"/> is specified. </summary> </member> <member name="M:PrtgAPI.PowerShell.Either`2.#ctor(`0)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Either`2"/> class with a value of the first possible type. </summary> <param name="value">The value to use.</param> </member> <member name="M:PrtgAPI.PowerShell.Either`2.#ctor(`1)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Either`2"/> class with a value of the second possible type. </summary> <param name="value">The value to use.</param> </member> <member name="M:PrtgAPI.PowerShell.Either`2.ToString"> <summary> Returns a string that represents the current object. </summary> <returns>A string that represents the current object.</returns> </member> <member name="T:PrtgAPI.PowerShell.NameOrObject`1"> <summary> <para type="description">Wraps an object that may be identified by its name (possibly a wildcard expression) or its <see cref="T:PrtgAPI.PrtgObject"/>.</para> </summary> <typeparam name="T">The type of object to wrap.</typeparam> </member> <member name="P:PrtgAPI.PowerShell.NameOrObject`1.Object"> <summary> The object wrapped by this type. If <see cref="P:PrtgAPI.PowerShell.NameOrObject`1.IsObject"/> is false, this value is null. </summary> </member> <member name="P:PrtgAPI.PowerShell.NameOrObject`1.IsObject"> <summary> Indicates whether this object contains an <see cref="P:PrtgAPI.PowerShell.NameOrObject`1.Object"/>. If false, this object contains a <see cref="P:PrtgAPI.PowerShell.NameOrObject`1.Name"/>. </summary> </member> <member name="P:PrtgAPI.PowerShell.NameOrObject`1.Name"> <summary> The name of this object. If <see cref="P:PrtgAPI.PowerShell.NameOrObject`1.IsObject"/> is true, this value is null. </summary> </member> <member name="M:PrtgAPI.PowerShell.NameOrObject`1.#ctor(`0)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> class with a <see cref="T:PrtgAPI.PrtgObject"/>. </summary> <param name="value">The object to wrap.</param> </member> <member name="M:PrtgAPI.PowerShell.NameOrObject`1.#ctor(System.String)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> class with an object name or wildcard expression. </summary> <param name="value">The name or wildcard expression to wrap.</param> </member> <member name="T:PrtgAPI.PowerShell.NameOrScriptBlock"> <summary> <para type="description">Wraps a name that may be dynamically generated or manually specified.</para> </summary> </member> <member name="P:PrtgAPI.PowerShell.NameOrScriptBlock.ScriptBlock"> <summary> The script block wrapped by this type. If <see cref="P:PrtgAPI.PowerShell.NameOrScriptBlock.IsScriptBlock"/> is false, this value is null. </summary> </member> <member name="P:PrtgAPI.PowerShell.NameOrScriptBlock.IsScriptBlock"> <summary> Indicates whether this object contains a <see cref="P:PrtgAPI.PowerShell.NameOrScriptBlock.ScriptBlock"/>. If false, this object contains a <see cref="P:PrtgAPI.PowerShell.NameOrScriptBlock.Name"/>. </summary> </member> <member name="P:PrtgAPI.PowerShell.NameOrScriptBlock.Name"> <summary> The name of this object. If <see cref="P:PrtgAPI.PowerShell.NameOrScriptBlock.IsScriptBlock"/> is true, this value is null. </summary> </member> <member name="M:PrtgAPI.PowerShell.NameOrScriptBlock.#ctor(System.Management.Automation.ScriptBlock)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> class with a <see cref="P:PrtgAPI.PowerShell.NameOrScriptBlock.ScriptBlock"/>. </summary> <param name="value">The script block to wrap.</param> </member> <member name="M:PrtgAPI.PowerShell.NameOrScriptBlock.#ctor(System.String)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.NameOrObject`1"/> class with a name to use as a label. </summary> <param name="value">The name to wrap.</param> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Default"> <summary> The default parameter set that is used. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Manual"> <summary> The parameter set that is used when specifying an Object ID manually. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Basic"> <summary> The parameter set that is used when specifying a limit set of values for a specified set of <see cref="T:PrtgAPI.Parameters.BaseParameters"/>. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Raw"> <summary> The parameter set that is used when operating in raw values. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Dynamic"> <summary> The parameter set that is used when utilizing dynamically generated parameters. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Property"> <summary> The parameter set that is used when utilizing a well typed property. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.RawProperty"> <summary> The parameter set that is used when utilizing a raw property. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Until"> <summary> The parameter set that is used when performing an action whose effects will last until a specified <see cref="T:System.DateTime"/>. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Forever"> <summary> The parameter set that is used when performing an action whose effects will last forever. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.Add"> <summary> The parameter set that is used when adding to an existing object. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.AddManual"> <summary> The parameter set that is used when adding a new object specifying an Object ID manually. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.EditManual"> <summary> The parameter set that is used when editing an object specifying the Object ID manually. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.AddFrom"> <summary> The parameter set that is used when adding a new object from an existing object. </summary> </member> <member name="F:PrtgAPI.PowerShell.ParameterSet.EditFrom"> <summary> The parameter set that is used when editing an existing object. </summary> </member> <member name="T:PrtgAPI.PowerShell.Position"> <summary> <para type="description">Represents an absolute or directional position.</para> </summary> </member> <member name="M:PrtgAPI.PowerShell.Position.Parse(System.Object)"> <summary> Converts an object of one of several types to a <see cref="T:PrtgAPI.PowerShell.Position"/>. </summary> <param name="value">The value to parse.</param> <returns>A <see cref="T:PrtgAPI.PowerShell.Position"/> that encapsulates the passed value.</returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.IProgressWriter.WriteProgress(PrtgAPI.PowerShell.Progress.ProgressRecordEx)"> <summary> Write a new process record. </summary> <param name="progressRecord">The progress record to write.</param> </member> <member name="M:PrtgAPI.PowerShell.Progress.IProgressWriter.WriteProgress(System.Int64,PrtgAPI.PowerShell.Progress.ProgressRecordEx)"> <summary> Update a previous progress record, or if the progressRecord.ParentActivityId is specified, make a progress record a child of its parent. </summary> <param name="sourceId">The source ID of the previously written record.</param> <param name="progressRecord">The progress record to write.</param> </member> <member name="T:PrtgAPI.PowerShell.Progress.ProcessingOperation"> <summary> Specifies the progress processing mode of a cmdlet. </summary> </member> <member name="F:PrtgAPI.PowerShell.Progress.ProcessingOperation.Retrieving"> <summary> Retrieving items from the server. </summary> </member> <member name="F:PrtgAPI.PowerShell.Progress.ProcessingOperation.Processing"> <summary> Processing previously retrieved items from the server. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.ExpectsContainsProgress"> <summary> Indicates that the current cmdlet expects that it will contain progress, either because it already does, or it will when a record is written to the pipeline. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.ProgressWritten"> <summary> Indicates that a record has actually been written to the pipeline for this cmdlet, thus initializing the status description. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.FirstInChain"> <summary> Indicates whether the current cmdlet is first in a chain of pure PrtgAPI cmdlets (with no third party filters in between, etc) </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.PartOfChain"> <summary> Indicates whether the current cmdlet is part of a chain of PrtgAPI cmdlets (with no unsupported third party filters in between, etc) </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.pipeToProgressCompatibleCmdlet"> <summary> Indicates whether the next cmdlet in the pipeline is compatible with PrtgAPI Progress. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.PipelineIsProgressPure"> <summary> Indicates whether the pipeline has been contamined by non-PrtgAPI cmdlets or cmdlets that don't support PrtgAPI progress. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.PreviousCmdletIsSelectObject"> <summary> If true, indicates that the previous cmdlet before this one is a SelectObjectCommand. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.Pipeline"> <summary> The object collection being piped into this cmdlet.<para/> If Variable -> Where -> PrtgCmdlet, the EntirePipeline will be used (allowing us to bypass the where-object and retrieve the original array)<para/> If PrtgCmdlet -> Where -> PrtgCmdlet, for the first PrtgCmdlet the CmdletPipeline and EntirePipeline will be the same. For the second PrtgCmdlet, the CmdletPipeline will be used </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.EntirePipeline"> <summary> The object collection that was piped into all subsequent statements at the start of the entire pipeline. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManager.CmdletPipeline"> <summary> The object collection that was piped into this cmdlet from the previous statement. </summary> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressManager.#ctor(PrtgAPI.PowerShell.Base.PrtgCmdlet)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Progress.ProgressManager"/> class. You MUST dispose the created object, else <see cref="T:PrtgAPI.PowerShell.Progress.ProgressManager"/> will leak <see cref="F:PrtgAPI.PowerShell.Progress.ProgressManager.progressPipelines"/>. </summary> <param name="cmdlet">The cmdlet to manage.</param> </member> <member name="T:PrtgAPI.PowerShell.Progress.ProgressManagerEx"> <summary> Extended progress state that must be saved between <see cref="T:PrtgAPI.PowerShell.Progress.ProgressManager"/> teardowns with each call to ProcessRecord </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressManagerEx.CachedRecord"> <summary> The last record that was written to before a <see cref="T:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet"/> entered its EndProcessing method. </summary> </member> <member name="T:PrtgAPI.PowerShell.Progress.ProgressRecordEx"> <summary> Enhanced PowerShell progress record that also stores the SourceId to be used with the record. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.SharedState.Completed"> <summary> Indicates whether this record has been completed. If this record was previously completed and is re-written with <see cref="F:System.Management.Automation.ProgressRecordType.Processing"/>, this value will become false. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.ProgressWritten"> <summary> Indicates whether progress has been written to this record. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.CmdletOwnsRecord"> <summary> Indicates whether the cmdlet that owns this record is responsible for completing it. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.Completed"> <summary> Indicates whether this progress record is currently in a completed state. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.HasActivity"> <summary> Indicates that the progress record's <see cref="P:System.Management.Automation.ProgressRecord.Activity"/> has a value. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.HasDescription"> <summary> Indicates that the progress record's <see cref="P:System.Management.Automation.ProgressRecord.StatusDescription"/> has a value. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.ContainsProgress"> <summary> Indicates that both the progress record's <see cref="P:System.Management.Automation.ProgressRecord.Activity"/> and <see cref="P:System.Management.Automation.ProgressRecord.StatusDescription"/> have values. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.HasOperation"> <summary> Indicates that the progress record's <see cref="P:System.Management.Automation.ProgressRecord.CurrentOperation"/> has a value. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.ProgressRecordEx.SourceId"> <summary> The SourceId to be used when writing progress. </summary> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressRecordEx.#ctor(System.Int32,System.String,System.String,System.Int64)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Progress.ProgressRecordEx"/> class. </summary> <param name="activityId">A unique numeric key that identifies the activity to which this record applies.</param> <param name="activity">A description of the activity for which progress is being reported.</param> <param name="statusDescription">A description of the status of the activity.</param> <param name="sourceId">The internal source ID to associate with this record.</param> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressRecordEx.#ctor(System.Int32,System.Int64)"> <summary> Initializes a new instance of the <see cref="T:PrtgAPI.PowerShell.Progress.ProgressRecordEx"/> class. </summary> <param name="activityId">A unique numeric key that identifies the activity to which this record applies.</param> <param name="sourceId">The internal source ID to associate with this record.</param> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressRecordEx.ToString"> <summary> Returns a string that represents the current object. </summary> <returns>A string that represents the current object.</returns> </member> <member name="T:PrtgAPI.PowerShell.Progress.ProgressTask`1"> <summary> Represents a sequence of tasks in a process containing two or more operations that yields objects of a specified type. </summary> <typeparam name="TResult">The type of objects returned from this task's operation.</typeparam> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressTask`1.Create``1(System.Func{System.Collections.Generic.List{``0}},PrtgAPI.PowerShell.Base.PrtgProgressCmdlet,System.String,System.String)"> <summary> Create a sequence of progress tasks for processing a process containing two or more operations. </summary> <typeparam name="TNewResult">The type of object returned by the first operation.</typeparam> <param name="func">The first operation to execute.</param> <param name="cmdlet">The cmdlet that should display progress.</param> <param name="typeDescription">The type description use for the progress.</param> <param name="operationDescription">The progress description to use for the first operation.</param> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressTask`1.Then``1(System.Func{System.Collections.Generic.List{`0},System.Collections.Generic.List{``0}},System.String)"> <summary> Execute an intermediate progress task for a process containing three or more operations. </summary> <typeparam name="TNewResult">The type of object returned by this operation.</typeparam> <param name="func">The operation to execute.</param> <param name="operationDescription">The progress description to use for this operation.</param> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressTask`1.Finally``1(System.Func{System.Collections.Generic.List{`0},System.Collections.Generic.List{``0}},System.String)"> <summary> Execute the last progress task of a process containing two or more operations. </summary> <typeparam name="TNewResult">The type of object returned by this operation.</typeparam> <param name="func">The operation to execute.</param> <param name="operationDescription">The progress description to use for this operation.</param> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ProgressTask`1.Write"> <summary> Write the result of the task sequence to the pipeline. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.MultiOperationRecordAnalyzer.PipeToMultiOperation"> <summary> Indicates that the next cmdlet in the pipeline is both a <see cref="T:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet"/> and is executing with -Batch:$true </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.MultiOperationRecordAnalyzer.IsMultiOperation"> <summary> Indicates that the current cmdlet is both a <see cref="T:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet"/> and is executing with -Batch:$true </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.MultiOperationRecordAnalyzer.NormalPipelineStillWriting"> <summary> Indicates whether any cmdlet up the pipeline is still generating records; </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.MultiOperationRecordAnalyzer.PreviousSourceStillWriting"> <summary> Indicates whether a variable or a cmdlet is still directly piping records into this cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.MultiOperationRecordAnalyzer.ReceivedLastNormalCmdletRecord"> <summary> Indicates whether the current <see cref="T:PrtgAPI.PowerShell.Base.PrtgMultiOperationCmdlet"/> has received the last record from the previous record-generating cmdlet, or from the variable pumping records directly into it. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.MultiOperationRecordAnalyzer.PreviousVariableStillWriting"> <summary> Indicates whether the variable that was piped directly into this cmdlet (if applicable) is still piping records to this cmdlet. </summary> </member> <member name="P:PrtgAPI.PowerShell.Progress.MultiOperationRecordAnalyzer.PreviousCmdletStillWriting"> <summary> Indicates that the previous cmdlet in the pipeline is still writing records to this cmdlet. </summary> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.GetNextPrtgCmdlet"> <summary> Retrieves the next <see cref="T:PrtgAPI.PowerShell.Base.PrtgCmdlet"/> in the pipeline. If there are no more PrtgAPI cmdlets in the pipeline, this method returns null. </summary> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.GetPreviousPrtgCmdletInternal"> <summary> Returns the previous PrtgCmdlet before this one. If no previous cmdlet was a PrtgCmdlet, this method returns null. </summary> <returns>If a previous cmdlet is a PrtgCmdlet, that cmdlet. Otherwise, null.</returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.TryGetPreviousPrtgCmdletOfNotType``1"> <summary> Returns the last <see cref="T:PrtgAPI.PowerShell.Base.PrtgCmdlet"/> not of type T. If the first cmdlet in the pipeline is of type T, that cmdlet will be returned. If there are no previous cmdlets in the pipeline, this method will return null. </summary> <typeparam name="T">The type of cmdlet to try and avoid.</typeparam> <returns>The previous PrtgCmdlet not of type T, unless a cmdlet of type T is the first cmdlet in the pipeline. If there is no previous PrtgCmdlet, this method returns null.</returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.PipelineHasCmdlet``1"> <summary> Indicates whether the current pipeline contains a cmdlet of a specified type </summary> <typeparam name="T">The type of cmdlet to check for.</typeparam> <returns>True if the pipeline history contains a cmdlet of the specified type. Otherwise, false.</returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.PipelineIsProgressPureToNextPrtgCmdlet"> <summary> Indicates whether the current pipeline contains progress compatible cmdlets all the way to the next <see cref="T:PrtgAPI.PowerShell.Base.PrtgCmdlet"/>. Returns false if there are no more <see cref="T:PrtgAPI.PowerShell.Base.PrtgCmdlet"/> objects in the pipeline. </summary> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.GetPipelineInput"> <summary> Retrieve the input to the entire pipeline. </summary> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.GetCmdletPipelineInput"> <summary> Retrieve the input to the current cmdlet. </summary> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.GetCmdletPipelineInput(System.Management.Automation.ICommandRuntime,System.Management.Automation.Internal.InternalCommand)"> <summary> Retrieve the pipeline input of a specified cmdlet. </summary> <param name="commandRuntime">The runtime of the cmdlet whose pipeline should be retrieved.</param> <param name="cmdlet">The cmdlet whose pipeline should be retrieved.</param> <returns></returns> </member> <member name="M:PrtgAPI.PowerShell.Progress.ReflectionCacheManager.GetDownstreamCmdletProcessor"> <summary> Retrieves the <see cref="T:System.Management.Automation.CommandProcessor"/> of the next cmdlet. </summary> <returns></returns> </member> </members> </doc> |