MilestonePSTools.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MilestonePSTools</name>
    </assembly>
    <members>
        <member name="T:MilestonePSTools.BookmarkCommands.UpdateBookmark">
            <summary>
            <para type="synopsis">Updates the properties of a bookmark</para>
            <para type="description">Updates a bookmark in the VMS by pushing changes to the bookmark object up to the Management Server.</para>
            <para type="description">The expected workflow is that a bookmark is retrieved using Get-Bookmark. Then properties of the local
            bookmark object are changed as desired. Finally the modified local bookmark object is used to update the record on the Management
            Server by piping it to this cmdlet.</para>
            <example>
                <code>C:\PS>Get-Bookmark -Timestamp '2019-06-04 14:00:00' -Minutes 120 | % { $_.Description = 'Testing'; $_ | Update-Bookmark }</code>
                <para>Gets all bookmarks for any device where the bookmark time is between 2PM and 4PM local time on the 4th of June, changes the Description to 'Testing', and sends the updated bookmark to the Management Server.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.UpdateBookmark.Bookmark">
            <summary>
            <para type="description">Specifies the bookmark object to be updated.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.BookmarkCommands.UpdateBookmark.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.BookmarkCommands.AddBookmark">
            <summary>
            <para type="synopsis">Adds a new bookmark to the timeline for a given device.</para>
            <para type="description">The Add-Bookmark cmdlet adds a new bookmark to the timeline for a given device.
            The bookmark can later be found by time, name or description, and is represented by a visual marker in the
            timeline for the given device in playback within Smart Client and any other integration using the timeline UI component.</para>
            <example>
                <code>C:\PS>Add-Bookmark -DeviceId $id -Timestamp '2019-06-04 14:00:00'</code>
                <para>Add a bookmark for device with a GUID ID value stored in the variable $id, using a local timestamp of 2PM on the 4th of June, 2019, based on the culture of the PowerShell session.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Add-Bookmark -DeviceId $id -Timestamp '2019-06-04 14:00:00Z'</code>
                <para>Add a bookmark for device with a GUID ID value stored in the variable $id, using a UTC timestamp of 2PM UTC on the 4th of June, 2019</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Hardware | Get-Camera | ? Name -Like '*Elevator*' | % { Add-Bookmark -DeviceId $_.Id -Timestamp '2019-06-04 14:00:00' -Header 'Vandalism' }</code>
                <para>Find all cameras with the case-insensitive string 'Elevator' in the name, and add a bookmark for those cameras at 2PM on June 4th, or 21:00 UTC if the location where the script is executed has a UTC offset of -7.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.AddBookmark.DeviceId">
            <summary>
            <para type="description">GUID based identifier of the device for which the bookmark should be created.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.AddBookmark.Timestamp">
            <summary>
            <para type="description">Timestamp of the event which should be bookmarked. Value can be a string, and it will be parsed into a DateTime object. Default is the current time.</para>
            <para type="description">Note: The event will be stored with a UTC timestamp on the Management Server. Supplying a DateTime string can be finicky - it is recommended to thoroughly test any scripts to ensure it results in a bookmark at the expected place in the timeline.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.AddBookmark.MarginSeconds">
            <summary>
            <para type="description">Specifies the time in seconds before, and after the value of Timestamp, which should be considered a part of this bookmark event.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.AddBookmark.Header">
            <summary>
            <para type="description">Specifies the header, or title of the bookmark. It is helpful to supply a header or description to add context to the bookmark. The default value is 'Created &lt;timestamp&gt;'</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.AddBookmark.Description">
            <summary>
            <para type="description">Specifies the description of the bookmark. It is helpful to supply a header or description to add context to the bookmark. The default value is 'Created by MilestonePSTools'</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.BookmarkCommands.AddBookmark.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.BookmarkCommands.GetBookmark">
            <summary>
            <para type="synopsis">Gets one or more bookmarks based on the supplied parameters</para>
            <para type="description">Gets all bookmarks matching the supplied parameters. The ability to retrieve bookmarks relies on a search mechanism where a timestamp and maximum duration and result count are supplied, along with optional filter parameters.</para>
            <example>
                <code>C:\PS>Get-Bookmark -DeviceId $id -Timestamp '2019-06-04 00:00:00' -Minutes 1440</code>
                <para>Get all bookmarks for device with ID $id occurring any time during the 4th of June. The first 100 results are returned because the default value of -Limit is 100.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Bookmark -Timestamp '2019-06-04 14:00:00Z' -Minutes 120</code>
                <para>Get all bookmarks for any device where the bookmark time is between 2PM and 4PM UTC on the 4th of June.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Bookmark -Timestamp '2019-06-04 00:00:00' -Minutes 1440 -Users example\user1, example\user2</code>
                <para>Get all bookmarks for any device occurring on the 4th of June and having been created by either User1 or User2 of the 'example' domain.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.GetBookmark.DeviceId">
            <summary>
            <para type="description">Optional device ID to filter the results on.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.GetBookmark.StartTime">
            <summary>
            <para type="description">Timestamp to begin the bookmark retrieval. Bookmark searching must have a begin time, and a duration. The default value is the current time minus one hour.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.GetBookmark.Minutes">
            <summary>
            <para type="description">Number of minutes after StartTime to limit the search. Default value is 60 minutes.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.GetBookmark.Limit">
            <summary>
            <para type="description">Maximum number of results to return. Default is 100.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.GetBookmark.Users">
            <summary>
            <para type="description">List of users to filter the search on. Users are typically searched using the format domain\username.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.GetBookmark.SearchText">
            <summary>
            <para type="description">Search the header or description for the bookmarks in the defined time period for a keyword or phrase.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.BookmarkCommands.GetBookmark.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.BookmarkCommands.RemoveBookmark">
            <summary>
            <para type="synopsis">Removes / deletes a bookmark</para>
            <para type="description">Takes a bookmark, or a bookmark ID from the pipeline or parameters, and deletes it.</para>
            <example>
                <code>C:\PS>Get-Bookmark -DeviceId $id | Remove-Bookmark</code>
                <para>Remove all bookmarks for the last hour of video for device with ID $id</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Bookmark -Timestamp '2019-06-04 14:00:00' -Minutes 120 | Remove-Bookmark</code>
                <para>Removes all bookmarks for any device where the bookmark time is between 2PM and 4PM local time on the 4th of June.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.RemoveBookmark.Bookmark">
            <summary>
            <para type="description">Specifies the bookmark object to be deleted.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.BookmarkCommands.RemoveBookmark.BookmarkId">
            <summary>
            <para type="description">Specifies the ID of the bookmark object to be deleted.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.BookmarkCommands.RemoveBookmark.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.Commands.GetDiagnostics">
            <summary>
            <para type="synopsis">Runs the Milestone Diagnostics Tool using command-line parameters.</para>
            <para type="description">The Milestone Diagnostics Tool is a utility for gathering system information and logs for Milestone Technical Support. The tool is included in the installation directory for all major software components and is downloadable from the Milestone website. It is also bundled with this module for easy access and automation from PowerShell.</para>
            <para type="description">This cmdlet will generate a ZIP file on the desktop of the current user. Due to the current limitations of the Milestone Diagnostics Tool, it is not possible to specify a different output path or name from the command-line or this cmdlet.</para>
            <example>
                <code>C:\PS>Get-Diagnostics</code>
                <para>Gathers system information and the last 30 days of logs into a ZIP file on the desktop, opens Windows Explorer and highlights the new file.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Diagnostics -Days 7 -IncludeMiniDumps -IncludeDatabase</code>
                <para>Gathers system information and the last 7 days of logs, as well as mini memory dumps of Milestone processes and a backup of the Surveillance SQL database. All files are gathered into a ZIP file on the desktop, opens Windows Explorer and highlights the new file.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetDiagnostics.Days">
            <summary>
            <para type="description">Specifies the number of days worth of logs to retrieve, starting from today and going backward. Default is 30 days.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetDiagnostics.IncludeDatabase">
            <summary>
            <para type="description">Include a SQL database backup of the Surveillance database. This is only valid when running on a Management Server or Event Server.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetDiagnostics.IncludeMiniDumps">
            <summary>
            <para type="description">Include memory dumps of Milestone processes. This can be useful when troubleshooting a problem with crashing, hanging, performance, or high resource utilization.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.GetDiagnostics.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.Commands.GetLicenseInfo">
            <summary>
            <para type="synopsis">Gets the content of the 3rd party software terms and conditions included with Milestone's MIP SDK.</para>
            <para type="description">The Milestone MIP SDK components leverage a number of 3rd party software libraries. It is mandatory that any distribution of these binaries be accompanied with their license terms and conditions. As such, this module is bundled with a copy of this document and for convenience the contents can be retrieved using this cmdlet.</para>
            <example>
                <code>C:\PS>Get-LicenseInfo</code>
                <para>Gets the content of 3rd_party_software_terms_and_conditions.txt which is included with this module.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.GetLicenseInfo.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.Commands.GetLicenseManager">
            <summary>
            <para type="synopsis">Gets a MIP SDK LicenseManager object.</para>
            <para type="description">The LicenseManager can be used to get information about the Software License Code (SLC) or detailed license information for a plugin for example. You can also use the Feature property to check if a specific feature is available in the current environment.</para>
            <example>
                <code>C:\PS>(Get-LicenseManager).Features -contains 'EvidenceLock'</code>
                <para>Checks whether the current environment supports the Evidence Lock feature.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>(Get-LicenseManager).SLC</code>
                <para>Gets the SLC of the currently selected site.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.GetLicenseManager.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.Commands.InitializeRecordingServer">
            <summary>
            <para type="synopsis">Authorize a new Recording Server</para>
            <para type="description">When a new Recording Server connects to the Management Server, it is not automatically trusted. It appears in Management Client
            with a question mark and must be authorized before any configuration can be performed on it.</para>
            <example>
                <code>C:\PS>Get-RecordingServer | Where-Object Enabled -eq $false | Initialize-RecordingServer</code>
                <para>Enumerates all disabled Recording Servers and passes them into the Initialize-RecordingServer cmdlet. All unauthorized Recording Servers have Enabled -eq $false</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.InitializeRecordingServer.RecordingServer">
            <summary>
            <para type="description">Specifies the Recording Server to initialize or authorize/activate.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.InitializeRecordingServer.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.Commands.GetAlarmDefinition">
            <summary>
            <para type="synopsis">Gets Alarm Definitions from the Event Server.</para>
            <para type="description">Gets a list of Alarm Definitions from the Management Server / Event Server. Effectively this is a simplified way to access (Get-ManagementServer).AlarmDefinitionFolder.AlarmDefinitions.</para>
            <para type="description">Note: Manipulation of Alarm Definitions is not fully supported in this module. You can, however, manipulate alarm definitions retrieved from this cmdlet by making supported changes to the object, then calling the Save() method.</para>
            <example>
                <code>C:\PS>Get-AlarmDefinition</code>
                <para>Gets all Alarm Definitions defined on the Event Server. This should be the same list you would see in the Management Client.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-AlarmDefinition -Name *Overflow*</code>
                <para>Gets all Alarm Definitions defined on the Event Server where the Name of the alarm contains "Overflow".</para>
                <para>Alarms named "Feed Overflow Started" or "Overflows Detected" would be returned with this command.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>$alarm = Get-AlarmDefinition -Name "Motion Detected"; $alarm.TriggerEventlist = 'UserDefinedEvent[a90f978f-9c28-4202-b7cc-4c232e8b17b4]'; $alarm.Save()</code>
                <para>Gets an alarm named "Motion Detected", and changes the alarm settings such that a previously defined User-defined Event will be triggered when the alarm is triggered, then saves the changes using the Save() method.</para>
                <para>You might trigger a user-defined event with an alarm in order to connect the alarm into the rules system to perform some other desired action. Occasionally the source of an alarm is not available as a trigger in the rule system, so you can map an alarm into a rule in this way.</para>
                <para>Note: If an Alarm Definition named 'Motion Detected' does not exist, an error will be thrown with exception ItemNotFoundException.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetAlarmDefinition.Name">
            <summary>
            <para type="description">Specifies the Alarm Definition Name using a case-insensitive string with support for wildcards characters.</para>
            <para type="description">If Name is provided, does not contain wildcard characters, and no matching Alarm Definition is found, an error will be raised.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.GetAlarmDefinition.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.Commands.GetLog">
            <summary>
            <para type="synopsis">Gets log entries from the Log Server component of a Milestone XProtect VMS system.</para>
            <para type="description">This cmdlet brings the contents of the System, Audit, and Rules logs to PowerShell. These are the same log entries available through Management Client, and do not include application/component log files typically found under C:\ProgramData\Milestone\..</para>
            <example>
                <code>C:\PS>Get-Log</code>
                <para>Gets the log entries for the last 24 hours from the System log.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Log -LogType Audit -Tail -Minutes 10</code>
                <para>Gets the audit log entries for the last 10 minutes.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Log -LogType Audit -BeginTime '2019-06-05 08:00:00' -EndTime '2019-06-05 11:00:00'</code>
                <para>Gets the audit log entries for the time between 8am and 11am local time on the 5th of June.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Log -LogType Rules -BeginTime '2019-06-05 08:00:00Z' -EndTime '2019-06-05 11:00:00Z'</code>
                <para>Gets the audit log entries for the time between 8am and 11am UTC time on the 5th of June. If run from a system with a UTC offset of -7, then the results would be from between 1am and 4am local time.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetLog.LogType">
            <summary>
            <para type="description">Specifies the type of log entries to retrieve. Default is System. Not to be confused with the System log from Windows Event Logs.</para>
            <para type="description">System logs include events like motion started/stopped, connection errors and license errors.</para>
            <para type="description">Audit logs include user actions like logon, playback and exporting. Note: Not all user actions are automatically audited and extensive audit logging must be enabled manually from Management Client > Tools > Options > Server Logs.</para>
            <para type="description">Rules logs include any log entry generated within the set of actions defined in the Rules section in Management Client.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetLog.BeginTime">
            <summary>
            <para type="description">Specifies point in time to begin the log entry search. Default is 24 hours before the current time.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetLog.EndTime">
            <summary>
            <para type="description">Specifies the point in time to end the log entry search. Default is the current time.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetLog.Tail">
            <summary>
            <para type="description">Get the last Minutes minutes worth of log entries.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.Commands.GetLog.Minutes">
            <summary>
            <para type="description">The number of minutes before now to retrieve the logs. Default is the last 60 minutes.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.GetLog.BeginProcessing">
            <summary>
             
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.GetLog.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.Commands.GetManagementServer">
            <summary>
            <para type="synopsis">Gets an object representing the current selected site's Management Server.</para>
            <para type="description">Many cmdlets in this module return a .NET object which comes directly from Milestone's MIP SDK components. The ManagementServer object is such a component.</para>
            <para type="description">There are many Milestone tasks that can be completed using "pure PowerShell", but some tasks may require you to explore the functionality exposed in these .NET types.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.Commands.GetManagementServer.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConfigApiCommands.GetMethodInfo">
            <summary>
            <para type="synopsis">Gets MethodId's and their display names along with the TranslationId value to lookup language-specific display names.</para>
            <para type="description">Gets MethodId's and their display names along with the TranslationId value to lookup language-specific display names.</para>
            <example>
                <code>C:\PS> Get-MethodInfo</code>
                <para>Gets all possible MethodInfo objects</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS> Get-MethodInfo RemoveAlarmDefinition</code>
                <para>Gets the MethodInfo for the RemoveAlarmDefinition MethodId</para>
                <para/><para/><para/>
            </example>
            <para type="link" uri="https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&amp;tree=tree_4.html">MIP SDK Configuration API docs</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetMethodInfo.MethodId">
            <summary>
            <para type="description">Specifies the MethodId property for the MethodInfo to retrieve. This would usually come from the MethodIds property of a ConfigurationItem object.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConfigApiCommands.GetMethodInfo.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConfigApiCommands.GetTranslations">
            <summary>
            <para type="synopsis">Gets a translation table mapping internal property keys or guids to a language-specific display name</para>
            <para type="description">Gets a translation table mapping internal property keys or guids to a language-specific display name.</para>
            <para type="description">This is specifically useful when you need to get a display name, or a non-English translation, for a property where a translationId is present.</para>
            <para type="description">Note that the GetTranslations command appears to fall back to en-US when no matching language code is available.</para>
            <example>
                <code>C:\PS> Get-Translations es-ES</code>
                <para>Invokes the AddUserDefinedEvent method which returns a ConfigurationItem of type InvokeInfo. Fill out the Name property of this ConfigurationItem and resend to the Invoke-Method command to create a new User Defined Event.</para>
                <para/><para/><para/>
            </example>
            <para type="link" uri="https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&amp;tree=tree_4.html">MIP SDK Configuration API docs</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetTranslations.LanguageId">
            <summary>
            <para type="description">Specifies the language ID string such as en-US, in order to retrieve the appropriate translations</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConfigApiCommands.GetTranslations.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConfigApiCommands.InvokeMethod">
            <summary>
            <para type="synopsis">Invokes a method or command on a given ConfigurationItem</para>
            <para type="description">Some ConfigurationItem objects have MethodIds defining commands that can be invoked. The
            response to an Invoke-Method command may be a ConfigurationItem of type 'InvokeInfo' which may have one or more
            properties that need to be filled out before sending the updated InvokeInfo item to the Invoke-Method command again.
            Alternatively, if no additional information or Invoke-Method call is needed, the result may be of type InvokeResult.</para>
            <para type="description">The result may also be a Task, indicating the operation may take some time. You can then poll
            periodically for task status until the State property is 'Completed'.</para>
            <example>
                <code>C:\PS> Get-ConfigurationItem -Path /UserDefinedEventFolder | Invoke-Method -MethodId AddUserDefinedEvent</code>
                <para>Invokes the AddUserDefinedEvent method which returns a ConfigurationItem of type InvokeInfo. Fill out the Name property of this ConfigurationItem and resend to the Invoke-Method command to create a new User Defined Event.</para>
                <para/><para/><para/>
            </example>
            <para type="link" uri="https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&amp;tree=tree_4.html">MIP SDK Configuration API docs</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.InvokeMethod.ConfigurationItem">
            <summary>
            <para type="description">Specifies the source ConfigurationItem on which the given MethodId will be invoked</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.InvokeMethod.MethodId">
            <summary>
            <para type="description">Specifies the MethodId string to invoke on the ConfigurationItem</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConfigApiCommands.InvokeMethod.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConfigApiCommands.SetConfigurationItem">
            <summary>
            <para type="synopsis">Store the updated ConfigurationItem including all properties and any filled childItems with Category=ChildItem</para>
            <para type="description">Store the updated ConfigurationItem including all properties and any filled childItems with Category=ChildItem</para>
            <example>
                <code>C:\PS> $ms = Get-ConfigurationItem -Path "/"; $name = $ms.Properties[0] | Where-Object Key -eq "Name"; $name = "New Name"; $ms | Set-ConfigurationItem</code>
                <para>Changes the Name property of the Management Server</para>
                <para/><para/><para/>
            </example>
            <para type="link" uri="https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&amp;tree=tree_4.html">MIP SDK Configuration API docs</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.SetConfigurationItem.ConfigurationItem">
            <summary>
            <para type="description">Specifies the ConfigurationItem object to be updated.</para>
            <para type="description">Usually you will get the ConfigurationItem object using Get-ConfigurationItem.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConfigApiCommands.SetConfigurationItem.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConfigApiCommands.GetConfigurationItem">
            <summary>
            <para type="synopsis">Gets a ConfigurationItem object</para>
            <para type="description">Uses the Configuration API to access configuration items. Useful for navigating the
            configuration of the VMS without the need to understand the individual object types like cameras, servers, and users.</para>
            <para type="description">Each ConfigurationItem may have child items, methods that could be invoked, or properties that
            can be read and/or modified. Use Set-ConfigurationItem to save changes made to a ConfigurationItem object.</para>
            <example>
                <code>C:\PS> $ms = Get-ConfigurationItem -Path "/"; $name = $ms.Properties[0] | Where-Object Key -eq "Name"; $name = "New Name"; $ms | Set-ConfigurationItem</code>
                <para>Changes the Name property of the Management Server</para>
                <para/><para/><para/>
            </example>
            <para type="link" uri="https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&amp;tree=tree_4.html">MIP SDK Configuration API docs</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.ConfigurationItem">
            <summary>
            <para type="description">Specifies a source ConfigurationItem for retrieving a Child or Parent ConfigurationItem</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.ItemType">
            <summary>
            <para type="description">Specifies an item type such as Camera, Hardware, RecordingServer, to use for constructing a path in the form of ItemType[Id]</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.Id">
            <summary>
            <para type="description">Specifies a Guid identifier to use for constructing a path in the form of ItemType[Id]</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.Path">
            <summary>
            <para type="description">Specifies the Configuration API path string for a given item if already known.</para>
            <para type="description">These are typically in the form of Camera[GUID] but you can always start crawling the configuration from the top starting at "/" which specifies the Management Server itself.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.ChildItems">
            <summary>
            <para type="description">Get all child items for the given ConfigurationItem, Path, or ItemType and ID pair</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.Parent">
            <summary>
            <para type="description">Get the immediate parent of a given ConfigurationItem, Path, or ItemType and ID pair</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.ParentItem">
            <summary>
            <para type="description">Get the first parent of a given ConfigurationItem, Path, or ItemType and ID pair where the ItemCategory is "Item"</para>
            <para type="description">This is mostly used when navigating up from a Camera device to the parent Hardware device, or Hardware to Recording Server</para>
            <para type="description">The -Parent switch will provide the immediate parent which might be a Folder rather than an actual recognizable device</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConfigApiCommands.GetConfigurationItem.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConnectionCommands.GetLoginSettings">
            <summary>
            <para type="synopsis">Gets list of MIP SDK Login Settings for debugging purposes.</para>
            <para type="description"></para>
            <example>
                <code>C:\PS>Get-LoginSettings</code>
                <para>Returns one or more LoginSettings objects - one for each site either connected or available to connect.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConnectionCommands.GetLoginSettings.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConnectionCommands.GetSite">
            <summary>
            <para type="synopsis">Gets an Item object representing a Management Server.</para>
            <para type="description">The Get-Site cmdlet can be used to identify which site is currently selected, or which sites are available to be selected.</para>
            <example>
                <code>C:\PS>Get-Site</code>
                <para>This command returns the Item object representing the currently selected site.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Site -ListAvailable</code>
                <para>This command lists all available sites in the current logon session if you have used Connect-ManagementServer -IncludeChildSites.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Site -ListAvailable -Name Site2</code>
                <para>This command gets the Item representing a site where the Name property equals "Site2".</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Get-Site -ListAvailable -Name USA-*</code>
                <para>This command gets all Items representing sites where the Name property begins with "USA-", so if all USA-based sites are named with a USA- prefix, this command gets all Items for sites in the USA.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.GetSite.ListAvailable">
            <summary>
            <para type="description">Gets all sites available to the current logon session.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.GetSite.Name">
            <summary>
            <para type="description">Specifies the friendly name of the site Item to get. Wildcard characters can be used.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConnectionCommands.GetSite.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConnectionCommands.GetToken">
            <summary>
            <para type="synopsis">Gets the current token issued by the Management Server to this PowerShell session.</para>
            <para type="description">The Get-Token cmdlet returns the token issued by the Management Server to the current
            user session. Tokens are used internally to verify a user or service has been authenticated by the Management
            and is authorized to access resources. Tokens are renewed in the background automatically, and expire in 4
            hours by default.</para>
            <para type="description">Note: It is rare that you would need to use this cmdlet. It is added for convenience
            only for those rare cases when direct access to a token might be needed.</para>
            <example>
                <code>Get-Token</code>
                <para>Get the current token as a string.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConnectionCommands.GetToken.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConnectionCommands.SelectSite">
            <summary>
            <para type="synopsis">Selects a Management Server "site" to perform further commands against.</para>
            <para type="description">The Select-Site cmdlet allows you to switch between two or more sites in a
            Milestone Federated Architecture. Most commands in this module operate against only the selected site,
            so a script intended to perform operations across two or more sites should be designed to enumerate through
            the available sites.</para>
            <example>
                <code>C:\PS>Select-Site -MasterSite</code>
                <para>This command selects the site you initially connected to in the current Connect-ManagementServer session.</para>
                <para>Note: While this switch parameter is named MasterSite, it is possible that the master site for this session is a child to another site. But since you logged into this site, it is considered the master site for the duration of this PowerShell session.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Select-Site -Name 'High School'</code>
                <para>This command selects the first site named exactly 'High School'.</para>
                <para>Note: It is possible for two sites to have the same display name. This command selects the first site with the given name, and the order is not guaranteed. It is recommended to uniquely name your sites.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Select-Site -Name '*School'</code>
                <para>This command gets the Item representing a site where the Name property equals "Site2".</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>Get-Site -ListAvailable | % { $_ | Select-Site; Get-ManagementServer | select Name, Version }</code>
                <para>This snippet will enumerate all sites available to the current user, and retrieve the Management Server Name and Version.</para>
                <para>Note: The % symbol in this command is shorthand for the Foreach-Object cmdlet, and $_ within the foreach code block is a reference to each instance of a site item returned from Get-Site.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.SelectSite.SiteItem">
            <summary>
            <para type="description">Specifies an Item object representing a Management Server, typically returned by the Get-Site cmdlet.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.SelectSite.Name">
            <summary>
            <para type="description">Specifies the case-insensitive site name to select. Supports wildcards. First matching site will be selected and order is not guaranteed.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.SelectSite.MasterSite">
            <summary>
            <para type="description">Select the site directly specified in the last call to Connect-ManagementServer.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConnectionCommands.SelectSite.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConnectionCommands.GetConnectionString">
            <summary>
            <para type="synopsis">Gets the Management Server's SQL connection string from the registry.</para>
            <para type="description">The Get-ConnectionString cmdlet gets the Connectionstring value from HKEY_LOCAL_MACHINE\SOFTWARE\VideoOS\Server\Common.</para>
            <para type="description">This cmdlet is not required or used by any other cmdlet in MilestonePSTools and is purely a convenience command.</para>
            <example>
                <code>C:\PS>Get-ConnectionString</code>
                <para>Gets the current Connectionstring value used by the Management Server service and outputs a string.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConnectionCommands.GetConnectionString.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConnectionCommands.DisconnectManagementServer">
            <summary>
            <para type="synopsis">Disconnects from all Milestone XProtect Management Servers currently logged into.</para>
            <para type="description">The Disconnect-ManagementServer cmdlet should be called after you finish working
            with your VMS. Gracefully closing the connection will help ensure resources are released both locally and remotely.</para>
            <para type="description">Note: You cannot selectively disconnect from one out of many Management Servers.</para>
            <example>
                <code>C:\PS>Disconnect-ManagementServer</code>
                <para>Disconnect from the current Management Server and all child sites if applicable.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConnectionCommands.DisconnectManagementServer.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ConnectionCommands.ConnectManagementServer">
            <summary>
            <para type="synopsis">Connects to a Milestone XProtect VMS Management Server</para>
            <para type="description">The Connect-ManagementServer cmdlet is the first cmdlet used when working
            with MilestonePSTools to explore or modify a Milestone XProtect VMS.</para>
            <para type="description">Authentication methods include Windows, Active Directory, or Basic users,
            and Milestone Federated Architecture is supported when using anything besides Basic authentication.
            The state of the session with the Management Server will be maintained in the background for the
            duration of the PowerShell session, or until Disconnect-ManagementServer is used.</para>
            <para type="description">By default, this cmdlet will only authenticate with the Management Server
            provided in the -Server parameter. If child sites need to be accessed during the same session, you
            should supply the -IncludeChildSites switch, and use the Select-Site cmdlet to switch between sites</para>
            <para type="description">Note: If you do not supply user credential parameters, the current Windows user
            will be used for authentication automatically.</para>
            <example>
                <code>C:\PS>Connect-ManagementServer -Server mgtsrv1</code>
                <para>This command authenticates with a server named mgtsrv1 where the server is listening on HTTP port 80, and it uses the current PowerShell user context.</para>
                <para>If you have opened PowerShell normally, as your current Windows user, then the credentials used will be that of your current Windows user.</para>
                <para>If you have opened PowerShell as a different user (shift-right-click, run as a different user), OR you are executing your script as a scheduled task, the user context will be that of whichever user account was used to start the PowerShell session.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Connect-ManagementServer -Server mgtsrv1 -Username example\jane -Password secretpassword</code>
                <para>This command authenticates with a server named mgtsrv1 where the server is listening on HTTP port 80, and it uses Windows authentication.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS>Connect-ManagementServer -Server mgtsrv1 -Username jane -Password secretpassword -BasicUser</code>
                <para>This command authenticates with a server named mgtsrv1 where the server is listening on HTTPS port 443, and it authenticates a user named "jane" which was created in Milestone XProtect Management Client exclusively for use with Milestone software.</para>
                <para>Note: As a "Basic User", Jane will not have access to child sites in a Milestone Federated Architecture and thus the -IncludeChildSites switch will not have any effect.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.ConnectManagementServer.Server">
            <summary>
            <para type="description">Specifies, as an IP, hostname, or FQDN, the address of the Milestone XProtect Management Server.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.ConnectManagementServer.Port">
            <summary>
            <para type="description">Specifies, as an integer between 1-65535, the HTTP port of the Management Server. Default is 80.</para>
            <para type="description">Note: When using basic authentication and a custom HTTP port on the Management Server, leave this value alone. MIP SDK will automatically use HTTPS on port 443.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.ConnectManagementServer.Username">
            <summary>
            <para type="description">Specifies either a Windows, Active Directory, or Basic username.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.ConnectManagementServer.Password">
            <summary>
            <para type="description">Specifies the password for the username specified in the Username parameter</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.ConnectManagementServer.BasicUser">
            <summary>
            <para type="description">Uses Basic User authentication. Use only to authenticate Basic Users which are users specific to Milestone and do not correspond to a Windows or Active Directory user account.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.ConnectManagementServer.IncludeChildSites">
            <summary>
            <para type="description">Authenticates with the supplied Management Server, and all child Management Servers in a given Milestone Federated Architecture tree.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ConnectionCommands.ConnectManagementServer.WcfProxyTimeoutSeconds">
            <summary>
            <para type="description">Specifies, as an integer value representing seconds, the maximum timeout value for any Milestone Configuration API operation.</para>
            <para type="description">The Configuration API utilizes Windows Communication Foundation to establish a secure communication channel, and provides extensive access to Milestone XProtect VMS configuration elements.</para>
            <para type="description">Most operations should complete very quickly, but in some environments it is possible for operations to take several minutes to complete.</para>
            <para type="description">Default value is 300 seconds, or 5 minute.-</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConnectionCommands.ConnectManagementServer.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.DeviceCommands.GetKind">
            <summary>
            <para type="synopsis">Gets the display name and category of a Kind by Guid, or lists all known Kinds from VideoOS.Platform.Kind</para>
            <para type="description">Most configuration items in the VMS are identified by "Kind" such as Camera, Server, and Microphone.
            Some commands will return an obscure object like an FQID which the VMS knows how to use to locate the item in the configuration
            but there is very little meaningful identifiable information for a user in an FQID.</para>
            <para type="description">The Kind property is a Guid, and the VideoOS.Platform.Kind class can convert a Kind ID into a display
            name describing the Kind, and a category name such as VideoIn or AudioOut.</para>
            <example>
                <code>C:\PS> Get-ItemState | % { $name = ($_.FQID | Get-PlatformItem).Name; $kind = $_.FQID | Get-Kind; Write-Output "$name is a $($kind.DisplayName) in category $($kind.Category)"}</code>
                <para>Retrieve the Item name and write the name and ItemState</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetKind.Kind">
            <summary>
            <para type="description">Item.FQID.Kind value as a Guid</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetKind.List">
            <summary>
            <para type="description">List all known Kinds</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.DeviceCommands.GetKind.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.DeviceCommands.GetPlatformItem">
            <summary>
            <para type="synopsis">Gets a VideoOS.Platform.Item object representing a configuration item</para>
            <para type="description">The Item is a generic object representing a configuration item in the VMS.
            An Item might represent a camera, hardware, server, or generic event.
            This cmdlet is especially useful for converting an FQID from Get-ItemState into an item, in order
            to get the device name faster than possible using Configuration API commands like Get-ConfigurationItem.</para>
            <example>
                <code>C:\PS> Get-ItemState | % { $name = ($_.FQID | Get-PlatformItem).Name; "$name - $($_.State)" }</code>
                <para>Retrieve the Item name and write the name and ItemState</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetPlatformItem.Fqid">
            <summary>
            <para type="description">VideoOS.Platform.FQID of a Milestone configuration Item</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetPlatformItem.SearchText">
            <summary>
            <para type="description">Specifies the name or string to search for</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetPlatformItem.MaxResultCount">
            <summary>
            <para type="description">Specifies the maximum number of results allowed. When
            a search returns more than this, it is considered an error. Default = 1</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetPlatformItem.TimeoutSeconds">
            <summary>
            <para type="description">Specifies the timeout in seconds before a search is
            terminated. Default = 60 seconds</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetPlatformItem.Id">
            <summary>
            <para type="description">Specifies the Guid identifier for an item</para>
            <para type="description">Use only when you have an ID but no knowledge of the device type.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.DeviceCommands.GetPlatformItem.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.DeviceCommands.GetItemState">
            <summary>
            <para type="synopsis">Gets the ItemState of all known items in the site</para>
            <para type="description">Sends a MessageCommunication.ProvideCurrentStateRequest message and returns the response.</para>
            <para type="description">The ProvideCurrentStateResponse contains a flat collection of ItemState objects
            representing the state of all known items in the site. Each ItemState contains an FQID, and State property.
            The FQID.Kind and FQID.ObjectId can be used to determine what type of object the state represents, and the ID
            of that object.</para>
            <para type="description">Most of the time, you will probably only be interested in Camera objects, so you can
            filter the output with the -CamerasOnly switch.</para>
            <example>
                <code>C:\PS> Get-ItemState -CamerasOnly | Where-Object State -ne "Responding" | Foreach-Object { $camera = Get-Camera -Id $_.FQID.ObjectId; Write-Warning "Camera $($camera.Name) state is $($_.State)" }</code>
                <para>Write a warning for every camera found with a state that is not "Responding"</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS> Get-ItemState | % { $camera = Get-Camera -Id $_.FQID.ObjectId; $hardware = $camera | Get-ConfigurationItem -ParentItem; # Do something else here}</code>
                <para>Gets the associated Hardware object for every Camera ItemState result.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetItemState.CamerasOnly">
            <summary>
            <para type="description">Filter the ItemState results to Camera items</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.DeviceCommands.GetItemState.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.DeviceCommands.GetSequenceData">
            <summary>
            <para type="synopsis">Get sequence data defining the start and end time of a motion or recording sequence.</para>
            <para type="description">Use this command to discover all the the time ranges where recordings and/or motion are present
            for a device. This can be useful to generate a report showing the percentage of time a device has been recording, or to
            look for unusual patterns where there is a much higher or lower than usual percentage of motion/recordings.</para>
            <example>
                <code>C:\PS>$camera | Get-SequenceData -Timestamp '2019-06-11 00:00:00' -MinutesBefore 0 -MinutesAfter 1440</code>
                <para>Gets an array of SequenceData objects each describing a begin and end time in the EventSequence property and containing additional data in the EventHeader property.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetSequenceData.Path">
            <summary>
            <para type="description">Specifies an object with a Path property in the format ItemType[00000000-0000-0000-0000-000000000000]. This could be a Camera object, or a generic ConfigurationItem object received from Get-ConfigurationItem.</para>
            <para type="description">Example: Camera[724b4f96-6e45-432f-abb2-a71fc87f1c20]</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetSequenceData.Timestamp">
            <summary>
            <para type="description">Specifies a time to search around (both before and after) for sequences.</para>
            <para type="description">Default: One hour ago</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetSequenceData.MinutesBefore">
            <summary>
            <para type="description">Specifies the number of minutes before Timestamp to look for sequence data.</para>
            <para type="description">Default: 60 minutes</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetSequenceData.MinutesAfter">
            <summary>
            <para type="description">Specifies the number of minutes after Timestamp to look for sequence data.</para>
            <para type="description">Default: 60 minutes</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetSequenceData.SequenceType">
            <summary>
            <para type="description">Specifies whether to search for recording sequences or motion sequences.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.DeviceCommands.GetSequenceData.TimeoutSeconds">
            <summary>
            <para type="description">Specifies the time in seconds before this command times out while searching for the object based. On a very large system (10k+ devices) this may take several seconds, though it is believed to be a quick search because the Path string defines the device by type and ID.</para>
            <para type="description">Default is 10 seconds.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.DeviceCommands.GetSequenceData.BeginProcessing">
            <summary>
             
            </summary>
        </member>
        <member name="M:MilestonePSTools.DeviceCommands.GetSequenceData.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.EventCommands.SendGenericEvent">
            <summary>
            <para type="synopsis">Sends a TCP or UDP message to the Event Server to trigger a Generic Event</para>
            <para type="description">Generic Events are a way to receive predefined strings or patterns as strings
            over TCP/UDP in order to trigger events, which can then be used as a trigger for a rule to perform
            some action.</para>
            <para type="description">This command simplifies testing of generic events by automatically retrieving
            the correct host/ip and port, appending the 'separator bytes' if defined in the Data Source configuration
            in Management Client under Tools > Options > Generic Events, and parsing the response in the event the
            Data Source is configured to echo 'Statistics'.</para>
            <para type="description">For debugging, try adding -Verbose and reviewing some of the details provided.</para>
            <example>
                <code>C:\PS> Send-GenericEvent "Hello World"</code>
                <para>Sends the string "Hello World" to the first enabled Generic Event Data Source, which is usually
            named "Compatible" and listens on TCP port 1234.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS> Send-GenericEvent "Hello World" CustomDataSource</code>
                <para>Sends the string "Hello World" a Data Source named CustomDataSource. The port and protocol would be
            defined in that data source but you can see those values in the output when you provide the -Verbose switch.</para>
                <para/><para/><para/>
            </example>
            <para type="link" uri="https://doc.developer.milestonesys.com/html/index.html">MIP SDK Documentation</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.EventCommands.SendGenericEvent.DataSource">
            <summary>
            <para type="description">Specifies the GenericEventDataSource to send the EventString to</para>
            <para type="description">If omitted, the first enabled data source will be used.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.EventCommands.SendGenericEvent.EventString">
            <summary>
            <para type="description">Specifies the string to send to the Event Server</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.EventCommands.SendGenericEvent.DataSourceName">
            <summary>
            <para type="description">Specifies the name of the GenericEventDataSource to send the EventString to</para>
            <para type="description">If omitted, the first enabled data source will be used.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.EventCommands.SendGenericEvent.ReadTimeout">
            <summary>
            <para type="description">Specifies the timeout in milliseconds to wait for a response when Echo is not "None" and the protocol is not UDP.</para>
            <para type="description">Default is 2000ms</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.EventCommands.SendGenericEvent.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.EvidenceLockCommands.CopyEvidenceLock">
            <summary>
            <para type="synopsis">Copies an existing Evidence Lock by creating a new Evidence Lock record with the same parameters.</para>
            <para type="description">At the time of making this cmdlet, 2019-06-05, an evidence lock record on the Management Server doesn't necessarily mean that same evidence lock is known by the Recording Server.
            There are various situations in which this data might be out of sync and a user might believe data is evidence locked but in fact the Recording Server disagrees.</para>
            <para type="description">The purpose of this cmdlet is to create a copy of an existing Evidence Lock record so that we know it exists on the Recording Server, assuming no error is thrown when creating the copy.</para>
            <example>
                <code>C:\PS>$records = Get-EvidenceLock; $records[0] | Copy-EvidenceLock</code>
                <para>Retrieves all evidence locks into $records, and creates a copy of the first record in that list. You could do Get-EvidenceLock | Copy-EvidenceLock but I suspect this may result in a unending loop. Best to get all locks into a single array that you can then enumerate.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.EvidenceLockCommands.CopyEvidenceLock.Source">
            <summary>
            <para type="Specifies an Evidence Lock object usually obtained through a Get-EvidenceLock command."></para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.EvidenceLockCommands.CopyEvidenceLock.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.ExportCommands.StartExport">
            <summary>
            <para type="synopsis">Starts exporting audio/video from specified devices in the specified format.</para>
            <para type="description">This command performs AVI, MKV and Database exports of video and audio. It can
            take a list of camera, microphone, and speaker device ID's, or it can receive an Evidence Lock object as
            pipeline input.</para>
            <example>
                <code>C:\PS>Start-Export -CameraIds $id -Format DB -StartTime '2019-06-04 14:00:00' -EndTime '2019-06-04 14:15:00' -Path C:\Exports -Name Sample</code>
                <para>Exports 15 minutes of video from camera with ID $id in the native Milestone Database format, starting at 2:15 PM local time, and saving to a folder at C:\Exports\Sample.</para>
                <para/><para/><para/>
            </example>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.EvidenceLock">
            <summary>
            <para type="description">Specifies the evidence lock record to use as a source for the camera and audio device ID's, start and end timestamps, and export name.</para>
            <para type="description">Note 1: If -Name is not supplied, the Header value of the evidence lock will be used to specify the folder or file name where the export is stored.</para>
            <para type="description">Note 2: If exporting in anything but DB format, only the first device will be exported, and the order is not guaranteed. As such it is recommended only to pipe Evidence Locks into this command when you know there is only one device in the evidence lock.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.CameraIds">
            <summary>
            <para type="description">Specifies the ID of one or more cameras using the GUID-based identifier typical of objects in a Milestone configuration. Multiple IDs should be separated by a comma.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.MicrophoneIds">
            <summary>
            <para type="description">Specifies the ID of one or more microphones using the GUID-based identifier typical of objects in a Milestone configuration. Multiple IDs should be separated by a comma.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.SpeakerIds">
            <summary>
            <para type="description">Specifies the ID of one or more speakers using the GUID-based identifier typical of objects in a Milestone configuration. Multiple IDs should be separated by a comma.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.StartTime">
            <summary>
            <para type="description">Specifies the start of the range of media to be exported. Time must always be interpreted internally as UTC, so if you supply an ambiguously formatted timestamp, it is likely to be interpreted as local time and will be adjusted to UTC.</para>
            <para type="description">Example: This timestamp will be interpreted as 5PM local time - '2019-06-07 17:00:00'</para>
            <para type="description">Example: This timestamp will be interpreted as 5PM local time - '2019-06-07 5:00:00 PM'</para>
            <para type="description">Example: This timestamp will be interpreted as 5PM UTC time - '2019-06-07 17:00:00Z'</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.EndTime">
            <summary>
            <para type="description">Specifies the end of the range of media to be exported. Timestamps will be parsed in the same way as StartTime.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.Path">
            <summary>
            <para type="description">Specifies the directory where the export will be placed. AVI and MKV's will be saved as a file in this directory while DB exports will be saved in a subfolder in this directory.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.Name">
            <summary>
            <para type="description">Specifies the name of the resulting AVI or MKV file, or the subfolder for the DB export.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.Format">
            <summary>
            <para type="description">Specifies the desired format for the export. AVI and MKV files can contain only one camera and only the first device supplied will be exported.</para>
            <para type="description">Note: MKV will almost always be a better option than AVI. MKV exports are much faster, require fewer resources to produce, and have the best quality.
            AVI exports require transcoding from the original codec to a new codec. There will be loss of quality, high CPU resource utilization and the time required is substantially higher than either MKV or DB.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.UseEncryption">
            <summary>
            <para type="description">Encrypt the Database export</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.Force">
            <summary>
            <para type="description">Ignore communication errors with recording servers by removing any devices on unresponsive servers from the overall export and proceeding without error.</para>
            <para type="description">Omitting this flag will result in a complete export failure in the event one or more devices cannot be reached due to a recording server not responding.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.Password">
            <summary>
            <para type="description">Specifies the password to be used for encrypting and decrypting the database export when UseEncryption is specified.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.AddSignature">
            <summary>
            <para type="description">Add a digital signature to the database export which can help verify the authenticity of an export.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.PreventReExport">
            <summary>
            <para type="description">Disallow recipients of a database export from performing a new export of their own.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.Codec">
            <summary>
            <para type="description">Specifies the codec to use to encode video in an AVI export.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.ExportCommands.StartExport.MaxAviSizeInBytes">
            <summary>
            <para type="description">Some exports can be very large in size. AVI exports can be split into multiple files. Default MaxAviSizeInBytes is 512MB or 536870912 bytes.</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.ExportCommands.StartExport.BeginProcessing">
            <summary>
             
            </summary>
        </member>
        <member name="M:MilestonePSTools.ExportCommands.StartExport.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="T:MilestonePSTools.HardwareCommands.RemoveHardware">
            <summary>
            <para type="synopsis">Deletes a hardware device, and all child devices and their recordings from a Recording Server</para>
            <para type="description">Deletes a hardware device, and all child devices and their recordings from a Recording Server</para>
            <example>
                <code>C:\PS> Get-Hardware -Name Stairs* | Remove-Hardware -Force</code>
                <para>Removes all hardware from all Recording Servers where the name begins with "Stairs".</para>
                <para>Note that omitting the -Force switch will result in a warning, and no objects will be deleted.</para>
                <para/><para/><para/>
            </example>
            <example>
                <code>C:\PS> Get-MethodInfo RemoveAlarmDefinition</code>
                <para>Gets the MethodInfo for the RemoveAlarmDefinition MethodId</para>
                <para/><para/><para/>
            </example>
            <para type="link" uri="https://doc.developer.milestonesys.com/html/index.html">MIP SDK Documentation</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.HardwareCommands.RemoveHardware.Hardware">
            <summary>
            <para type="description">Specifies the Hardware object to be removed. Usually this object is received from a Get-Hardware command.</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.HardwareCommands.RemoveHardware.HardwareId">
            <summary>
            <para type="description">Specifies the hardware ID in guid format</para>
            </summary>
        </member>
        <member name="P:MilestonePSTools.HardwareCommands.RemoveHardware.Force">
            <summary>
            <para type="description">Required in order to remove hardware due to the possible loss of sensitive recordings if used by mistake</para>
            </summary>
        </member>
        <member name="M:MilestonePSTools.HardwareCommands.RemoveHardware.ProcessRecord">
            <summary>
             
            </summary>
        </member>
        <member name="M:MilestonePSTools.ConfigApiCmdlet.GetVmoClient">
            <summary>
             
            </summary>
            <returns></returns>
        </member>
    </members>
</doc>