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.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>
            <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="M:MilestonePSTools.Commands.GetManagementServer.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.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>
    </members>
</doc>