en-US/MilestonePSTools-help.xml
<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh"> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsArchiveStorage</command:name> <command:verb>Add</command:verb> <command:noun>VmsArchiveStorage</command:noun> <maml:description> <maml:para>Adds a new Archive Storage configuration to an existing live recording storage configuration.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Adds a new Archive Storage configuration to an existing live recording storage configuration. Note that you cannot add archives with a shorter retention than an existing archive on the same storage configuration.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsArchiveStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the Recording Server to which the storage configuration should be added. This should be a RecordingServer object such as that returned by the Get-VmsRecordingServer cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies the optional description of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path under which the new storage folder will be created on the Recording Server or UNC path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Retention</maml:name> <maml:description> <maml:para>Specifies the retention, as a `[timespan]`, after which the recordings will be deleted, or archived if you choose to add an archive storage to the new storage configuration after it is created.</maml:para> <maml:para>REQUIREMENTS - Minimum: 00:01:00, Maximum: 365000.00:00:00</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeSpan</command:parameterValue> <dev:type> <maml:name>TimeSpan</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>MaximumSizeMB</maml:name> <maml:description> <maml:para>Specifies the maximum size for the live storage before data should be archived or deleted.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>TargetFramerate</maml:name> <maml:description> <maml:para>Specifies the desired framerate for recordings stored in this archive storage area. WARNING: Framerate reduction when the codec is anything besides MJPEG results in keyframes only, which is usually 1 FPS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>5</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ReduceFramerate</maml:name> <maml:description> <maml:para>Specifies that the framerate should be reduced when taking recordings from the previous live/archive storage area WARNING: Framerate reduction when the codec is anything besides MJPEG results in keyframes only, which is usually 1 FPS.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies the optional description of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>MaximumSizeMB</maml:name> <maml:description> <maml:para>Specifies the maximum size for the live storage before data should be archived or deleted.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path under which the new storage folder will be created on the Recording Server or UNC path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ReduceFramerate</maml:name> <maml:description> <maml:para>Specifies that the framerate should be reduced when taking recordings from the previous live/archive storage area WARNING: Framerate reduction when the codec is anything besides MJPEG results in keyframes only, which is usually 1 FPS.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Retention</maml:name> <maml:description> <maml:para>Specifies the retention, as a `[timespan]`, after which the recordings will be deleted, or archived if you choose to add an archive storage to the new storage configuration after it is created.</maml:para> <maml:para>REQUIREMENTS - Minimum: 00:01:00, Maximum: 365000.00:00:00</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeSpan</command:parameterValue> <dev:type> <maml:name>TimeSpan</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the Recording Server to which the storage configuration should be added. This should be a RecordingServer object such as that returned by the Get-VmsRecordingServer cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>TargetFramerate</maml:name> <maml:description> <maml:para>Specifies the desired framerate for recordings stored in this archive storage area. WARNING: Framerate reduction when the codec is anything besides MJPEG results in keyframes only, which is usually 1 FPS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>5</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ArchiveStorage</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer | Get-VmsArchiveStorage -Name '90 Day Retention' | Add-VmsArchiveStorage -Name 'Last 80 Days' -Path C:\MediaDatabase\ -Retention (New-Timespan -Days 90) -MaximumSizeMB (10TB/1MB)</dev:code> <dev:remarks> <maml:para>Adds an archive to every storage configuration on every recording server where the name is '90 Day Retention'. The storage and archive names imply that the first 10 days are in the live drive, and the archive contains the last 80 days. The retention of the archive is set to 90 days because that value specifies how old the recordings in that container must be before they are eligible for deleting or archiving to the next archive in the chain. We use the helpful TB and MB multipliers to specify the maximum size of 10TB.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsArchiveStorage/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsDeviceGroupMember</command:name> <command:verb>Add</command:verb> <command:noun>VmsDeviceGroupMember</command:noun> <maml:description> <maml:para>Add one or more devices to a device group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Add one or more devices to a device group by ID, or using the objects returned by cmdlets like Get-VmsCamera.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsDeviceGroupMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies one or more devices of the same type. Supported devices are cameras, microphones, speakers, metadata, inputs, and outputs.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Camera, Microphone, Speaker, Metadata, InputEvent, Output</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies a device group object returned by Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Add-VmsDeviceGroupMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies the ID of one or more devices.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies a device group object returned by Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies one or more devices of the same type. Supported devices are cameras, microphones, speakers, metadata, inputs, and outputs.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Camera, Microphone, Speaker, Metadata, InputEvent, Output</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies the ID of one or more devices.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies a device group object returned by Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$cameras = Get-VmsHardware | Get-VmsCamera | Where-Object Name -like '*West*' Get-VmsDeviceGroup 'Parking West' | Add-VmsDeviceGroupMember -Device $cameras</dev:code> <dev:remarks> <maml:para>Adds all enabled cameras with the word "West" in the camera name to the "Parking West" camera group.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsDeviceGroup -Type Metadata -Name 'All Metadata' | Add-VmsDeviceGroupMember -Device (Get-VmsHardware | Get-VmsMetadata -EnableFilter All)</dev:code> <dev:remarks> <maml:para>Adds all metadata to the "All Metadata" device group.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsDeviceGroupMember/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsFailoverRecorder</command:name> <command:verb>Add</command:verb> <command:noun>VmsFailoverRecorder</command:noun> <maml:description> <maml:para>Adds a failover recording server to an existing failover group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Add-VmsFailoverRecorder` cmdlet adds a failover recording server to an existing failover group. An unassigned failover recording server can be moved into a group, and a failover recording server assigned to a group can be assigned to a different failover group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsFailoverRecorder</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>FailoverRecorder</maml:name> <maml:description> <maml:para>Specifies an existing failover recording server. The value can be supplied as a FailoverRecorder object, or the name of a failover recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder[]</command:parameterValue> <dev:type> <maml:name>FailoverRecorder[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies an existing failover group. The value can be supplied as a FailoverGroup object, or the name of a failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Position</maml:name> <maml:description> <maml:para>Specifies the position the failover recording server should have. The value starts at zero, which represents the first failover recording server in a group that should assume the role of a failed recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies an existing failover group. The value can be supplied as a FailoverGroup object, or the name of a failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>FailoverRecorder</maml:name> <maml:description> <maml:para>Specifies an existing failover recording server. The value can be supplied as a FailoverRecorder object, or the name of a failover recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder[]</command:parameterValue> <dev:type> <maml:name>FailoverRecorder[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Position</maml:name> <maml:description> <maml:para>Specifies the position the failover recording server should have. The value starts at zero, which represents the first failover recording server in a group that should assume the role of a failed recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$failovers = Get-VmsFailoverRecorder -Unassigned $failoverGroup = Get-VmsFailoverGroup -Name 'Failover Group 1' $failovers | Foreach-Object { $failoverGroup | Add-VmsFailoverRecorder -FailoverRecorder $_ -Verbose }</dev:code> <dev:remarks> <maml:para>This example retrieves all failover recording servers that have not been assigned to a failover group, and have not been assigned as hot-standby failover servers for any one recording server. It then adds all unassigned failover recording servers to the failover group named "Failover Group 1".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsFailoverRecorder/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsHardware</command:name> <command:verb>Add</command:verb> <command:noun>VmsHardware</command:noun> <maml:description> <maml:para>Adds a new hardware device, typically a camera, to a Milestone XProtect Recording Server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Adds a new hardware device, typically a camera, to a Milestone XProtect Recording Server. Capable of adding multiple cameras in a group if a collection of hardware scan results from the Start-VmsHardwareScan command are provided in the HardwareScan parameter. Otherwise one camera will be added at a time.</maml:para> <maml:para>Each successfully added hardware device will be returned to the pipeline in a fully resolved Hardware object. With that object you can continue to set properties on the hardware or child camera, microphone, speaker and other child device types that are present.</maml:para> <maml:para>IMPORTANT: This command does not add any devices to a device group like the Management Client does. You must put devices into device groups yourself.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsHardware</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies an admin username and password to use with the camera at the given address.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DriverNumber</maml:name> <maml:description> <maml:para>Specifies the driver number for the Milestone device pack driver to use with the camera. One of either HardwareDriverPath or DriverNumber are required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the camera(s) should be added even if they already exist on another Recording Server on the site.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Address"> <maml:name>HardwareAddress</maml:name> <maml:description> <maml:para>Specifies the IP or hostname of the hardware to be added. This should be in URI format. Example: http://192.168.1.100</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>HardwareDriverPath</maml:name> <maml:description> <maml:para>Specifies the Milestone Configuration API path value for the driver to use. DriverNumber is more user-friendly but if you have the path, you can use that instead. One of either HardwareDriverPath or DriverNumber are required. Example: HardwareDriver[ada01bd5-fc87-4bcb-8e7e-145cc755f502]</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name to be assigned to the hardware after it has been added. The default behavior is to use the camera make, model and IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the RecordingServer object (from Get-VmsRecordingServer for example) to which the camera should be added. This is only relevant for the manual parameter set. If using hardware scan results as input to Add-VmsHardware, the Recording Server is retrieved from the scan result object.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SkipConfig</maml:name> <maml:description> <maml:para>Specifies that no additional configuration should be performed once the hardware has been added. This means the hardware and devices will keep their default names, and will be disabled until you enable them yourself. You might do this if you plan to make several of your own configuration changes once the device is added and that might save some time especially when working with a large number of devices.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Add-VmsHardware</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the camera(s) should be added even if they already exist on another Recording Server on the site.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>HardwareScan</maml:name> <maml:description> <maml:para>The results of Start-VmsHardwareScan which contain all the required information to add hardware including the address, username, password, and driver.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">VmsHardwareScanResult[]</command:parameterValue> <dev:type> <maml:name>VmsHardwareScanResult[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name to be assigned to the hardware after it has been added. The default behavior is to use the camera make, model and IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SkipConfig</maml:name> <maml:description> <maml:para>Specifies that no additional configuration should be performed once the hardware has been added. This means the hardware and devices will keep their default names, and will be disabled until you enable them yourself. You might do this if you plan to make several of your own configuration changes once the device is added and that might save some time especially when working with a large number of devices.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies an admin username and password to use with the camera at the given address.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DriverNumber</maml:name> <maml:description> <maml:para>Specifies the driver number for the Milestone device pack driver to use with the camera. One of either HardwareDriverPath or DriverNumber are required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the camera(s) should be added even if they already exist on another Recording Server on the site.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Address"> <maml:name>HardwareAddress</maml:name> <maml:description> <maml:para>Specifies the IP or hostname of the hardware to be added. This should be in URI format. Example: http://192.168.1.100</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>HardwareDriverPath</maml:name> <maml:description> <maml:para>Specifies the Milestone Configuration API path value for the driver to use. DriverNumber is more user-friendly but if you have the path, you can use that instead. One of either HardwareDriverPath or DriverNumber are required. Example: HardwareDriver[ada01bd5-fc87-4bcb-8e7e-145cc755f502]</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>HardwareScan</maml:name> <maml:description> <maml:para>The results of Start-VmsHardwareScan which contain all the required information to add hardware including the address, username, password, and driver.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">VmsHardwareScanResult[]</command:parameterValue> <dev:type> <maml:name>VmsHardwareScanResult[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name to be assigned to the hardware after it has been added. The default behavior is to use the camera make, model and IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the RecordingServer object (from Get-VmsRecordingServer for example) to which the camera should be added. This is only relevant for the manual parameter set. If using hardware scan results as input to Add-VmsHardware, the Recording Server is retrieved from the scan result object.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SkipConfig</maml:name> <maml:description> <maml:para>Specifies that no additional configuration should be performed once the hardware has been added. This means the hardware and devices will keep their default names, and will be disabled until you enable them yourself. You might do this if you plan to make several of your own configuration changes once the device is added and that might save some time especially when working with a large number of devices.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware</maml:name> </dev:type> <maml:description> <maml:para>This command does not add any cameras or other devices to a camera group. It is expected that you will do this yourself if you wish.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>$recorder = Get-VmsRecordingServer | Out-GridView -OutputMode Single $recorder | Add-VmsHardware -HardwareAddress 10.1.1.100 -Name 'Parking' -DriverNumber 806 -Credential (Get-Credential)</dev:code> <dev:remarks> <maml:para>Prompts to enter a username and password (thanks to Get-Credential) and then adds the Axis camera at 10.1.1.100 to the Recording Server in $recorder. Once added, the new hardware will be returned to the pipeline and in this case shown in the terminal like you see below.</maml:para> <maml:para>Name Address Model Enabled LastModified Id ---- ------- ----- ------- ------------ -- Parking http://10.1.1.100/ AXIS M1065-L Network Camera True 10/5/2021 9:50:21 PM A833F561-7830-41B4-BEEF-C1F868939D17</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>$recorder = Get-VmsRecordingServer | Out-GridView -OutputMode Single $credential = [pscredential]::new('root', ('pass' | ConvertTo-SecureString -AsPlainText -Force)) $recorder | Add-VmsHardware -HardwareAddress 10.1.1.100 -Name 'Parking' -DriverNumber 806 -Credential $credential</dev:code> <dev:remarks> <maml:para>Exactly the same as Example #1 however in this example we create the credential from code. This uses plain text and is generally frowned upon for security reasons. Ideally you can prompt the user to enter credentials, or you store credentials in a safe place such as a secret store of some kind. Microsoft have provided a handy secret management framework with plugin support called "Microsoft.PowerShell.SecretManagement" enabling you to easily access secret management tools like KeePass and others.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>$newHardware = Add-VmsHardware -HardwareScan (Start-VmsHardwareScan -RecordingServer (Get-VmsRecordingServer) -Express) $newHardware</dev:code> <dev:remarks> <maml:para>This one-liner will get all recording servers in the site, and start an express hardware scan on them all. The completed hardware scans will be passed into Add-VmsHardware, and all the newly added hardware from all recording servers will be saved in the $newHardware variable.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsHardware/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsLoginProviderClaim</command:name> <command:verb>Add</command:verb> <command:noun>VmsLoginProviderClaim</command:noun> <maml:description> <maml:para>Add registered claims which will be used to map users with the desired privileges.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Add-VmsLoginProviderClaim` registers a specific claim to be used for assigning users to roles. A wide range of claims may be received after authentication of a user from an external login provider, but only "registered claims" may be added to a role for the purpose of granting privileges to users.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsLoginProviderClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the external login provider configuration to which the claim should be registered.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the claim to be registered. The value should match the name of a claim present in tokens issued by the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>DisplayName</maml:name> <maml:description> <maml:para>Specifies an alternate, user-friendly display name for the claim which will be shown when viewing claims associated with users and roles.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CaseSensitive</maml:name> <maml:description> <maml:para>Specifies that the claim name is case sensitive.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CaseSensitive</maml:name> <maml:description> <maml:para>Specifies that the claim name is case sensitive.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>DisplayName</maml:name> <maml:description> <maml:para>Specifies an alternate, user-friendly display name for the claim which will be shown when viewing claims associated with users and roles.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the external login provider configuration to which the claim should be registered.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the claim to be registered. The value should match the name of a claim present in tokens issued by the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsLoginProvider | Add-VmsLoginProviderClaim -Name 'vms_role' -DisplayName 'Role'</dev:code> <dev:remarks> <maml:para>Adds a registered claim with the name 'vms_role' to all external login providers. As of VMS version 2023 R1 there can be only one login provider. In the future, if multiple login providers are supported, this example would add the claim to all providers.</maml:para> <maml:para>The display name for the claim is set to 'Role' so this is how it will be displayed when viewing claims associated with users and roles.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsLoginProviderClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsRoleClaim</command:name> <command:verb>Add</command:verb> <command:noun>VmsRoleClaim</command:noun> <maml:description> <maml:para>Adds the name of a registered claim with a given value to one or more roles.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Add-VmsRoleClaim` cmdlet adds a claim name with a given value to one or more roles. The claim name must already be registered with the associated login provider. This is done using the `Add-VmsLoginProviderClaim` cmdlet.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsRoleClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies one or more roles to which to add the provided claim and value.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider for which the claim should be associated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies the name of the registered claim to add to the specified role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="none"> <maml:name>ClaimValue</maml:name> <maml:description> <maml:para>The value which should cause users with this claim to be mapped to the specified role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies the name of the registered claim to add to the specified role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="none"> <maml:name>ClaimValue</maml:name> <maml:description> <maml:para>The value which should cause users with this claim to be mapped to the specified role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider for which the claim should be associated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies one or more roles to which to add the provided claim and value.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$loginProvider = Get-VmsLoginProvider | Select-Object -First 1 $loginProvider | Add-VmsLoginProviderClaim -Name 'vms_role' Get-VmsRole -PipelineVariable role | Foreach-Object { $role | Add-VmsRoleClaim -LoginProvider $loginProvider -ClaimName 'vms_role' -ClaimValue $role.Name }</dev:code> <dev:remarks> <maml:para>The `vms_role` claim is added to the first available login provider, which as of XProtect VMS versions 2023 R1, will be the only login provider since only one is supported. After registering the claim with the login provider, an entry is added for each role with a value matching the name of the role.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsRoleClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsRoleMember</command:name> <command:verb>Add</command:verb> <command:noun>VmsRoleMember</command:noun> <maml:description> <maml:para>Adds a user or group to the specified role.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Adds a user or group to the specified role. Members may be Milestone "Basic Users", external users from a customer-provided identity provider, local Windows users, or Active Directory users or groups.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsRoleMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>AccountName</maml:name> <maml:description> <maml:para>Specifies the account name of the user or group to be added to the role. The value can be expressed in the following formats: user principal name (username@domain.ext), down-level logon name (domain\username), or simply "username". Local Windows or Active Directory groups can be specified the same way.</maml:para> <maml:para>Adding members to roles is done by providing the management server with the desired SID. When the account name is provided without a domain name, the members of the local machine will be checked first. If no matches are found, matching Active Directory members will be returned instead.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Add-VmsRoleMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Sid</maml:name> <maml:description> <maml:para>Specifies the SID of a user or group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>AccountName</maml:name> <maml:description> <maml:para>Specifies the account name of the user or group to be added to the role. The value can be expressed in the following formats: user principal name (username@domain.ext), down-level logon name (domain\username), or simply "username". Local Windows or Active Directory groups can be specified the same way.</maml:para> <maml:para>Adding members to roles is done by providing the management server with the desired SID. When the account name is provided without a domain name, the members of the local machine will be checked first. If no matches are found, matching Active Directory members will be returned instead.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Sid</maml:name> <maml:description> <maml:para>Specifies the SID of a user or group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>A SID is a security identifier and the abbreviation is typically used in the context of Microsoft operating systems and Active Directory to identify "objects" like user accounts, groups, computers, and so on.</maml:para> <maml:para>Basic users in Milestone are defined within the VMS and do not represent, or map to a Windows or Active Directory object of any kind, but they still have a SID property. You may notice that these basic user SID's are actually GUIDs or Globally Unique Identifiers. Presumably this was done to "normalize" all supported types of users at design time: basic users, local Windows users and groups, and Active Directory users and groups. By implementing a "SID" property on basic users, it meant all types of supported users would have a "SID" and because of this, it would simplify certain operations in the implementation of security in the product.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Add-VmsRoleMember -Role Operators -AccountName 'security\Ashley'</dev:code> <dev:remarks> <maml:para>Adds the user "security\Ashley" to the role "Operators". The prefix "security" could be either a local machine name, or a domain name.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$role = New-VmsRole -Name 'Smart Wall Operator' -PassThru $role | Add-VmsRoleMember -AccountName '[BASIC]\Ashley'</dev:code> <dev:remarks> <maml:para>Adds the basic user "Ashley" to the role "Smart Wall Operator". The prefix '[BASIC]' in this down-level logon formatted AccountName ensures that the SID lookup is performed against the list of basic users configured in the VMS.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsRoleMember/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Add-VmsStorage</command:name> <command:verb>Add</command:verb> <command:noun>VmsStorage</command:noun> <maml:description> <maml:para>Adds a new live Recording Storage configuration to a Recording Server</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Adds a new live Recording Storage configuration to a Recording Server</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-VmsStorage</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Default</maml:name> <maml:description> <maml:para>Specifies whether this storage should become the default storage for all devices added to the Recording Server in the future.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies the optional description of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableSigning</maml:name> <maml:description> <maml:para>Specifies whether digital signatures should be used to sign recordings on the storage configuration.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EncryptionMethod</maml:name> <maml:description> <maml:para>Specifies which encryption method should be used. If no encryption is desired, omit this parameter.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Light</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Strong</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaximumSizeMB</maml:name> <maml:description> <maml:para>Specifies the maximum size for the live storage before data should be archived or deleted.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies the password used to create the encryption key to use when EncryptionMethod is specified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path under which the new storage folder will be created on the Recording Server or UNC path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the Recording Server to which the storage configuration should be added. This should be a RecordingServer object such as that returned by the Get-VmsRecordingServer cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Retention</maml:name> <maml:description> <maml:para>Specifies the retention, as a `[timespan]`, after which the recordings will be deleted, or archived if you choose to add an archive storage to the new storage configuration after it is created.</maml:para> <maml:para>REQUIREMENTS - Minimum: 00:01:00, Maximum: 365000.00:00:00</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeSpan</command:parameterValue> <dev:type> <maml:name>TimeSpan</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Default</maml:name> <maml:description> <maml:para>Specifies whether this storage should become the default storage for all devices added to the Recording Server in the future.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies the optional description of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableSigning</maml:name> <maml:description> <maml:para>Specifies whether digital signatures should be used to sign recordings on the storage configuration.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EncryptionMethod</maml:name> <maml:description> <maml:para>Specifies which encryption method should be used. If no encryption is desired, omit this parameter.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaximumSizeMB</maml:name> <maml:description> <maml:para>Specifies the maximum size for the live storage before data should be archived or deleted.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies the password used to create the encryption key to use when EncryptionMethod is specified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path under which the new storage folder will be created on the Recording Server or UNC path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the Recording Server to which the storage configuration should be added. This should be a RecordingServer object such as that returned by the Get-VmsRecordingServer cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Retention</maml:name> <maml:description> <maml:para>Specifies the retention, as a `[timespan]`, after which the recordings will be deleted, or archived if you choose to add an archive storage to the new storage configuration after it is created.</maml:para> <maml:para>REQUIREMENTS - Minimum: 00:01:00, Maximum: 365000.00:00:00</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeSpan</command:parameterValue> <dev:type> <maml:name>TimeSpan</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Storage</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code><example usage></dev:code> <dev:remarks> <maml:para>Explanation of what the example does</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Add-VmsStorage/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Assert-VmsLicensedFeature</command:name> <command:verb>Assert</command:verb> <command:noun>VmsLicensedFeature</command:noun> <maml:description> <maml:para>Returns an error if the specified feature is not licensed on the current VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Assert-VmsLicensedFeature` cmdlet returns an error if the specified feature is not licensed on the current VMS. This can be useful when writing tools and scripts that will be used on multiple systems with potentially different sets of available features.</maml:para> <maml:para>You can use `(Get-VmsSystemLicense).FeatureFlags` to retrieve a list of valid feature names available on the current VMS.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Assert-VmsLicensedFeature</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of a feature to assert the availability of.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of a feature to assert the availability of.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Assert-VmsLicensedFeature -Name SmartWall</dev:code> <dev:remarks> <maml:para>This example will do nothing at all if the SmartWall feature flag is present. If the SmartWall feature isn't available, you will instead receive an error similar to the one in the following example.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Assert-VmsLicensedFeature -Name UnavailableFeature <# Assert-VmsLicensedFeature : The feature "UnavailableFeature" is not enabled on your VMS. At line:1 char:1 + Assert-VmsLicensedFeature -Name UnavailableFeature + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotEnabled: (UnavailableFeature:String) [Write-Error], NotSupportedMIPException + FullyQualifiedErrorId : VideoOS.Platform.NotSupportedMIPException,Assert-VmsLicensedFeature #></dev:code> <dev:remarks> <maml:para>This example will do nothing at all if the SmartWall feature flag is present. If the SmartWall feature isn't available, you will instead receive the error shown in the following example.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Assert-VmsLicensedFeature -Name UnavailableFeature -ErrorAction SilentlyContinue -ErrorVariable featureError Write-Host "The feature '$($featureError.TargetObject)' is not available."</dev:code> <dev:remarks> <maml:para>In this example we expand on the previous example and demonstrate that the feature name triggering the error is avaiable from the `TargetObject` property of the `ErrorRecord`. In this case we silence the error and capture the error, if any, in the `$featureError` variable.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Assert-VmsLicensedFeature/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Assert-VmsRequirementsMet</command:name> <command:verb>Assert</command:verb> <command:noun>VmsRequirementsMet</command:noun> <maml:description> <maml:para>Returns an error if any custom "[RequiresVms*] attribute present on the calling function fails validation.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>MilestonePSTools includes custom attributes that are used to decorate certain internal commands and parameters where those commands or parameters are only supported when a specific feature is available on the connected VMS, or when the connected VMS is a certain version.</maml:para> <maml:para>You may be familiar with validation attributes for parameters such as `[ValidateSet('Option1', 'Option2')]`, `[ValidateRange(1, 10)]`, or `[ValidateNotNullOrEmpty()]`. However, some entire commands in MilestonePSTools require the VMS version to be at some minimum level, such as the `Set-VmsHardwareDriver` command, and some commands require a certain VMS feature to be available such as the `Get-VmsFailoverRecorder` cmdlets.</maml:para> <maml:para>PowerShell does not provide any utility for executing a validation method on a custom attribute unless that attribute is applied to a parameter, so the `Assert-VmsRequirementsMet` command can be added to any begin/end/process block and it will throw an error if there are any "RequiresVms*" attributes decorating your PowerShell functions or cmdlets.</maml:para> <maml:para>The advantage of this is two-fold; your commands can be self-documenting in terms of minimum/maximum version requirements, and you do not have to detect these issues yourself or worry about having consistent error messaging as the validation errors will always be consistent.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Assert-VmsRequirementsMet</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>See Microsoft's NuGet package versioning documentation linked below for more information about the syntax for specifying minimum and maximum version numbers. The `[MilestonePSTools.RequiresVmsVersion()]` attribute supports all permutations of minimum, maximum, inclusive, exclusive, and exact version specifications.</maml:para> <maml:para>For a list of available feature flags on your connected VMS, inspect the `FeatureFlags` property on the object returned by `Get-VmsSystemLicense`. Or simply run the command `(Get-VmsSystemLicense).FeatureFlags | Sort-Object` to display a sorted list of available features.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>function Get-SomethingRequiringMinimumVersion { [CmdletBinding()] [MilestonePSTools.RequiresVmsVersion('23.1')] param() begin { Assert-VmsRequirementsMet } process { "This string will only be returned if the connected VMS is at least 23.1, or if '-ErrorAction SilentlyContinue' is included when calling Get-SomethingRequiringMinimumVersion." } } Get-SomethingRequiringMinimumVersion</dev:code> <dev:remarks> <maml:para>Returns a string message if the connected VMS is at least version 23.1. Otherwise it throws an error like 'Server version must be greater than or equal to ...'</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>function Get-SomethingRequiringExactVersion { [CmdletBinding()] [MilestonePSTools.RequiresVmsVersion('[23.1]')] param() begin { Assert-VmsRequirementsMet } process { "This string will only be returned if the connected VMS is exactly 23.1, or if '-ErrorAction SilentlyContinue' is included when calling Get-SomethingRequiringExactVersion." } } Get-SomethingRequiringExactVersion</dev:code> <dev:remarks> <maml:para>Returns a string message if the connected VMS is exactly version 23.1. Otherwise it throws an error like 'Server version must be exactly ...'</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>function Get-SomethingRequiringVersionRange { [CmdletBinding()] [MilestonePSTools.RequiresVmsVersion('[,23.1]')] param() begin { Assert-VmsRequirementsMet } process { "This string will only be returned if the connected VMS version is less than or equal to 23.1, or if '-ErrorAction SilentlyContinue' is included when calling Get-SomethingRequiringVersionRange." } } Get-SomethingRequiringVersionRange</dev:code> <dev:remarks> <maml:para>Returns a string message if the connected VMS is less than or equal to version 23.1. Otherwise it throws an error like 'Server version must be less than or equal to ...'</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>function Get-SomethingRequiringVersionRange { [CmdletBinding()] [MilestonePSTools.RequiresVmsVersion('[22.1,23.1)')] param() begin { Assert-VmsRequirementsMet } process { "This string will only be returned if the connected VMS version is greater than or equal to 22.1 and less than 23.1, or if '-ErrorAction SilentlyContinue' is included when calling Get-SomethingRequiringVersionRange." } } Get-SomethingRequiringVersionRange</dev:code> <dev:remarks> <maml:para>Returns a string message if the connected VMS is greater than or equal to 22.1 and less than 23.1. Otherwise it throws an error like 'Server version must be greater than or equal to ...' or 'Server version must be less than ...' depending on the VMS version.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 5 --------------------------</maml:title> <dev:code>function Get-SomethingRequiringMinVersionAndFeature { [CmdletBinding()] [MilestonePSTools.RequiresVmsVersion('23.2')] [MilestonePSTools.RequiresVmsFeature('RecordingServerFailover')] param() begin { Assert-VmsRequirementsMet } process { "This string will only be returned if the connected VMS version is greater than or equal to 23.2 and if the RecordingServerFailover feature is available, or if '-ErrorAction SilentlyContinue' is included when calling Get-SomethingRequiringMinVersionAndFeature." } } Get-SomethingRequiringMinVersionAndFeature</dev:code> <dev:remarks> <maml:para>Returns a string message if the connected VMS version is greater than or equal to 23.2 and the RecordingServerFailover feature is available. Otherwise it throws an error like 'Server version must be greater than or equal to ...' or 'The feature "RecordingServerFailover" is not available on your VMS.'</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Assert-VmsRequirementsMet/</maml:uri> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Version range notation</maml:linkText> <maml:uri>https://learn.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Clear-VmsSiteInfo</command:name> <command:verb>Clear</command:verb> <command:noun>VmsSiteInfo</command:noun> <maml:description> <maml:para>Clears all site information properties.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet clears all site information properties which are displayed in the Management Client under Site / Basics / Site Information.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Clear-VmsSiteInfo</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptAula Clear-VmsSiteInfo -WhatIf</dev:code> <dev:remarks> <maml:para>After connecting to the Management Server, this command shows what would happen if the site information was cleared. Specifically, it would tell you what fields would be removed if you were to run the command without the -WhatIf switch.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Clear-VmsSiteInfo/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Clear-VmsView</command:name> <command:verb>Clear</command:verb> <command:noun>VmsView</command:noun> <maml:description> <maml:para>Clears all cameras or other view items from one or more XProtect Smart Client views.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This command removes all view items from the view, leaving an empty view layout with the same original layout.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Clear-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies one or more views to be cleared of all view items.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View[]</command:parameterValue> <dev:type> <maml:name>View[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated view should be passed on through the pipeline, or out to the terminal.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated view should be passed on through the pipeline, or out to the terminal.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies one or more views to be cleared of all view items.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View[]</command:parameterValue> <dev:type> <maml:name>View[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $view = Get-VmsView | Out-GridView -OutputMode Single $view | Clear-VmsView -WhatIf</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we prompt for a view selection, and then clear the view of all view items, except the -WhatIf parameter is present, so you will only see a message indicating the change that would occur if you omitted the -WhatIf switch.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Clear-VmsView/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Connect-Vms</command:name> <command:verb>Connect</command:verb> <command:noun>Vms</command:noun> <maml:description> <maml:para>Connects to a Milestone XProtect Management Server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Connect-Vms` cmdlet connects to a Milestone XProtect Management Server. When used on a parent management server in a Milestone Federated Hierarchy, the -IncludeChildSites parameter can be used to login to child sites as well. Important: It is required to include `-AcceptEula` once. After this, an empty file is saved to the current user's roaming Windows profile at `#!powershell $env:APPDATA\MilestonePSTools\user-accepted-eula.txt` to indicate that Milestone's MIP SDK end user license agreement has been accepted and the `-AcceptEula` switch will not be required again unless MilestonePSTools is used on another computer or another Windows user account.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Connect-Vms</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AcceptEula</maml:name> <maml:description> <maml:para>Indicates that you accept the terms of the end user license agreement supplied with the MilestonePSTools module, which is a copy of the agreement supplied with Milestone's SDK. You can review the EULA at any time using `Invoke-MipSdkEula`.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>BasicUser</maml:name> <maml:description> <maml:para>Specifies that the provided Credential should be interpreted as a Milestone Basic User credential instead of a Windows or Active Directory credential.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies the username and password for a Windows, Active Directory, or Milestone Basic User. When using basic user credentials, you must also use the "-BasicUser" switch.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>IncludeChildSites</maml:name> <maml:description> <maml:para>Specifies that a logon session should also be established with all Milestone Federated Hierarchy (MFA) child sites, if present.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile, with a default value of "default". When used alone, or when calling Connect-Vms without parameters, the server address and encrypted credential will be loaded from disk and a connection will be established without providing any additional information. If no connection profile exists matching the provided, or default name, a Milestone login dialog will be displayed. Upon successful logon, a named connection profile will be saved to the current user's local AppData folder.</maml:para> <maml:para>When the Name parameter is provided with the ShowDialog or ServerAddress parameter sets, a named connection profile will be saved to disk after successful connection. If a connection profile with that name already exists, it will be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>SecureOnly</maml:name> <maml:description> <maml:para>Specifies that a secure connection is required. If a secure connection cannot be established, this parameter ensures that an insecure HTTP connection should not be attempted.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ServerAddress</maml:name> <maml:description> <maml:para>Specifies the Management Server address using either an http or https scheme. For example, "http://managementserver".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Connect-Vms</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AcceptEula</maml:name> <maml:description> <maml:para>Indicates that you accept the terms of the end user license agreement supplied with the MilestonePSTools module, which is a copy of the agreement supplied with Milestone's SDK. You can review the EULA at any time using `Invoke-MipSdkEula`.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>IncludeChildSites</maml:name> <maml:description> <maml:para>Specifies that a logon session should also be established with all Milestone Federated Hierarchy (MFA) child sites, if present.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile, with a default value of "default". When used alone, or when calling Connect-Vms without parameters, the server address and encrypted credential will be loaded from disk and a connection will be established without providing any additional information. If no connection profile exists matching the provided, or default name, a Milestone login dialog will be displayed. Upon successful logon, a named connection profile will be saved to the current user's local AppData folder.</maml:para> <maml:para>When the Name parameter is provided with the ShowDialog or ServerAddress parameter sets, a named connection profile will be saved to disk after successful connection. If a connection profile with that name already exists, it will be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoProfile</maml:name> <maml:description> <maml:para>Specifies that no connection profile should be created after successful login. This is used when automatic login is desired, and a login dialog should be presented if the named profile does not exist, but no new named profile should be created. When the `[RequiresVmsConnection()]` attribute calls `Connect-Vms`, it uses this parameter so that automatic logon is possible without implicitly saving a new connection profile.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Connect-Vms</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AcceptEula</maml:name> <maml:description> <maml:para>Indicates that you accept the terms of the end user license agreement supplied with the MilestonePSTools module, which is a copy of the agreement supplied with Milestone's SDK. You can review the EULA at any time using `Invoke-MipSdkEula`.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>IncludeChildSites</maml:name> <maml:description> <maml:para>Specifies that a logon session should also be established with all Milestone Federated Hierarchy (MFA) child sites, if present.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile, with a default value of "default". When used alone, or when calling Connect-Vms without parameters, the server address and encrypted credential will be loaded from disk and a connection will be established without providing any additional information. If no connection profile exists matching the provided, or default name, a Milestone login dialog will be displayed. Upon successful logon, a named connection profile will be saved to the current user's local AppData folder.</maml:para> <maml:para>When the Name parameter is provided with the ShowDialog or ServerAddress parameter sets, a named connection profile will be saved to disk after successful connection. If a connection profile with that name already exists, it will be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ShowDialog</maml:name> <maml:description> <maml:para>Specifies that a Milestone login dialog should be displayed. This should only be used when using MilestonePSTools interactively.</maml:para> <maml:para>REQUIREMENTS - Requires an interactive PowerShell session.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AcceptEula</maml:name> <maml:description> <maml:para>Indicates that you accept the terms of the end user license agreement supplied with the MilestonePSTools module, which is a copy of the agreement supplied with Milestone's SDK. You can review the EULA at any time using `Invoke-MipSdkEula`.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>BasicUser</maml:name> <maml:description> <maml:para>Specifies that the provided Credential should be interpreted as a Milestone Basic User credential instead of a Windows or Active Directory credential.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies the username and password for a Windows, Active Directory, or Milestone Basic User. When using basic user credentials, you must also use the "-BasicUser" switch.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>IncludeChildSites</maml:name> <maml:description> <maml:para>Specifies that a logon session should also be established with all Milestone Federated Hierarchy (MFA) child sites, if present.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile, with a default value of "default". When used alone, or when calling Connect-Vms without parameters, the server address and encrypted credential will be loaded from disk and a connection will be established without providing any additional information. If no connection profile exists matching the provided, or default name, a Milestone login dialog will be displayed. Upon successful logon, a named connection profile will be saved to the current user's local AppData folder.</maml:para> <maml:para>When the Name parameter is provided with the ShowDialog or ServerAddress parameter sets, a named connection profile will be saved to disk after successful connection. If a connection profile with that name already exists, it will be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoProfile</maml:name> <maml:description> <maml:para>Specifies that no connection profile should be created after successful login. This is used when automatic login is desired, and a login dialog should be presented if the named profile does not exist, but no new named profile should be created. When the `[RequiresVmsConnection()]` attribute calls `Connect-Vms`, it uses this parameter so that automatic logon is possible without implicitly saving a new connection profile.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>SecureOnly</maml:name> <maml:description> <maml:para>Specifies that a secure connection is required. If a secure connection cannot be established, this parameter ensures that an insecure HTTP connection should not be attempted.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ServerAddress</maml:name> <maml:description> <maml:para>Specifies the Management Server address using either an http or https scheme. For example, "http://managementserver".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ShowDialog</maml:name> <maml:description> <maml:para>Specifies that a Milestone login dialog should be displayed. This should only be used when using MilestonePSTools interactively.</maml:para> <maml:para>REQUIREMENTS - Requires an interactive PowerShell session.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>Values from pipeline by property name</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ManagementServer</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -AcceptEula</dev:code> <dev:remarks> <maml:para>If a Milestone connection profile named "default" already exists, a connection will be established to the management server address in that connection profile. If no such profile exists, a Milestone login dialog will be displayed. The "-AcceptEula" parameter is only required the first time the command is used by the current Windows user. If the command is used later under a different Windows user account, the "-AcceptEula" parameter will be required one time for that user.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Connect-Vms -Name 'MyVMS'</dev:code> <dev:remarks> <maml:para>If a Milestone connection profile named "MyVMS" already exists, a connection will be established to the management server address in that connection profile. If no such profile exists, a Milestone login dialog will be displayed. Upon successful logon, the named profile will be saved to disk, and calling `Connect-Vms -Name MyVMS` in the future will automatically connect to the same server address with the same credentials.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Connect-Vms -ServerAddress 'http://MyVMS' -Credential (Get-Credential)</dev:code> <dev:remarks> <maml:para>Prompt for a Windows or Active Directory credential, and then establish a connection to http://MyVMS.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Connect-Vms -Name 'MyVMS' -ServerAddress 'http://MyVMS' -Credential (Get-Credential)</dev:code> <dev:remarks> <maml:para>Prompt for a Windows or Active Directory credential, and then establish a connection to http://MyVMS. Upon successful connection, a connection profile named "MyVMS" will be added or updated.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 5 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog</dev:code> <dev:remarks> <maml:para>Show a Milestone login dialog.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 6 --------------------------</maml:title> <dev:code>Connect-Vms -Name 'MyVMS' -ShowDialog</dev:code> <dev:remarks> <maml:para>Show a Milestone login dialog, and on successful connection, add or update the connection profile named "MyVMS".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Connect-Vms/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>ConvertFrom-ConfigurationApiProperties</command:name> <command:verb>ConvertFrom</command:verb> <command:noun>ConfigurationApiProperties</command:noun> <maml:description> <maml:para>Converts a complex Milestone Configuration API propery collection into a hashtable</maml:para> </maml:description> </command:details> <maml:description> <maml:para>When accessing property collections like $hardware.HardwareDriverSettingsFolder.HardwareDriverSettings[0].HardwareDriverSettingsChildItems[0] it can be difficult to figure out how to access the values, and how to find the display names of those values for "enum" style properties. The property keys also have verbose names like stream:0.0.1/FPS/<guid> for example.</maml:para> <maml:para>This function accepts a property collection, and returns a hashtable with easy to read key names, and either raw values, or "display" values.</maml:para> <maml:para>If Get-Culture returns anything other than en-US, and you use the UseDisplayNames switch, a translated value will be provided if available.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>ConvertFrom-ConfigurationApiProperties</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies a Properties collection as found on $hardware.HardwareDriverSettingsFolder.HardwareDriverSettings[0].HardwareDriverSettingsChildItems[0]</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationApiProperties</command:parameterValue> <dev:type> <maml:name>ConfigurationApiProperties</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseDisplayNames</maml:name> <maml:description> <maml:para>Specifies that the display name for each value should be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies a Properties collection as found on $hardware.HardwareDriverSettingsFolder.HardwareDriverSettings[0].HardwareDriverSettingsChildItems[0]</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationApiProperties</command:parameterValue> <dev:type> <maml:name>ConfigurationApiProperties</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseDisplayNames</maml:name> <maml:description> <maml:para>Specifies that the display name for each value should be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>ConvertFrom-ConfigurationApiProperties -Properties (Get-VmsHardware | Select-Object -First 1).HardwareDriverSettingsFolder.HardwareDriverSettings[0].HardwareDriverSettingsChildItems[0].Properties -UseDisplayNames</dev:code> <dev:remarks> <maml:para>Gets general settings properties from the first hardware device returned by Get-VmsHardware, and returns a hashtable with the keys and display values.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/ConvertFrom-ConfigurationApiProperties/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>ConvertFrom-ConfigurationItem</command:name> <command:verb>ConvertFrom</command:verb> <command:noun>ConfigurationItem</command:noun> <maml:description> <maml:para>Converts a generic Configuration API item to the strongly-typed version of that object type.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Converts a generic Configuration API item to the strongly-typed version of that object type. For example, a Configuration Item representing a camera has an ItemType of Camera, and a path like 'Camera[a6756a0e-886a-4050-a5a5-81317743c32a]'. Some commands require a strongly-typed Camera object as a parameter, so if you have a generic item like you get from Find-ConfigurationItem or Get-ConfigurationItem, you can convert that item to a strongly typed class by piping that item to ConvertFrom-ConfigurationItem.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>ConvertFrom-ConfigurationItem</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone Configuration API 'Path' value of the configuration item. For example, 'Hardware[a6756a0e-886a-4050-a5a5-81317743c32a]' where the guid is the ID of an existing Hardware item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies the Milestone 'ItemType' value such as 'Camera', 'Hardware', or 'InputEvent'</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies the Milestone 'ItemType' value such as 'Camera', 'Hardware', or 'InputEvent'</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone Configuration API 'Path' value of the configuration item. For example, 'Hardware[a6756a0e-886a-4050-a5a5-81317743c32a]' where the guid is the ID of an existing Hardware item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>Not all ItemType's available through the Configuration API have matching "strongly typed" classes, so for less commonly used item types, you may see an error when using this function.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Find-ConfigurationItem -ItemType Camera -EnableFilter Enabled | ConvertFrom-ConfigurationItem</dev:code> <dev:remarks> <maml:para>Finds all enabled cameras and converts them to Camera objects. This should work faster than 'Get-VmsHardware | Where-Object Enabled | Get-VmsCamera | Where-Object Enabled'</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/ConvertFrom-ConfigurationItem/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>ConvertFrom-GisPoint</command:name> <command:verb>ConvertFrom</command:verb> <command:noun>GisPoint</command:noun> <maml:description> <maml:para>Converts Milestone's internal representation of a GPS coordinate to a [System.Device.Location.GeoCoordinate] object.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Milestone stores GPS coordinates as X,Y coordinates on a standard coordinate plane. For example, the coordinates 47.25726, -122.51608 are represented in Milestone as "POINT (-122.51608 47.25726)" where the latitude and longitude are reversed. An unset coordinate for a camera is represented as "POINT EMPTY".</maml:para> <maml:para>This function converts Milestone's GisPoint property string into a [System.Device.Location.GeoCoordinate] object which has a ToString() method which will properly format the coordinates. If the coordinates are unset in Milestone, then you will receive the same object but the position will be defined as "Unknown".</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>ConvertFrom-GisPoint</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>GisPoint</maml:name> <maml:description> <maml:para>Specifies the GisPoint value to convert to a GeoCoordinate. Milestone stores GisPoint data in the format "POINT ([longitude] [latitude])" or "POINT EMPTY".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>GisPoint</maml:name> <maml:description> <maml:para>Specifies the GisPoint value to convert to a GeoCoordinate. Milestone stores GisPoint data in the format "POINT ([longitude] [latitude])" or "POINT EMPTY".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Device.Location.GeoCoordinate</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Select-Camera | ConvertFrom-GisPoint</dev:code> <dev:remarks> <maml:para>Opens a camera selection dialog and pipes the camera to ConvertFrom-GisPoint. The GisPoint parameter accepts the value from the pipeline by property name and the Camera object's coordinates are stored in a property with a matching name.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/ConvertFrom-GisPoint/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>ConvertFrom-Snapshot</command:name> <command:verb>ConvertFrom</command:verb> <command:noun>Snapshot</command:noun> <maml:description> <maml:para>Converts from the output provided by Get-Snapshot to a [System.Drawing.Image] object.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Converts from the output provided by Get-Snapshot to a [System.Drawing.Image] object. Don't forget to call Dispose() on Image when you're done with it!</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>ConvertFrom-Snapshot</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Bytes"> <maml:name>Content</maml:name> <maml:description> <maml:para>Specifies an array of bytes as is returned by `Get-Snapshot`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Byte[]</command:parameterValue> <dev:type> <maml:name>Byte[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Bytes"> <maml:name>Content</maml:name> <maml:description> <maml:para>Specifies an array of bytes as is returned by `Get-Snapshot`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Byte[]</command:parameterValue> <dev:type> <maml:name>Byte[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>Accepts a byte array, and will accept the byte array from Get-Snapshot by property name. The property name for</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>Accepts a byte array, and will accept the byte array from Get-Snapshot by property name. The property name for</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>Accepts a byte array, and will accept the byte array from Get-Snapshot by property name. The property name for</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>[System.Drawing.Image]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>[System.Drawing.Image]</maml:name> </dev:type> <maml:description> <maml:para>Don't forget to call Dispose() when you're done with the image!</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>$image = Select-Camera | Get-Snapshot -Live | ConvertFrom-Snapshot $image.Size</dev:code> <dev:remarks> <maml:para>Get's a live snapshot from the camera selected from the camera selection dialog, converts it to a System.Drawing.Image object and saves it to $image</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/ConvertFrom-Snapshot/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>ConvertTo-GisPoint</command:name> <command:verb>ConvertTo</command:verb> <command:noun>GisPoint</command:noun> <maml:description> <maml:para>Translates coordinates to a Milestone GisPoint value suitable for updating GPS coordinates on a Milestone device.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>GPS coordinates in Milestone are stored an X,Y order in the format "POINT (X Y)". As such, if you have a latitude and longitude value, you must reverse them and format them properly for Milestone to accept the new GisPoint value.</maml:para> <maml:para>In some cases, the GisPoint property can have a third value representing altitude or elevation. This is expressed in the format "POINT (X Y Z)".</maml:para> <maml:para>If the Coordinate object, Coordinates string, or Altitude value are provided, then the cmdlet will output a three-part GisPoint value.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>ConvertTo-GisPoint</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Altitude</maml:name> <maml:description> <maml:para>Specifies the altitude in meters, relative to sea level.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Latitude</maml:name> <maml:description> <maml:para>A latitude value in the form of a double.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Longitude</maml:name> <maml:description> <maml:para>A longitude value in the form of a double.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>ConvertTo-GisPoint</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Coordinate</maml:name> <maml:description> <maml:para>A GeoCoordinate object with Latitude and Longitude properties.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">GeoCoordinate</command:parameterValue> <dev:type> <maml:name>GeoCoordinate</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>ConvertTo-GisPoint</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Coordinates</maml:name> <maml:description> <maml:para>A coordinate written in the format "latitude, longitude", or "latitude, longitude, altitude".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Altitude</maml:name> <maml:description> <maml:para>Specifies the altitude in meters, relative to sea level.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Coordinate</maml:name> <maml:description> <maml:para>A GeoCoordinate object with Latitude and Longitude properties.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">GeoCoordinate</command:parameterValue> <dev:type> <maml:name>GeoCoordinate</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Coordinates</maml:name> <maml:description> <maml:para>A coordinate written in the format "latitude, longitude", or "latitude, longitude, altitude".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Latitude</maml:name> <maml:description> <maml:para>A latitude value in the form of a double.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Longitude</maml:name> <maml:description> <maml:para>A longitude value in the form of a double.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Double</command:parameterValue> <dev:type> <maml:name>Double</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>ConvertTo-GisPoint -Coordinates '40, -122'</dev:code> <dev:remarks> <maml:para>Produces a string like "POINT (-122 40)"</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>ConvertTo-GisPoint -Latitude 40 -Longitude -122</dev:code> <dev:remarks> <maml:para>Produces a string like "POINT (-122 40)"</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>ConvertTo-GisPoint -Latitude 40 -Longitude -122 -Altitude 125</dev:code> <dev:remarks> <maml:para>Produces a string like "POINT (-122 40 125)"</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title> <dev:code>ConvertTo-GisPoint -Coordinates '40, -122, 125'</dev:code> <dev:remarks> <maml:para>Produces a string like "POINT (-122 40 125)"</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/ConvertTo-GisPoint/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Copy-VmsClientProfile</command:name> <command:verb>Copy</command:verb> <command:noun>VmsClientProfile</command:noun> <maml:description> <maml:para>Creates a copy of an existing client profile with the specified name and description.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Copy-VmsClientProfile` cmdlet creates an identical copy of an existing client profile with the specified name and optional description.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Copy-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies the name of the new client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies the name of the new client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$newProfile = Get-VmsClientProfile | Select-Object -First 1 | Copy-VmsClientProfile -NewName 'New Smart Client Profile' $general = $newProfile | Get-VmsClientProfileAttributes -Namespace General $general.ApplicationRememberPassword.Value = 'Unavailable' $general.ApplicationSnapshotPath.Value = 'D:\Snapshots' $general.ApplicationSnapshotPath.Locked = $true $newProfile | Set-VmsClientProfileAttributes -Attributes $general</dev:code> <dev:remarks> <maml:para>Creates a copy of the first Smart Client Profile entry (usually the entry with the highest priority). Then retrieves the settings defined in the "General" tab in Management Client. The ability to remember passwords is disabled, and the snapshot path is locked to "D:\Snapshots".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$existingProfile = Get-VmsClientProfile | Select-Object -First 1 $newProfile = $existingProfile | Copy-VmsClientProfile -NewName 'New Smart Client Profile' | Set-VmsClientProfile -Description "Copy of $($existingProfile.Name)" -PassThru $newProfile</dev:code> <dev:remarks> <maml:para>Creates a copy of the first Smart Client Profile entry (usually the entry with the highest priority). Then updates the description to "Copy of [original profile name]".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Copy-VmsClientProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Copy-VmsRole</command:name> <command:verb>Copy</command:verb> <command:noun>VmsRole</command:noun> <maml:description> <maml:para>Creates a new role based on an existing role.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Copy-VmsRole` cmdlet creates a new role based on an existing role. The new role will be configured the same as the source role and must have a unique name.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Copy-VmsRole</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies a new, unique name for the new role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies a new, unique name for the new role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRole -RoleType Adminstrative | Copy-VmsRole -NewName 'Copy of Administrators role'</dev:code> <dev:remarks> <maml:para>Creates a new role with the same settings as the default Administrators role.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Copy-VmsRole/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Copy-VmsView</command:name> <command:verb>Copy</command:verb> <command:noun>VmsView</command:noun> <maml:description> <maml:para>Copies one or more XProtect Smart Client views to a destination view group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Copies one or more XProtect Smart Client views to a destination view group. The elements copied include the name, description, layout, and all view item definitions.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Copy-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies the source view to be copied.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View[]</command:parameterValue> <dev:type> <maml:name>View[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DestinationViewGroup</maml:name> <maml:description> <maml:para>Specifies the view group within which a copy of the specified view will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Overwrite a view with the same name if it exists. If a view exists and the -Force switch is omitted, the name of the copy will be appended with " - Copy".</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the newly created view should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DestinationViewGroup</maml:name> <maml:description> <maml:para>Specifies the view group within which a copy of the specified view will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Overwrite a view with the same name if it exists. If a view exists and the -Force switch is omitted, the name of the copy will be appended with " - Copy".</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the newly created view should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies the source view to be copied.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View[]</command:parameterValue> <dev:type> <maml:name>View[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $viewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $view = $viewGroup | Get-VmsViewGroup -Recurse | Get-VmsView | Out-GridView -OutputMode Single $newViewGroup = New-VmsViewGroup -Name 'MilestonePSTools' -Force | New-VmsViewGroup -Name 'Example 1' -Force $view | Copy-VmsView -Destination $newViewGroup -PassThru</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we retrieve a list of top-level view groups. After selecting view group, a list of views in that view group are presented.</maml:para> <maml:para>Once a view is selected, a new view group named 'MilestonePSTools' with a subgroup named 'Example 1' is created. A copy of the selected view is then placed in the new subgroup under the new top-level group 'MilestonePSTools'.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Copy-VmsView/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Copy-VmsViewGroup</command:name> <command:verb>Copy</command:verb> <command:noun>VmsViewGroup</command:noun> <maml:description> <maml:para>Copies one or more XProtect Smart Client view groups.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Copies one or more XProtect Smart Client view groups to another top-level view group, or as a child group to a specified destination view group.</maml:para> <maml:para>If a view group with the same name already exists, the string " - Copy" will be appended repeatedly until the new name of the top-level view group is unique. The entire view group and view hierarchy will be duplicated in the destination view group.</maml:para> <maml:para>Permissions from the source view group will not be copied to the destination.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Copy-VmsViewGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the source view group to be copied.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup[]</command:parameterValue> <dev:type> <maml:name>ViewGroup[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DestinationViewGroup</maml:name> <maml:description> <maml:para>Specifies an optional destination view group. When omitted, the selected view group will be copied to the root folder as a top-level view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that if a view group with the same name exists in the destination view group, the existing view group should be overwritten as long as the ID is different than the source view group. This is likely to throw an error until a Configuration API bug is resolved on the Management Server in 2022 R2, or via a cumulative patch for older versions of the VMS.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the new view group copy should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DestinationViewGroup</maml:name> <maml:description> <maml:para>Specifies an optional destination view group. When omitted, the selected view group will be copied to the root folder as a top-level view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that if a view group with the same name exists in the destination view group, the existing view group should be overwritten as long as the ID is different than the source view group. This is likely to throw an error until a Configuration API bug is resolved on the Management Server in 2022 R2, or via a cumulative patch for older versions of the VMS.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the new view group copy should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the source view group to be copied.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup[]</command:parameterValue> <dev:type> <maml:name>ViewGroup[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $viewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $newViewGroup = $viewGroup | Copy-VmsViewGroup -PassThru $newViewGroup</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we retrieve a list of top-level view groups. After selecting view group, a copy of the view group is created. Both the source and destination view groups will be top-level view groups. The copy will be named the same, as the original, except the text " - Copy" will be appended to the end of the name.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$viewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $subgroup = $viewGroup | Get-VmsViewGroup | Select-Object -First 1 $destination = New-VmsViewGroup -Name 'MilestonePSTools' -Force | New-VmsViewGroup -Name 'Subgroup' -Force $subGroup | Copy-VmsViewGroup -DestinationViewGroup $destination -PassThru</dev:code> <dev:remarks> <maml:para>The first subgroup from the selected top-level view group is copied to a subgroup of a new top-level view group named "MilestonePSTools", demonstrating that both your source, and destination view groups can be child view groups if needed.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Copy-VmsViewGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Disconnect-Vms</command:name> <command:verb>Disconnect</command:verb> <command:noun>Vms</command:noun> <maml:description> <maml:para>Disconnects the current VMS logon session(s).</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Disconnect-Vms` cmdlet closes the current VMS logon session(s). If not already connected to a VMS, the cmdlet does nothing and does not throw an error.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Disconnect-Vms</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Disconnect-Vms</dev:code> <dev:remarks> <maml:para>Closes any open VMS logon sessions.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Disconnect-Vms/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Export-VmsClientProfile</command:name> <command:verb>Export</command:verb> <command:noun>VmsClientProfile</command:noun> <maml:description> <maml:para>Exports one or more smart client profiles to a JSON file.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Export-VmsClientProfile` cmdlet exports one or more smart client profiles to a JSON file. The resulting file can be imported on the same VMS to restore lost or changed client profiles to a previous state, or it can be imported on a different VMS to copy client profiles from one site to another.</maml:para> <maml:para>When importing profiles from a more advanced VMS tier to a less advanced tier, such as XProtect Corporate to XProtect Professional+, you may observe errors during import if a client profile attribute is not present on the less advanced tier. However, the attributes that do exist on the product tier should be applied as long as the ErrorAction preference is not set to 'Stop'.</maml:para> <maml:para>On a default installation of Milestone XProtect Corporate, the size of the JSON file containing the exported Smart Client Profiles is ~13KB per client profile without using the `-ValueTypeInfo` switch, or ~50KB per client profile with the `-ValueTypeInfo` switch. There is no functional benefit to including the ValueTypeInfo, but it does eliminate ambiguity when you're unsure what the valid values are for a given client profile attribute.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Export-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the file path, including filename, with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile[]</command:parameterValue> <dev:type> <maml:name>ClientProfile[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ValueTypeInfo</maml:name> <maml:description> <maml:para>Include ValueTypeInfo data, if available, for each attribute.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile[]</command:parameterValue> <dev:type> <maml:name>ClientProfile[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the file path, including filename, with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ValueTypeInfo</maml:name> <maml:description> <maml:para>Include ValueTypeInfo data, if available, for each attribute.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsClientProfile | Export-VmsClientProfile -Path .\clientprofiles.json</dev:code> <dev:remarks> <maml:para>Export all smart client profiles and their attributes to a file named 'clientprofiles.json' in the current folder.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsClientProfile -DefaultProfile | Export-VmsClientProfile -Path .\defaultprofile.json</dev:code> <dev:remarks> <maml:para>Export the default smart client profiles and it's attributes to a file named 'defaultprofile.json' in the current folder.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsClientProfile -DefaultProfile | Export-VmsClientProfile -Path .\defaultprofile.json -ValueTypeInfo</dev:code> <dev:remarks> <maml:para>Export the default smart client profiles and it's attributes to a file named 'defaultprofile.json' in the current folder. The presence of the `-ValueTypeInfo` switch means the JSON file will contain information about the valid values for each attribute.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Export-VmsClientProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Export-VmsHardware</command:name> <command:verb>Export</command:verb> <command:noun>VmsHardware</command:noun> <maml:description> <maml:para>Exports hardware device information from an XProtect VMS to either CSV or Excel format.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Export-VmsHardware` cmdlet exports hardware device information from an XProtect VMS to either CSV or Excel format. The export format is chosen based on the file extension you specify in the `Path` or `LiteralPath` parameter. When exporting to a file with the `.csv` extension, each row of the CSV file will represent a single device. By default, it will only export camera device information, but you may specify additional device types with the `DeviceType` parameter.</maml:para> <maml:para>When exporting to a file with the `.xlsx` extension, a much more detailed export is performed. A worksheet will be created containing basic hardware information including name, address, credentials, and driver, and additional worksheets will be created for hardware general settings, ptz settings, cameras, camera general settings, camera stream settings, and so on.</maml:para> <maml:para>By default, the command will only export records for enabled devices , but you can change that behavior by setting `EnableFilter` to `All` or `Disabled` to export information for all devices, or only disabled devices respectively.</maml:para> <maml:para>The output from `Export-VmsHardware` can be used directly with the `Import-VmsHardware` cmdlet to the hardware on a new management server, or to restore the hardware to the same management server after removign them, or to update settings on hardware already added to the VMS after modifying the CSV or XLSX files produced by an export.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Export-VmsHardware</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Delimiter</maml:name> <maml:description> <maml:para>Use this parameter to override the default delimiter ",". This parameter is only used when the imported file is in CSV format.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Char</command:parameterValue> <dev:type> <maml:name>Char</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DeviceType</maml:name> <maml:description> <maml:para>Specifies one or more device types to include in the export. By default, only Camera device types are included.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Input</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies whether to return information about enabled object, disabled objects, or all.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">All</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Disabled</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more hardware devices. Use Get-VmsHardware to retrieve hardware objects.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiteralPath</maml:name> <maml:description> <maml:para>Specifies a literal file path without interpreting wildcard characters.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Export-VmsHardware</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a path where exported hardware information should be saved. The file extension should be ".csv" or ".xlsx" depending on whether you prefer to have a basic CSV file export, or a detailed Excel export.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Delimiter</maml:name> <maml:description> <maml:para>Use this parameter to override the default delimiter ",". This parameter is only used when the imported file is in CSV format.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Char</command:parameterValue> <dev:type> <maml:name>Char</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DeviceType</maml:name> <maml:description> <maml:para>Specifies one or more device types to include in the export. By default, only Camera device types are included.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Input</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies whether to return information about enabled object, disabled objects, or all.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">All</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Disabled</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more hardware devices. Use Get-VmsHardware to retrieve hardware objects.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Delimiter</maml:name> <maml:description> <maml:para>Use this parameter to override the default delimiter ",". This parameter is only used when the imported file is in CSV format.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Char</command:parameterValue> <dev:type> <maml:name>Char</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DeviceType</maml:name> <maml:description> <maml:para>Specifies one or more device types to include in the export. By default, only Camera device types are included.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies whether to return information about enabled object, disabled objects, or all.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more hardware devices. Use Get-VmsHardware to retrieve hardware objects.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiteralPath</maml:name> <maml:description> <maml:para>Specifies a literal file path without interpreting wildcard characters.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a path where exported hardware information should be saved. The file extension should be ".csv" or ".xlsx" depending on whether you prefer to have a basic CSV file export, or a detailed Excel export.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>The ImportExcel module is used to import and export files with a `.xlsx` extension. If the ImportExcel module is available on the host computer, it will be loaded from there. If the ImportExcel module cannot be found, an embedded version of the module will be imported automatically.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Export-VmsHardware -Path hardware.csv</dev:code> <dev:remarks> <maml:para>Gets all hardware available on the VMS and exports the enabled cameras to a CSV file.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>$recorder = Get-VmsRecordingServer | Out-GridView -OutputMode Multiple $recorder | Get-VmsHardware | Export-VmsHardware -Path hardware.csv</dev:code> <dev:remarks> <maml:para>This example will prompt for you to select one or more recording servers, and then export all the enabled cameras from all hardware on those recording servers to a CSV file.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>$recorder = Get-VmsRecordingServer | Out-GridView -OutputMode Multiple $recorder | Get-VmsHardware | Export-VmsHardware -Path hardware.xlsx -DeviceType Camera, Microphone, Speaker, Metadata, Input, Output</dev:code> <dev:remarks> <maml:para>This example will prompt for you to select one or more recording servers, and then export all the enabled cameras, microphones, speakers, metadata, inputs, and outputs on all hardware on those recording servers to a CSV file.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title> <dev:code>$recorder = Get-VmsRecordingServer | Out-GridView -OutputMode Multiple $recorder | Get-VmsHardware | Export-VmsHardware -Path hardware.xlsx -DeviceType Camera, Metadata -EnableFilter All</dev:code> <dev:remarks> <maml:para>This example will prompt for you to select one or more recording servers, and then export all enabled, and disabled cameras, and metadata on all hardware on those recording servers to a CSV file.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title> <dev:code>$hardware = Get-VmsHardware | Out-GridView -OutputMode Multiple $hardware | Export-VmsHardware -Path hardware.xlsx</dev:code> <dev:remarks> <maml:para>This example will prompt for you to select one or more hardware records, and then export all enabled cameras on the selected hardware to a CSV file.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Export-VmsHardware/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Export-VmsLicenseRequest</command:name> <command:verb>Export</command:verb> <command:noun>VmsLicenseRequest</command:noun> <maml:description> <maml:para>Exports a Milestone XProtect VMS license request file.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Exports a Milestone XProtect VMS license request file which can be uploaded to the My Milestone portal. The activated license file can be imported using the Import-VmsLicense function.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Export-VmsLicenseRequest</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a path, including file name, where the license request file should be saved. Normally license request files are expected to have a .LRQ extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>If a file already exists at the specified path, the file will be overwritten.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>The new license file should be returned as a FileInfo object.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>If a file already exists at the specified path, the file will be overwritten.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>The new license file should be returned as a FileInfo object.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a path, including file name, where the license request file should be saved. Normally license request files are expected to have a .LRQ extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.IO.FileInfo</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>System.IO.FileInfo</maml:name> </dev:type> <maml:description> <maml:para>Support for license management in Milestone's MIP SDK / Configuration API was introduced in version 2020 R2. If the Management Server version is earlier than 2020 R2, this function will not work.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Export-VmsLicenseRequest -Path ~\Downloads\license.lrq -Force</dev:code> <dev:remarks> <maml:para>Writes a license request file to license.lrq, and overwrites an existing file if it already exists.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Export-VmsLicenseRequest/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Export-VmsRole</command:name> <command:verb>Export</command:verb> <command:noun>VmsRole</command:noun> <maml:description> <maml:para>Exports one or more roles to a JSON file.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Export-VmsRole` cmdlet exports one or more roles to a JSON file. The resulting file can be imported on the same VMS to restore lost or changed roles, or it can be imported on a different VMS to copy or synchronize roles from one site to another.</maml:para> <maml:para>When importing roles with references to time profile names, smart client profile names, or external login provider names that do not exist, the associated role properties will be skipped and the remaining properties will be imported. If you later create the missing configuration items and re-import the role(s) with the `-Force` switch, the roles will be updated accordingly.</maml:para> <maml:para>On a default installation of Milestone XProtect Corporate, the size of the JSON file containing the exported roles is ~11KB per role. The file size will vary significantly depending on the number of role members.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Export-VmsRole</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies one or more roles to export. If no role is provided, all roles will be exported.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a file path with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the role definition(s) to the pipeline instead, or in addition to saving them to a file on disk.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the role definition(s) to the pipeline instead, or in addition to saving them to a file on disk.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a file path with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies one or more roles to export. If no role is provided, all roles will be exported.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Management.Automation.PSCustomObject</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Export-VmsRole -Path .\roles.json</dev:code> <dev:remarks> <maml:para>Export all roles to a file named 'roles.json' in the current folder.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRole -RoleType Adminstrative | Export-VmsRole -Path .\administrators-role.json</dev:code> <dev:remarks> <maml:para>Export the Administrators role to a file named 'administrators-role.json' in the current folder.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>$roleDefinitions = Export-VmsRole -PassThru $roleDefinitions</dev:code> <dev:remarks> <maml:para>Export all roles to a variable named `$roleDefinitions` instead of exporting the roles to a file on disk. The variable is the same object or collection of objects that, when used with the `Path` parameter, is converted to JSON and written to disk.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Export-VmsRole/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Export-VmsRule</command:name> <command:verb>Export</command:verb> <command:noun>VmsRule</command:noun> <maml:description> <maml:para>Exports the specified rule(s) into a simplified and portable JSON format.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Export-VmsRule` cmdlet exports rules to simplified PSCustomObjects and/or JSON objects on disk. These exported rules can be used for reporting, or for rebuilding rules on the same, or a different XProtect Management Server.</maml:para> <maml:para>Note that when importing rules, the ID's of the devices, time profiles, events, and other items referenced in the rule definitions must exist with either the same ID, or at least the same name, otherwise the rules will fail to import.</maml:para> <maml:para>When importing rules with references to user-defined events, generic events, or analytic events, it may be enough for the properties in the rule definitions to reference the events by name. However, for rules with references to specific cameras or other devices, or device groups, you must modify the rule definitions to include the item "Paths" or ID's as needed prior to importing.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Export-VmsRule</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the full path to a file where the JSON formatted rule definitions should be exported. If the file already exists, you must include `-Force` to indicate that the file should be overwritten.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies the file at the path specified should be overwritten if it exists.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the simplified rule definition should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Rule</maml:name> <maml:description> <maml:para>Specifies one or more rules returned by Get-VmsRule. When omitted, all rules will be exported. Rules may be provided by name and names will be tab-completed.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Rule</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>ConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies the file at the path specified should be overwritten if it exists.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the simplified rule definition should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the full path to a file where the JSON formatted rule definitions should be exported. If the file already exists, you must include `-Force` to indicate that the file should be overwritten.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Rule</maml:name> <maml:description> <maml:para>Specifies one or more rules returned by Get-VmsRule. When omitted, all rules will be exported. Rules may be provided by name and names will be tab-completed.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Rule</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>ConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>PSCustomObject</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Milestone's Configuration API does not support all possible types of rules, and some rules defined in Management Client may not be returned by Get-VmsRule or exported with Export-VmsRule. See the \ Rules Configuration\ (https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&tree=tree_4.html)section of the configuration api getting-started guide in Milestone's MIP SDK documentation for more information.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Export-VmsRule -Path ~\Desktop\rules.json</dev:code> <dev:remarks> <maml:para>Exports all rules in JSON format to a file named "rules.json" on the desktop of the current user profile.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VmsRule -Name *Default* | Export-VmsRule -Path ~\Desktop\default-rules.json</dev:code> <dev:remarks> <maml:para>Exports all rules with the word "Default" in the name to a file named "default-rules.json" on the desktop of the current user profile.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Get-VmsRule -Name *Default* | Export-VmsRule -PassThru | Foreach-Object { $_ | New-VmsRule -Name "Copy of $($_.DisplayName)" }</dev:code> <dev:remarks> <maml:para>Exports all rules with the word "Default" in the name and then creates copies with names prepended with "Copy of ".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Export-VmsRule/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Export-VmsViewGroup</command:name> <command:verb>Export</command:verb> <command:noun>VmsViewGroup</command:noun> <maml:description> <maml:para>Exports an XProtect Smart Client view group and all contents to a JSON file.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Exports an XProtect Smart Client view group and all contents to a JSON file which can be used to import the view group on the same Management Server, or a different Management Server.</maml:para> <maml:para>The selected view group can be a top-level view group, or a child view group. However, if you import a view group which has directly-attached views that are not nested in a child view group, those views will be lost when importing the view group as a top-level view group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Export-VmsViewGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>The view group to be exported, along with all child members, recursively.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to a file where a JSON representation of the view group will be saved</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the destination directory should be created if it doesn't exist, and if the destination file exists, it should be overwritten.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the destination directory should be created if it doesn't exist, and if the destination file exists, it should be overwritten.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to a file where a JSON representation of the view group will be saved</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>The view group to be exported, along with all child members, recursively.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $viewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $viewGroup | Export-VmsViewGroup -Path C:\temp\viewgroup.json</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we prompt for a view group selection. The selected view group is then exported to a json file at C:\temp\viewgroup.json.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Export-VmsViewGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Find-ConfigurationItem</command:name> <command:verb>Find</command:verb> <command:noun>ConfigurationItem</command:noun> <maml:description> <maml:para>Quickly finds configuration items matching a specified Name, ItemType and Properties filters</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Quickly finds configuration items matching a specified Name, ItemType and Properties filters by using the QueryItems method available in the Configuration API.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Find-ConfigurationItem</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies all, or part of the display name of the configuration item to search for. For example, if you want to find a camera named "North West Parking" and you specify the value 'Parking', you will get results for any camera where 'Parking' appears in the name somewhere. The search is not case sensitive.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies the type(s) of items to include in the results. The default is to include only 'Camera' items.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies whether all matching items should be included, or whether only enabled, or disabled items should be included in the results. The default is to include all items regardless of state.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">All</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Disabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>All</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>An optional hashtable of additional property keys and values to filter results. Properties must be string types, and the results will be included if the property key exists, and the value contains the provided string.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@{}</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies whether all matching items should be included, or whether only enabled, or disabled items should be included in the results. The default is to include all items regardless of state.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>All</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies the type(s) of items to include in the results. The default is to include only 'Camera' items.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies all, or part of the display name of the configuration item to search for. For example, if you want to find a camera named "North West Parking" and you specify the value 'Parking', you will get results for any camera where 'Parking' appears in the name somewhere. The search is not case sensitive.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>An optional hashtable of additional property keys and values to filter results. Properties must be string types, and the results will be included if the property key exists, and the value contains the provided string.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@{}</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>The QueryItems method was added to Configuration API on the Milestone XProtect Management Server starting with version 2020 R2. If your Milestone VMS version is 2020 R1 or earlier, you will receive an error when using this command.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Find-ConfigurationItem -ItemType Camera -Name Parking</dev:code> <dev:remarks> <maml:para>Returns a generic Configuration API item for each camera containing the word "parking" anywhere in the display name.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Find-ConfigurationItem -ItemType Hardware -Properties @{ Address = '192.168.1.101' }</dev:code> <dev:remarks> <maml:para>Returns a generic Configuration API item for each hardware with the IP address 192.168.1.101 present in the 'Address' property of the hardware device. Hardware typically have an address in the format of 'http://192.168.1.101/'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Find-ConfigurationItem -ItemType Camera -Name Parking | ConvertFrom-ConfigurationItem</dev:code> <dev:remarks> <maml:para>Finds every camera containing the word "parking" anywhere in the display name and converts it from a generic Configuration API item to a strongly-typed Camera object such as what you will get when using Get-VmsCamera.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Find-ConfigurationItem/</maml:uri> </maml:navigationLink> <maml:navigationLink> <maml:linkText>MIP SDK Docs - QueryItems</maml:linkText> <maml:uri>https://doc.developer.milestonesys.com/html/index.html?base=miphelp/class_video_o_s_1_1_configuration_api_1_1_client_service_1_1_query_items.html&tree=tree_search.html?search=queryitems</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Find-VmsVideoOSItem</command:name> <command:verb>Find</command:verb> <command:noun>VmsVideoOSItem</command:noun> <maml:description> <maml:para>Find items in the system configuration based on the provided search text and optional filters.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Find items in the system configuration based on the provided search text and optional filters. In a large, multi-site environment, it can be faster to find known items by name.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Find-VmsVideoOSItem</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>SearchText</maml:name> <maml:description> <maml:para>Specifies one or more values to search for. Item names and their property keys and values will be searched. Note that this means a search for "EdgeSupported" will return any item with the EdgeSupported property, whether that property value is "Yes", or "No".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FolderType</maml:name> <maml:description> <maml:para>Specifies an optional FolderType value of No, SystemDefined, or UserDefined. If you are searching for camera, or hardware objects, you should set FolderType to "No" unless you also want to receive camera groups and hardware folders.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">No</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">SystemDefined</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">UserDefined</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">FolderType</command:parameterValue> <dev:type> <maml:name>FolderType</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Kind</maml:name> <maml:description> <maml:para>Specifies the ID or name of an item "Kind". For a list of supported values, run `[VideoOS.Platform.Kind] | Get-Member -Static -MemberType Property | Where-Object Definition -match 'static guid'`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxCount</maml:name> <maml:description> <maml:para>Specifies the maximum number of search results to return. A lower number can result in faster execution.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxSeconds</maml:name> <maml:description> <maml:para>Specifies the maximum number of seconds before the search should be stopped, even if no items have been found yet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FolderType</maml:name> <maml:description> <maml:para>Specifies an optional FolderType value of No, SystemDefined, or UserDefined. If you are searching for camera, or hardware objects, you should set FolderType to "No" unless you also want to receive camera groups and hardware folders.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FolderType</command:parameterValue> <dev:type> <maml:name>FolderType</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Kind</maml:name> <maml:description> <maml:para>Specifies the ID or name of an item "Kind". For a list of supported values, run `[VideoOS.Platform.Kind] | Get-Member -Static -MemberType Property | Where-Object Definition -match 'static guid'`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxCount</maml:name> <maml:description> <maml:para>Specifies the maximum number of search results to return. A lower number can result in faster execution.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MaxSeconds</maml:name> <maml:description> <maml:para>Specifies the maximum number of seconds before the search should be stopped, even if no items have been found yet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>SearchText</maml:name> <maml:description> <maml:para>Specifies one or more values to search for. Item names and their property keys and values will be searched. Note that this means a search for "EdgeSupported" will return any item with the EdgeSupported property, whether that property value is "Yes", or "No".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.Item</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Find-VmsVideoOSItem -SearchText 'Playground' -Kind Camera -FolderType No</dev:code> <dev:remarks> <maml:para>Finds all camera items with the case-insensitive string "Playground" in the name. By specifying `-FolderType -No`, only "leaf" items are returned and camera groups will not be included.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Find-VmsVideoOSItem/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Find-XProtectDevice</command:name> <command:verb>Find</command:verb> <command:noun>XProtectDevice</command:noun> <maml:description> <maml:para>Finds devices and provides the names of the parent hardware and recording server to help quickly locate devices by name.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Finds devices and provides the names of the parent hardware and recording server to help quickly locate devices by name. If searching for a child of a hardware object such as a camera or microphone, the name of the device(s) as well as their parent hardware object and recording server will be returned. When searching for a hardware object, only the hardware and recording server names will be returned.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Find-XProtectDevice</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies all or part of the IP or hostname of the hardware device to search for.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies whether all devices should be returned, or only enabled or disabled devices. Default is to return all matching devices.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">All</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Disabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>All</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies the ItemType such as Camera, Microphone, or InputEvent. Default is 'Camera'.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Hardware</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">InputEvent</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MacAddress</maml:name> <maml:description> <maml:para>Specifies all or part of the MAC address of the hardware device to search for. Note: Searching by MAC is significantly slower than searching by IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies name, or part of the name of the device(s) to find.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies an optional hash table of key/value pairs matching properties on the items you're searching for.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@{}</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ShowDialog</maml:name> <maml:description> <maml:para>{{ Fill ShowDialog Description }}</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies all or part of the IP or hostname of the hardware device to search for.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies whether all devices should be returned, or only enabled or disabled devices. Default is to return all matching devices.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>All</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies the ItemType such as Camera, Microphone, or InputEvent. Default is 'Camera'.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MacAddress</maml:name> <maml:description> <maml:para>Specifies all or part of the MAC address of the hardware device to search for. Note: Searching by MAC is significantly slower than searching by IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies name, or part of the name of the device(s) to find.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies an optional hash table of key/value pairs matching properties on the items you're searching for.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@{}</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ShowDialog</maml:name> <maml:description> <maml:para>{{ Fill ShowDialog Description }}</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>This function depends on Find-ConfigurationItem which is only supported on VMS versions from 2020 R2 and later.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Find-XProtectDevice -ItemType Hardware -Properties @{ Address = '192.168.1.101' }</dev:code> <dev:remarks> <maml:para>Finds all hardware devices on all recording servers where the Address contains the IP '192.168.1.101'</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Find-XProtectDevice -ItemType Camera -Name Parking</dev:code> <dev:remarks> <maml:para>Finds all cameras with the word 'Parking' appearing in the name and returns the camera names, and parent hardware and recording server names. The Name parameter is not case sensitive and does not support wildcards.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Find-XProtectDevice/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-BankTable</command:name> <command:verb>Get</command:verb> <command:noun>BankTable</command:noun> <maml:description> <maml:para>Enumerates Path for media database tables created by a Recording Server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The records returned by this function must represent media database folders with names matching the format used by Milestone. The format expected is GUID_TAG_TIMESTAMP where GUID is the id of a device, TAG is a string like LOCAL or ARCHIVE, and TIMESTAMP is a local timestamp in the format yyyy-MM-dd_HH-mm-ss.</maml:para> <maml:para>Each record returned by this function will have a DeviceId property of type [Guid], an EndTime property of type [DateTime] which will be a local timestamp representing the approximate time that folder was last added to, a Tag property representing the LOCAL or ARCHIVE string value describing the type of table, and a Path property with the full path to that folder on the file system.</maml:para> <maml:para>This function does not rely on cache.xml or archives_cache.xml in any way. As such, it can be used on a system with an invalid or missing cache. However, the accuracy of the timestamps is unreliable because they are based on the names of the folders on the filesystem which represent the time the Recording Server renamed that folder when it was converted from a live media database table to a local archive table.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-BankTable</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>The path to the media database. This must be the path to the folder containing the media database tables. For example, C:\MediaDatabase\4344cd14-0b12-4c18-8677-5d263c140af4 is the full path to the default "Local default" storage path. The ID for yours will be different, and if you need to find the ID, you can hold CTRL and click on the Storage tab of the Recording Server in Management Client. Then hover over the storage configuration and you will see the ID displayed in the tooltip.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>The GUID of one or more devices you want to retrieve tables for. If you omit this property, all tables for all devices will be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>The local DateTime indicating the oldest records to be retrieved from the media database. Since entire folders, each containing approximately one hour of video, will be retrieved, you could end up with video up to one hour older than requested.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>[DateTime]::MinValue</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>The local DateTime indicating the last records to be retrieved from the media database. Since entire folders, each containing approximately one hour of video, will be retrieved, you could end up with video up to one hour newer than requested.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>[DateTime]::MaxValue.AddHours(-1)</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>The GUID of one or more devices you want to retrieve tables for. If you omit this property, all tables for all devices will be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>The local DateTime indicating the last records to be retrieved from the media database. Since entire folders, each containing approximately one hour of video, will be retrieved, you could end up with video up to one hour newer than requested.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>[DateTime]::MaxValue.AddHours(-1)</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>The path to the media database. This must be the path to the folder containing the media database tables. For example, C:\MediaDatabase\4344cd14-0b12-4c18-8677-5d263c140af4 is the full path to the default "Local default" storage path. The ID for yours will be different, and if you need to find the ID, you can hold CTRL and click on the Storage tab of the Recording Server in Management Client. Then hover over the storage configuration and you will see the ID displayed in the tooltip.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>The local DateTime indicating the oldest records to be retrieved from the media database. Since entire folders, each containing approximately one hour of video, will be retrieved, you could end up with video up to one hour older than requested.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>[DateTime]::MinValue</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-BankTable C:\MediaDatabase\4344cd14-0b12-4c18-8677-5d263c140af4 -DeviceId "94275fef-b977-43f6-bf78-210c615b2967" | Copy-Item -Destination C:\Temp -Container -Recurse -Force</dev:code> <dev:remarks> <maml:para>Copy all media database tables for device with ID 94275fef-b977-43f6-bf78-210c615b2967 to C:\Temp</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-BankTable/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-CameraRecordingStats</command:name> <command:verb>Get</command:verb> <command:noun>CameraRecordingStats</command:noun> <maml:description> <maml:para>Get statistics on the recordings of one or more cameras including the number of recording or motion sequence, the amount of time in the given time period with recordings or motion, and the percent of time in the given time period with recordings or motion.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Long description</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-CameraRecordingStats</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the Id's of cameras for which to retrieve recording statistics</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the timestamp from which to start retrieving recording statistics. Default is 7 days prior to 12:00am of the current day.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>(Get-Date).Date.AddDays(-7)</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the timestamp marking the end of the time period for which to retrieve recording statistics. The default is 12:00am of the current day.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>(Get-Date).Date</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>SequenceType</maml:name> <maml:description> <maml:para>Specifies the type of sequence to get statistics on. Default is RecordingSequence.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">RecordingSequence</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">MotionSequence</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>RecordingSequence</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>RunspacePool</maml:name> <maml:description> <maml:para>Specifies the runspacepool to use. If no runspacepool is provided, one will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RunspacePool</command:parameterValue> <dev:type> <maml:name>RunspacePool</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AsHashTable</maml:name> <maml:description> <maml:para>Specifies that the output should be provided in a complete hashtable instead of one pscustomobject value at a time</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AsHashTable</maml:name> <maml:description> <maml:para>Specifies that the output should be provided in a complete hashtable instead of one pscustomobject value at a time</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the timestamp marking the end of the time period for which to retrieve recording statistics. The default is 12:00am of the current day.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>(Get-Date).Date</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the Id's of cameras for which to retrieve recording statistics</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>RunspacePool</maml:name> <maml:description> <maml:para>Specifies the runspacepool to use. If no runspacepool is provided, one will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RunspacePool</command:parameterValue> <dev:type> <maml:name>RunspacePool</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>SequenceType</maml:name> <maml:description> <maml:para>Specifies the type of sequence to get statistics on. Default is RecordingSequence.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>RecordingSequence</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the timestamp from which to start retrieving recording statistics. Default is 7 days prior to 12:00am of the current day.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>(Get-Date).Date.AddDays(-7)</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Select-Camera | Get-CameraRecordingStats</dev:code> <dev:remarks> <maml:para>Opens a camera selection dialog and the selected camera will be sent to Get-CameraRecordingStats. The result will be a PSCustomObject with the DeviceID and a nested PSCustomObject under the RecordingStats property name.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-CameraRecordingStats/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-ConfigurationItemProperty</command:name> <command:verb>Get</command:verb> <command:noun>ConfigurationItemProperty</command:noun> <maml:description> <maml:para>Gets the value of a given ConfigurationItem property by key</maml:para> </maml:description> </command:details> <maml:description> <maml:para>A ConfigurationItem may have zero or more Property objects in the Properties array. Each property has a key name and a value. Since the Properties property on a ConfigurationItem has no string-based indexer, you are required to search the array of properties for the one with the Key you're interested in, and then get the Value property of it.</maml:para> <maml:para>This cmdlet is a simple wrapper which does the Where-Object for you, and throws an error if the Key does not exist.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-ConfigurationItemProperty</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>A [VideoOS.ConfigurationApi.ClientService.ConfigurationItem] with a property to be retrieved.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Key</maml:name> <maml:description> <maml:para>A string representing the key of the property from which the value should be retrieved.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>A [VideoOS.ConfigurationApi.ClientService.ConfigurationItem] with a property to be retrieved.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Key</maml:name> <maml:description> <maml:para>A string representing the key of the property from which the value should be retrieved.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>$description = Get-ConfigurationItem -Path / | Get-ConfigurationItemProperty -Key Description $description</dev:code> <dev:remarks> <maml:para>Gets a ConfigurationItem representing the Management Server, and returns the Description value. The alternative is to do ((Get-ConfigurationItem -Path /).Properties | Where-Object Key -eq Description).Value.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-ConfigurationItemProperty/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-CurrentDeviceStatus</command:name> <command:verb>Get</command:verb> <command:noun>CurrentDeviceStatus</command:noun> <maml:description> <maml:para>Gets the current device status of all devices of the desired type from one or more recording servers</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Uses the RecorderStatusService2 client to call GetCurrentDeviceStatus and receive the current status of all devices of the desired type(s). Specify one or more types in the DeviceType parameter to receive status of more device types than cameras.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-CurrentDeviceStatus</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>RecordingServerId</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server ID's to which the results will be limited. Omit this parameter if you want device status from all Recording Servers</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceType</maml:name> <maml:description> <maml:para>Specifies the type of devices to include in the results. By default only cameras will be included and you can expand this to include all device types</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Input event</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Event</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Hardware</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">All</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>RunspacePool</maml:name> <maml:description> <maml:para>Specifies the runspacepool to use. If no runspacepool is provided, one will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RunspacePool</command:parameterValue> <dev:type> <maml:name>RunspacePool</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AsHashTable</maml:name> <maml:description> <maml:para>Specifies that the output should be provided in a complete hashtable instead of one pscustomobject value at a time</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AsHashTable</maml:name> <maml:description> <maml:para>Specifies that the output should be provided in a complete hashtable instead of one pscustomobject value at a time</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceType</maml:name> <maml:description> <maml:para>Specifies the type of devices to include in the results. By default only cameras will be included and you can expand this to include all device types</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>RecordingServerId</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server ID's to which the results will be limited. Omit this parameter if you want device status from all Recording Servers</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>RunspacePool</maml:name> <maml:description> <maml:para>Specifies the runspacepool to use. If no runspacepool is provided, one will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RunspacePool</command:parameterValue> <dev:type> <maml:name>RunspacePool</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Management.Automation.PSObject</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Name 'My Recording Server' | Get-CurrentDeviceStatus -DeviceType All</dev:code> <dev:remarks> <maml:para>Gets the status of all devices of all device types from the Recording Server named 'My Recording Server'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-CurrentDeviceStatus -DeviceType Camera, Microphone</dev:code> <dev:remarks> <maml:para>Gets the status of all cameras and microphones from all recording servers.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-CurrentDeviceStatus/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-LicenseDetails</command:name> <command:verb>Get</command:verb> <command:noun>LicenseDetails</command:noun> <maml:description> <maml:para>{{ Fill in the Synopsis }}</maml:para> </maml:description> </command:details> <maml:description> <maml:para>{{ Fill in the Description }}</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-LicenseDetails</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseDetailChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>{{ Add example code here }}</dev:code> <dev:remarks> <maml:para>{{ Add example description here }}</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-LicenseDetails/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-LicensedProducts</command:name> <command:verb>Get</command:verb> <command:noun>LicensedProducts</command:noun> <maml:description> <maml:para>{{ Fill in the Synopsis }}</maml:para> </maml:description> </command:details> <maml:description> <maml:para>{{ Fill in the Description }}</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-LicensedProducts</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInstalledProductChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>{{ Add example code here }}</dev:code> <dev:remarks> <maml:para>{{ Add example description here }}</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-LicensedProducts/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-LicenseInfo</command:name> <command:verb>Get</command:verb> <command:noun>LicenseInfo</command:noun> <maml:description> <maml:para>{{ Fill in the Synopsis }}</maml:para> </maml:description> </command:details> <maml:description> <maml:para>{{ Fill in the Description }}</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-LicenseInfo</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInformation</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>{{ Add example code here }}</dev:code> <dev:remarks> <maml:para>{{ Add example description here }}</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-LicenseInfo/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-LicenseOverview</command:name> <command:verb>Get</command:verb> <command:noun>LicenseOverview</command:noun> <maml:description> <maml:para>{{ Fill in the Synopsis }}</maml:para> </maml:description> </command:details> <maml:description> <maml:para>{{ Fill in the Description }}</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-LicenseOverview</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseOverviewAllChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>{{ Add example code here }}</dev:code> <dev:remarks> <maml:para>{{ Add example description here }}</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-LicenseOverview/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-ManagementServerConfig</command:name> <command:verb>Get</command:verb> <command:noun>ManagementServerConfig</command:noun> <maml:description> <maml:para>{{ Fill in the Synopsis }}</maml:para> </maml:description> </command:details> <maml:description> <maml:para>{{ Fill in the Description }}</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-ManagementServerConfig</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>{{ Add example code here }}</dev:code> <dev:remarks> <maml:para>{{ Add example description here }}</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-ManagementServerConfig/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-MobileServerInfo</command:name> <command:verb>Get</command:verb> <command:noun>MobileServerInfo</command:noun> <maml:description> <maml:para>Gets details about the local Milestone XProtect Mobile Server installation.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets details about the local Milestone XProtect Mobile Server installation. Properties include:</maml:para> <maml:para>- Version</maml:para> <maml:para>- ExePath</maml:para> <maml:para>- ConfigPath</maml:para> <maml:para>- ManagementServerIp</maml:para> <maml:para>- ManagementServerPort</maml:para> <maml:para>- HttpIp</maml:para> <maml:para>- HttpPort</maml:para> <maml:para>- HttpsIp</maml:para> <maml:para>- HttpsPort</maml:para> <maml:para>- CertHash</maml:para> <maml:para></maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-MobileServerInfo</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-MobileServerInfo</dev:code> <dev:remarks> <maml:para>Gets a collection of useful Mobile Server properties.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-MobileServerInfo/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-PlaybackInfo</command:name> <command:verb>Get</command:verb> <command:noun>PlaybackInfo</command:noun> <maml:description> <maml:para>Gets the UTC timestamp of the first and last record in the media database for a device.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets the UTC timestamp of the first and last record in the media database for a device. The result is returned as a PSCustomObject with a Begin and End property representing the first and last record timestamps in the media database.</maml:para> <maml:para>The method for retrieving this data used to be based on the RawDataSource class, but a faster method is now used which is based on a SequenceDataSource class. Sequences represent timespans in the media database where recordings, or motion are present. To use the SequenceDataSource in this function, we ask for the first sequence occuring sometime between unix epoch and now, and we use the StartDateTime property. We then ask for the first sequence occuring between now and unix epoch in the reverse direction, and use the EndDateTime property.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-PlaybackInfo</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Deprecated. Specifies a camera object - typically the output of a Get-VmsCamera command.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera</command:parameterValue> <dev:type> <maml:name>Camera</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CameraId</maml:name> <maml:description> <maml:para>Deprecated. Specifies the Guid value of a Camera object.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Parallel</maml:name> <maml:description> <maml:para>Specifies that multiple requests should be processed in parallel. If fewer than 60 devices are specified in the Path or Device parameters, then this switch has no impact. Using multiple threads for a small number of devices can end up taking longer than doing them sequentially, especially with the operation completes relatively quickly to begin with.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SequenceType</maml:name> <maml:description> <maml:para>Specifies the type of sequence to return playback info for. The default is RecordingSequence, and that makes the most sense to use with this cmdlet. This parameter is provided in case it is interesting to know the first and last "motion" sequence instead.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">MotionSequence</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">RecordingSequence</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TimelineMotionDetected</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TimelineRecording</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>RecordingSequence</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseLocalTime</maml:name> <maml:description> <maml:para>Deprecated. Convert the UTC timestamps from the Recording Server(s) to local time using the region settings of the current session.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-PlaybackInfo</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies the Camera, Microphone, Speaker, or Metadata object. The Path property is used from these objects to construct the VideoOS.Platform.ConfigItem used to construct the SequenceDataSource.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Parallel</maml:name> <maml:description> <maml:para>Specifies that multiple requests should be processed in parallel. If fewer than 60 devices are specified in the Path or Device parameters, then this switch has no impact. Using multiple threads for a small number of devices can end up taking longer than doing them sequentially, especially with the operation completes relatively quickly to begin with.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SequenceType</maml:name> <maml:description> <maml:para>Specifies the type of sequence to return playback info for. The default is RecordingSequence, and that makes the most sense to use with this cmdlet. This parameter is provided in case it is interesting to know the first and last "motion" sequence instead.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">MotionSequence</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">RecordingSequence</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TimelineMotionDetected</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TimelineRecording</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>RecordingSequence</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-PlaybackInfo</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Parallel</maml:name> <maml:description> <maml:para>Specifies that multiple requests should be processed in parallel. If fewer than 60 devices are specified in the Path or Device parameters, then this switch has no impact. Using multiple threads for a small number of devices can end up taking longer than doing them sequentially, especially with the operation completes relatively quickly to begin with.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone "Configuration API" path for the device. The format of a Configuration API path is ItemType[guid]. For example, Camera[5cb24b72-d946-4e87-83a2-9ad79da2f40b]. This property is available on all Configuration API generic item types, and strongly typed objects like Cameras and Microphones. The format provides both the ItemType value and the ID which are used to locate the VideoOS.Platform.ConfigItem representing the camera in VideoOS.Platform.Configuration.Instance, and this item is used to construct the SequenceDataSource.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SequenceType</maml:name> <maml:description> <maml:para>Specifies the type of sequence to return playback info for. The default is RecordingSequence, and that makes the most sense to use with this cmdlet. This parameter is provided in case it is interesting to know the first and last "motion" sequence instead.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">MotionSequence</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">RecordingSequence</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TimelineMotionDetected</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TimelineRecording</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>RecordingSequence</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Deprecated. Specifies a camera object - typically the output of a Get-VmsCamera command.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera</command:parameterValue> <dev:type> <maml:name>Camera</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CameraId</maml:name> <maml:description> <maml:para>Deprecated. Specifies the Guid value of a Camera object.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies the Camera, Microphone, Speaker, or Metadata object. The Path property is used from these objects to construct the VideoOS.Platform.ConfigItem used to construct the SequenceDataSource.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Parallel</maml:name> <maml:description> <maml:para>Specifies that multiple requests should be processed in parallel. If fewer than 60 devices are specified in the Path or Device parameters, then this switch has no impact. Using multiple threads for a small number of devices can end up taking longer than doing them sequentially, especially with the operation completes relatively quickly to begin with.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone "Configuration API" path for the device. The format of a Configuration API path is ItemType[guid]. For example, Camera[5cb24b72-d946-4e87-83a2-9ad79da2f40b]. This property is available on all Configuration API generic item types, and strongly typed objects like Cameras and Microphones. The format provides both the ItemType value and the ID which are used to locate the VideoOS.Platform.ConfigItem representing the camera in VideoOS.Platform.Configuration.Instance, and this item is used to construct the SequenceDataSource.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SequenceType</maml:name> <maml:description> <maml:para>Specifies the type of sequence to return playback info for. The default is RecordingSequence, and that makes the most sense to use with this cmdlet. This parameter is provided in case it is interesting to know the first and last "motion" sequence instead.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>RecordingSequence</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseLocalTime</maml:name> <maml:description> <maml:para>Deprecated. Convert the UTC timestamps from the Recording Server(s) to local time using the region settings of the current session.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>The original version of Get-PlaybackInfo only worked for cameras, and we realize now the UseLocalTime switch was unnecessary. It's easy enough to call ToLocalTime() if you want to switch to your local timezone. As such, the Camera, CameraId, and UseLocalTime parameters are deprecated. They'll still work for a while, but with warnings. Instead of explicitly using them, consider piping your devices into this function, or using the -Device or -Path parameters.</maml:para> <maml:para>A bonus of using the new parameters is that you can provide an array of objects or configuration item paths, include the Parallel switch, and the results may be returned faster through the use of runspaces for running requests in parallel.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Select-Camera -SingleSelect | Get-PlaybackInfo</dev:code> <dev:remarks> <maml:para>Begin End Path ----- --- ---- 9/17/2021 11:21:53 PM 10/17/2021 5:15:15 PM Camera[9c55377a-c2e4-4f03-99b6-d684e730c4e1]</maml:para> <maml:para>Presents a camera selection dialog, and after you've selected a camera, it returns an object with the first and last image timestamps.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-PlaybackInfo/</maml:uri> </maml:navigationLink> <maml:navigationLink> <maml:linkText>MIP SDK Docs - SequenceDataSource</maml:linkText> <maml:uri>https://doc.developer.milestonesys.com/html/index.html?base=miphelp/class_video_o_s_1_1_platform_1_1_data_1_1_sequence_data_source.html&tree=tree_search.html?search=sequencedatasource</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-RecorderConfig</command:name> <command:verb>Get</command:verb> <command:noun>RecorderConfig</command:noun> <maml:description> <maml:para>{{ Fill in the Synopsis }}</maml:para> </maml:description> </command:details> <maml:description> <maml:para>{{ Fill in the Description }}</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-RecorderConfig</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>{{ Add example code here }}</dev:code> <dev:remarks> <maml:para>{{ Add example description here }}</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-RecorderConfig/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-StreamProperties</command:name> <command:verb>Get</command:verb> <command:noun>StreamProperties</command:noun> <maml:description> <maml:para>Get a list of configuration properties from the designated camera stream</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Get a list of configuration properties from the designated camera stream. These properties provide detailed information including the property key, current value, the value type, and in the case of certain value types, a list of valid values or a range of valid values.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-StreamProperties</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies the camera to retrieve stream properties for</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera</command:parameterValue> <dev:type> <maml:name>Camera</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>StreamName</maml:name> <maml:description> <maml:para>Specifies a StreamUsageChildItem from Get-Stream</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-StreamProperties</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies the camera to retrieve stream properties for</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera</command:parameterValue> <dev:type> <maml:name>Camera</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>StreamNumber</maml:name> <maml:description> <maml:para>Specifies the stream number starting from 0. For example, "Video stream 1" is usually in the 0'th position in the StreamChildItems collection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies the camera to retrieve stream properties for</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera</command:parameterValue> <dev:type> <maml:name>Camera</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>StreamName</maml:name> <maml:description> <maml:para>Specifies a StreamUsageChildItem from Get-Stream</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>StreamNumber</maml:name> <maml:description> <maml:para>Specifies the stream number starting from 0. For example, "Video stream 1" is usually in the 0'th position in the StreamChildItems collection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.Property[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Select-Camera | Get-StreamProperties -StreamName 'Video stream 1'</dev:code> <dev:remarks> <maml:para>Opens a dialog to select a camera, then returns the stream properties for 'Video stream 1'. The objects returned are rich property objects with a number of properties attached to them in addition to their keys and values.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-StreamProperties/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-ValueDisplayName</command:name> <command:verb>Get</command:verb> <command:noun>ValueDisplayName</command:noun> <maml:description> <maml:para>Gets the display name of the value of a property.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Some propertie values such as FPS or Resolution might have different property names by which those values are referenced depending on the camera driver. For example, some cameras use the propery name 'Resolution' to refer to camera resolution, and others might use 'StreamProperty'. And the value for resolution might be '6' internally, while the display name for that value might be 1920x1080 for example.</maml:para> <maml:para>This function simplifies the process of finding out the best display name to use for the value of a property.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-ValueDisplayName</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DefaultValue</maml:name> <maml:description> <maml:para>The default value to return if the property is not found in any of the items in PropertyList</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>NotAvailable</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>{{ Fill Properties Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationApiProperties</command:parameterValue> <dev:type> <maml:name>ConfigurationApiProperties</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PropertyName</maml:name> <maml:description> <maml:para>One or more related property names to look for such as FPS, Framerate</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-ValueDisplayName</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DefaultValue</maml:name> <maml:description> <maml:para>The default value to return if the property is not found in any of the items in PropertyList</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>NotAvailable</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PropertyList</maml:name> <maml:description> <maml:para>The collection of properties associated with a configuration item such as a camera's stream settings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Property[]</command:parameterValue> <dev:type> <maml:name>Property[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PropertyName</maml:name> <maml:description> <maml:para>One or more related property names to look for such as FPS, Framerate</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DefaultValue</maml:name> <maml:description> <maml:para>The default value to return if the property is not found in any of the items in PropertyList</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>NotAvailable</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>{{ Fill Properties Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationApiProperties</command:parameterValue> <dev:type> <maml:name>ConfigurationApiProperties</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PropertyList</maml:name> <maml:description> <maml:para>The collection of properties associated with a configuration item such as a camera's stream settings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Property[]</command:parameterValue> <dev:type> <maml:name>Property[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PropertyName</maml:name> <maml:description> <maml:para>One or more related property names to look for such as FPS, Framerate</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-ValueDisplayName -PropertyList (Select-Camera | Get-StreamProperties -StreamNumber 0) -PropertyName 'Resolution', 'StreamProperty'</dev:code> <dev:remarks> <maml:para>Presents a camera selection dialog and then returns the display name for the configured resolution for the camera from the first video stream's settings.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-ValueDisplayName/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VideoDeviceStatistics</command:name> <command:verb>Get</command:verb> <command:noun>VideoDeviceStatistics</command:noun> <maml:description> <maml:para>Gets the camera device statistics including used storage space, and the properties of each video stream being retrieved from the camera</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Uses the RecorderStatusService2 client to call GetVideoDeviceStatistics and receive the current video device statistics of all cameras, or filtered by Recording Server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VideoDeviceStatistics</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>RecordingServerId</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server ID's to which the results will be limited. Omit this parameter if you want device status from all Recording Servers</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>RunspacePool</maml:name> <maml:description> <maml:para>Specifies the runspacepool to use. If no runspacepool is provided, one will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RunspacePool</command:parameterValue> <dev:type> <maml:name>RunspacePool</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AsHashTable</maml:name> <maml:description> <maml:para>Specifies that the output should be provided in a complete hashtable instead of one pscustomobject value at a time</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AsHashTable</maml:name> <maml:description> <maml:para>Specifies that the output should be provided in a complete hashtable instead of one pscustomobject value at a time</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>RecordingServerId</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server ID's to which the results will be limited. Omit this parameter if you want device status from all Recording Servers</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>RunspacePool</maml:name> <maml:description> <maml:para>Specifies the runspacepool to use. If no runspacepool is provided, one will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RunspacePool</command:parameterValue> <dev:type> <maml:name>RunspacePool</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Name 'My Recording Server' | Get-VideoDeviceStatistics</dev:code> <dev:remarks> <maml:para>Gets the video statistics of all cameras on the Recording Server named 'My Recording Server'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VideoDeviceStatistics -AsHashTable</dev:code> <dev:remarks> <maml:para>Gets the video statistics of all cameras and returns the result as a hashtable where the keys are the camera ID's.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VideoDeviceStatistics/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsArchiveStorage</command:name> <command:verb>Get</command:verb> <command:noun>VmsArchiveStorage</command:noun> <maml:description> <maml:para>Gets the ArchiveStorage objects representing the children of a given live storage configuration.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets the ArchiveStorage objects representing the children of a given live storage configuration.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsArchiveStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies a Storage object such as you get from Get-VmsStorage</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration to return. Supports wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>*</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration to return. Supports wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>*</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies a Storage object such as you get from Get-VmsStorage</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ArchiveStorage</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Name 'Recorder 1' | Get-VmsStorage -Name Primary | Get-VmsArchiveStorage</dev:code> <dev:remarks> <maml:para>Gets all archive storage configurations associated with the live storage configuration named 'Primary', on the recording server named 'Recorder 1'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>$camera | Get-VmsStorage | Get-VmsArchiveStorage | Sort-Object RetainMinutes -Descending |Select-Object -First 1</dev:code> <dev:remarks> <maml:para>Gets the oldest archive path associated with $camera.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsArchiveStorage/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsBasicUser</command:name> <command:verb>Get</command:verb> <command:noun>VmsBasicUser</command:noun> <maml:description> <maml:para>Gets VMS basic user entries.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsBasicUser` cmdlet returns basic user entries from the VMS. Basic users are users created directly in Milestone with a username and password. A basic user entry will also be created when users from an external login provider have authenticated, and have been matched to one or more roles based on the registered claims and the values of those claims in the token issued for the user by the external login provider.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsBasicUser</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the literal name of the basic user record to retrieve.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Status</maml:name> <maml:description> <maml:para>Specifies that only basic users with the provided status should be returned.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">LockedOutByAdmin</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">LockedOutBySystem</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>External</maml:name> <maml:description> <maml:para>Specifies that only users associated with an external login provider should be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>External</maml:name> <maml:description> <maml:para>Specifies that only users associated with an external login provider should be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the literal name of the basic user record to retrieve.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Status</maml:name> <maml:description> <maml:para>Specifies that only basic users with the provided status should be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.BasicUser</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsBasicUser</dev:code> <dev:remarks> <maml:para>Gets all basic user entries present on the management server.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsBasicUser -Name 'User 54'</dev:code> <dev:remarks> <maml:para>Gets the basic user named 'User 54', or returns an error if the user does not exist.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsBasicUser | Where-Object Name -match 'josh'</dev:code> <dev:remarks> <maml:para>Gets all basic users with a name containing the string 'josh'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Get-VmsBasicUser -External</dev:code> <dev:remarks> <maml:para>Gets all basic user entries that represent a user from an external login provider. If no external basic users exist, no value is returned and no error is emitted.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 5 --------------------------</maml:title> <dev:code>Get-VmsBasicUser -Status LockedOutByAdmin</dev:code> <dev:remarks> <maml:para>Gets all basic user entries where the user has been locked out by the VMS administrator.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsBasicUser/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsBasicUserClaim</command:name> <command:verb>Get</command:verb> <command:noun>VmsBasicUserClaim</command:noun> <maml:description> <maml:para>Gets the claims associated with an external user's login provider.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsBasicUserClaim` cmdlet applies only to basic users where the "IsExternal" property is `$true`. When an external user authenticates with the VMS, a collection of claims and their values are included in the token issued by the external login provider. These claims can be inspected using this cmdlet.</maml:para> <maml:para>| ClaimName | ClaimValue | | -------------- | ---------------------------------- | | email | username@domain.ext | | email_verified | True | | name | username@domain.ext | | nickname | username | | picture | https://s.gravatar.com/avatar/.... | | vms_roles | Administrators |</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsBasicUserClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more basic user objects returned by `Get-VmsBasicUser`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">BasicUser[]</command:parameterValue> <dev:type> <maml:name>BasicUser[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more basic user objects returned by `Get-VmsBasicUser`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">BasicUser[]</command:parameterValue> <dev:type> <maml:name>BasicUser[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.BasicUser[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClaimChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsBasicUser -Name 'username@domain.ext' | Get-VmsBasicUserClaim | Select-Object ClaimName, ClaimValue</dev:code> <dev:remarks> <maml:para>Gets the claim names and values associated with the basic user with name 'username@domain.ext'.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsBasicUserClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsCameraGeneralSetting</command:name> <command:verb>Get</command:verb> <command:noun>VmsCameraGeneralSetting</command:noun> <maml:description> <maml:para>Gets the general settings for one or more cameras.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet returns a hashtable with all the general settings available for a camera, including read-only settings and settings usually hidden from the Management Client user interface.</maml:para> <maml:para>General settings often include properties like "Rotation", "Saturation", and "Brightness", which usually apply to all streams available from the camera.</maml:para> <maml:para>Each camera model will have a different set of general settings, and some cameras may not have any general settings at all.</maml:para> <maml:para>The values returned by this cmdlet are the "display values" you should see in the Management Client. To see the raw, internal values used by the MIP SDK, you may use the "-RawValues" switch.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsCameraGeneralSetting</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ValueTypeInfo</maml:name> <maml:description> <maml:para>Specifies that the hashtable should contain a "ValueTypeInfo" collection for each general setting, instead of the value of the setting. The "ValueTypeInfo" collections can be used to discover the valid ranges or values for each setting.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ValueTypeInfo</maml:name> <maml:description> <maml:para>Specifies that the hashtable should contain a "ValueTypeInfo" collection for each general setting, instead of the value of the setting. The "ValueTypeInfo" collections can be used to discover the valid ranges or values for each setting.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Camera[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VmsDeviceGeneralSettings</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $camera | Get-VmsCameraGeneralSetting <# OUTPUT (display values) Name Value ---- ----- RecorderMode Disabled MulticastVideoPort 0 RecorderRetentionTime 336 Saturation 50 RecorderAudioEnabled No Sharpness 50 Brightness 50 EdgeStorageRecording Continuous EdgeStorageStreamIndex 0 Rotation 0 MulticastAddress 239.244.177.82 RecorderStreamIndex 1 OSDDateTime Disabled RecorderPostTriggerTime 0 MulticastTTL 5 EdgeStorageEnabled false BlackAndWhiteMode Color MulticastForceSSM No WhiteBalance Automatic RecorderPreTriggerTime 0 #> $camera | Get-VmsCameraGeneralSetting -RawValues <# OUTPUT (raw values) Name Value ---- ----- RecorderMode Disabled MulticastVideoPort 0 RecorderRetentionTime 336 Saturation 50 RecorderAudioEnabled no Sharpness 50 Brightness 50 EdgeStorageRecording Continuous EdgeStorageStreamIndex 0 Rotation 0 MulticastAddress 239.244.177.82 RecorderStreamIndex 1 OSDDateTime Disabled RecorderPostTriggerTime 0 MulticastTTL 5 EdgeStorageEnabled False BlackAndWhiteMode Yes MulticastForceSSM no WhiteBalance Automatic RecorderPreTriggerTime 0 #> ($camera | Get-VmsCameraGeneralSetting -ValueTypeInfo).BlackAndWhiteMode <# OUTPUT TranslationId Name Value ------------- ---- ----- d65be37a-9416-4bbf-8ed3-36ebd12cd837 Color Yes f7729675-9e20-4593-9611-f53c11c6fdd4 Black & White No #></dev:code> <dev:remarks> <maml:para>In this example we show how to login, select a camera using an interactive camera selection dialog, and then display the general settings for the camera using the default "display values". Then we show how the same settings appear when using the raw values. For example, the display value for BlackAndWhiteMode is "Color", and the raw value is "Yes".</maml:para> <maml:para>For reference, the ValueTypeInfo collection for the BlackAndWhiteMode setting is displayed. You can see how the ValueTypeInfo collection maps the raw value "Yes" to the display value "Color".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsCameraGeneralSetting/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsCameraMotion</command:name> <command:verb>Get</command:verb> <command:noun>VmsCameraMotion</command:noun> <maml:description> <maml:para>Gets the motion detection settings for one or more cameras.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsCameraMotion` cmdlet gets the motion detection settings for one or more cameras. The MotionDetection object for a camera can be accessed using `$camera.MotionDetectionFolder.MotionDetections[0]`. This command can be considered a PowerShell-friendly shortcut for accessing these settings.</maml:para> <maml:para>The only difference between using this command or accessing the MotionDetection objects directly is that this command adds a NoteProperty to the MotionDetection object named "Camera" to make it easier to access the Camera object associated with the MotionDetection object.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsCameraMotion</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>One or more cameras returned by the Get-VmsCamera cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>One or more cameras returned by the Get-VmsCamera cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.MotionDetection</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsCamera | Get-VmsCameraMotion | Where-Object Enabled -eq $false | Select-Object -ExpandProperty Camera</dev:code> <dev:remarks> <maml:para>Get all enabled cameras where motion detection is disabled.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsCameraMotion/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsCameraReport</command:name> <command:verb>Get</command:verb> <command:noun>VmsCameraReport</command:noun> <maml:description> <maml:para>Gets a detailed report at the camera device level for all cameras added to the current Milestone XProtect VMS site.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Returns a report with detailed camera status and configuration information. A popular use of a report like this is to verify configuration properties are consistent between cameras, or to check that the desired video retention is being reached for all cameras. The report is returned as an array of [PSCustomObject]'s which you can then process in your script, or pipe directly to a CSV file. See the examples for inspiration.</maml:para> <maml:para>For additional information about the output, including detailed column information, see the about_Get-VmsCameraReport help topic by using "Get-Help about_Get-VmsCameraReport".</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsCameraReport</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies one or more RecordingServer objects such as returned by Get-VmsRecordingServer. Omit this parameter and the report will include cameras from all recording servers on the current site.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>SnapshotTimeoutMS</maml:name> <maml:description> <maml:para>Specifies the number of milliseconds to wait for a live image to arrive when used with IncludeSnapshots. The default timeout for Get-VmsCameraReport is 10000 or 10 seconds, though the default timeout for Get-Snapshot is 2000 or 2 seconds.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>10000</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>SnapshotHeight</maml:name> <maml:description> <maml:para>Specifies the image height for snapshots if included. Default is 300 pixels in height. Aspect ratio will be maintained.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>300</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies which devices to include in the report. Default is to include only enabled devices.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">All</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Disabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludePlainTextPasswords</maml:name> <maml:description> <maml:para>Specifies that a plain text password should be included in the report for each device.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludeRecordingStats</maml:name> <maml:description> <maml:para>Specifies that the % of time each camera has been recording over the last 7 days should be included in the report. Note that including this may result in a long time to complete the report.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludeRetentionInfo</maml:name> <maml:description> <maml:para>Specifies that the report should timestamps for the first and last recorded images, and whether each camera meets the configured retention settings for the storage configuration.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludeSnapshots</maml:name> <maml:description> <maml:para>Specifies that a bitmap object should be included in the results of the report. You must decide how to handle this snapshot yourself. If you try to export to CSV with snapshots, the Snapshot column will contain only the name of the bitmap type.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies which devices to include in the report. Default is to include only enabled devices.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludePlainTextPasswords</maml:name> <maml:description> <maml:para>Specifies that a plain text password should be included in the report for each device.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludeRecordingStats</maml:name> <maml:description> <maml:para>Specifies that the % of time each camera has been recording over the last 7 days should be included in the report. Note that including this may result in a long time to complete the report.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludeRetentionInfo</maml:name> <maml:description> <maml:para>Specifies that the report should timestamps for the first and last recorded images, and whether each camera meets the configured retention settings for the storage configuration.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IncludeSnapshots</maml:name> <maml:description> <maml:para>Specifies that a bitmap object should be included in the results of the report. You must decide how to handle this snapshot yourself. If you try to export to CSV with snapshots, the Snapshot column will contain only the name of the bitmap type.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies one or more RecordingServer objects such as returned by Get-VmsRecordingServer. Omit this parameter and the report will include cameras from all recording servers on the current site.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>SnapshotHeight</maml:name> <maml:description> <maml:para>Specifies the image height for snapshots if included. Default is 300 pixels in height. Aspect ratio will be maintained.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>300</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>SnapshotTimeoutMS</maml:name> <maml:description> <maml:para>Specifies the number of milliseconds to wait for a live image to arrive when used with IncludeSnapshots. The default timeout for Get-VmsCameraReport is 10000 or 10 seconds, though the default timeout for Get-Snapshot is 2000 or 2 seconds.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>10000</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Get-VmsCameraReport -RecordingServer (Get-VmsRecordingServer | Out-GridView -OutputMode Multiple) | Out-GridView</dev:code> <dev:remarks> <maml:para>Presents a gridview dialog for you to select one or more recording servers, then generates a camera report for cameras on those recording servers, and presents the results in gridview.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $fileName = "camera-report_$((Get-Date).ToString('yyyy-MM-dd_HH-mm-ss')).csv" $filePath = Join-Path -Path "~\Desktop" -ChildPath $fileName Get-VmsCameraReport -IncludeRetentionInfo -IncludeRecordingStats | Export-Csv -Path $filePath</dev:code> <dev:remarks> <maml:para>Creates a camera report with video retention information and recording statistics, and saves the results to the current user's desktop with a timestamp in the file name.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsCameraReport/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsCameraStream</command:name> <command:verb>Get</command:verb> <command:noun>VmsCameraStream</command:noun> <maml:description> <maml:para>Gets stream configuration information for the specified camera(s).</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Video stream configuration in a Milestone XProtect VMS includes properties of the video stream(s) themselves, such as framerate, codec, and resolution, in addition to whether the VMS will use those video streams, and for what purpose.</maml:para> <maml:para>The results returned from this cmdlet include the immutable name of the video stream such as "Video stream 1", which is displayed in the settings tab for each camera in Management Client. A collection of key-value pairs representing the properties of the video stream is available in the "Settings" property of the [VmsCameraStreamConfig] object.</maml:para> <maml:para>A second hashtable with keys matching the keys of the Settings hashtable is available under a property named "ValueTypeInfo. Each element in the ValueTypeInfo hashtable is a collection of ValueTypeInformation objects representing the valid values, or ranges for each setting for the stream. See the examples for more information.</maml:para> <maml:para>If the stream is in use by the VMS for either live streaming, or for recording, then the stream's "Enabled" property will be $true. When a stream is in use, it will have a DisplayName value representing the name of the stream displayed to anyone using a client application like XProtect Smart Client. The Name property is immutable, but you may name the DisplayName property as needed.</maml:para> <maml:para>Also included are the LiveMode, LiveDefault, and Recorded properties. These indicate whether the stream is selected as the default live stream, and/or the recorded stream. And whether the stream is available for live viewing Always, Never, or WhenNeeded.</maml:para> <maml:para>The LiveMode of a stream can only be set to "Never" when the stream is exclusively used for recording. This is to allow administrators to record at a very high quality, while avoiding unnecessary bandwidth usage by enabling only a lower-bandwidth stream for live viewing. When the LiveMode is set to "WhenNeeded", the recording server will only pull that stream from the camera when a client requests it.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsCameraStream</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies that only enabled streams should be returned. This includes any stream that is used as the default live stream, recorded stream, or is otherwise added and displayed in the "Streams" tab for the camera in Management Client. It includes all streams that are configured for any kind of use by the VMS.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsCameraStream</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiveDefault</maml:name> <maml:description> <maml:para>Specifies that only the default live stream for the given camera should be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsCameraStream</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the video stream as displayed in the Settings tab for the camera in Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsCameraStream</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PlaybackDefault</maml:name> <maml:description> <maml:para>Specifies that the returned stream should be the one currently used as the default playback stream.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsCameraStream</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recorded</maml:name> <maml:description> <maml:para>Specifies that only the recorded stream for the given camera should be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsCameraStream</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RecordingTrack</maml:name> <maml:description> <maml:para>Return only the stream(s) using the specified recording track. The ability to record a second stream from the same camera on the same recording server was introduced in XProtect 2023 R2 and is called "Adaptive playback".</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Primary</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Secondary</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">None</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies that only enabled streams should be returned. This includes any stream that is used as the default live stream, recorded stream, or is otherwise added and displayed in the "Streams" tab for the camera in Management Client. It includes all streams that are configured for any kind of use by the VMS.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiveDefault</maml:name> <maml:description> <maml:para>Specifies that only the default live stream for the given camera should be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the video stream as displayed in the Settings tab for the camera in Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PlaybackDefault</maml:name> <maml:description> <maml:para>Specifies that the returned stream should be the one currently used as the default playback stream.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RawValues</maml:name> <maml:description> <maml:para>Specifies that the raw, internal values of settings should be returned instead of returning the display values seen in Management Client.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recorded</maml:name> <maml:description> <maml:para>Specifies that only the recorded stream for the given camera should be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RecordingTrack</maml:name> <maml:description> <maml:para>Return only the stream(s) using the specified recording track. The ability to record a second stream from the same camera on the same recording server was introduced in XProtect 2023 R2 and is called "Adaptive playback".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Camera</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VmsCameraStreamConfig</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $camera | Get-VmsCameraStream -LiveDefault <# OUTPUT Camera Name DisplayName Enabled LiveMode LiveDefault Recorded ------ ---- ----------- ------- -------- ----------- -------- Cam Lab Video stream 1 Live stream True WhenNeeded True True #></dev:code> <dev:remarks> <maml:para>After first logging in to the Management Server, we use a helpful camera selection dialog. Select any camera, and the properties of the default live stream will be displayed. The properties include Settings and ValueTypeInfo collections as hashtables, but they are not rendered in the PowerShell terminal by default because hashtables don't display very useful information unless they are expanded. The next example will show how to display more information about the stream settings.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $stream = $camera | Get-VmsCameraStream -LiveDefault $stream.Settings <# OUTPUT Name Value ---- ----- ZFpsMode Fixed Compression 30 StreamingMode RTP/RTSP/TCP ControlMode Variable bit rate TargetBitrate 2000 MaxBitrate 0 Resolution 1280x720 FPS 10 MaxGOPMode Default (determined by driver) ControlPriority None IncludeTime No EdgeStorageSupported true ZGopLength 300 ZGopMode Fixed MaxGOPSize 30 ZStrength Low RetentionTime 7 IncludeDate No Codec H.265 #> ($camera | Get-VmsCameraStream -LiveDefault -RawValues).Settings <# OUTPUT (raw values) Name Value ---- ----- ZFpsMode fixed Compression 30 StreamingMode TCP ControlMode VariableBitRate TargetBitrate 2000 MaxBitrate 0 Resolution 1280x720 FPS 10 MaxGOPMode default ControlPriority None IncludeTime no EdgeStorageSupported True ZGopLength 300 ZGopMode fixed MaxGOPSize 30 ZStrength low RetentionTime 7 IncludeDate no Codec h265 #></dev:code> <dev:remarks> <maml:para>This example begins the same as the last, using a camera selection dialog. Then we store the VmsCameraStreamConfig reference in the "$stream" variable, and display the content of "$stream.Settings". The results are a collection of key/value pairs representing a variety of properties of the default live stream for the selected camera.</maml:para> <maml:para>The properties will vary widely by camera make, model, and Milestone device pack driver. For instance, not every camera will have an "FPS" or "Resolution" property, and in some cases, they may be present, but with different names or value formats. For example, Resolution for one camera might be formatted like "1920x1080", while another camera stores resolution values like "MP 1080p". The properties and their available values are determined by the device pack driver on the recording server.</maml:para> <maml:para>By default, the values for settings are the "display values". For example, the raw value for Codec might be "4", but that is not meaningful for a report, so the display value for "4" is retrieved from the ValueTypeInfo collection. If raw values are preferred, you can use the "-RawValues" switch.</maml:para> <maml:para>Note that there are some settings, such as "EdgeStorageSupported" which are read-only. However, there is currently no method to discover this using this cmdlet.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code># This example will show the properties of an Axis camera using the ONVIF driver $camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $stream = $camera | Get-VmsCameraStream -LiveDefault -RawValues $stream.Settings <# OUTPUT (partial) Name Value ---- ----- Codec 4 #> $stream.ValueTypeInfo.Codec <# OUTPUT TranslationId Name Value ------------- ---- ----- f98cc65b-4b3c-43c6-b59e-25003f32b9a5 JPEG 0 e6d2aa07-39fc-49d7-a632-3ceb08b754c6 H.264 Baseline Profile 3 83f64935-44f7-40aa-860d-20fe57be44ce H.264 Main Profile 4 83c9a259-d54e-4179-91e9-d7c053dc0de8 H.264 High Profile 6 5acf7ca5-e822-460b-a70d-d3c82e28af48 H.265 Main Profile 7 #></dev:code> <dev:remarks> <maml:para>Building on the last example, here we dig deeper to understand the meaning of the codec setting value of "4". The setting name "Codec" is a key in the ValueTypeInfo hashtable and when we reveal the contents, we see a list of ValueTypeInformation objects showing the display name (Name) and internal value (Value) for each value available for that setting.</maml:para> <maml:para>We also see a TranslationId property. This can be used in combination with the "Get-Translation" cmdlet to get a localized display name for each value.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code># This example will show the properties of an Axis camera using the ONVIF driver $camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $stream = $camera | Get-VmsCameraStream -LiveDefault $stream.Settings <# OUTPUT (partial) Name Value ---- ----- Quality 70 #> $stream.ValueTypeInfo.Quality <# OUTPUT TranslationId Name Value ------------- ---- ----- MinValue 0 MaxValue 100 StepValue 1 #></dev:code> <dev:remarks> <maml:para>This example shows a different type of value you will encounter - a range. You will typically see these value types when working with numeric settings like FPS, Quality, Compression, and so on.</maml:para> <maml:para>When we check the ValueTypeInfo collection for the Quality property, we see the range defined as 0-100 using the MinValue and MaxValue entries. There is also a StepValue indicated, and from this we can determine that only whole numbers between 0 and 100 are accepted as values for the Quality setting. This value includes a StepValue, but not every range does.</maml:para> <maml:para>Since this value is not an "enumeration" type with fixed values like "Low" or "High", there are no words to translate, and we do not see any TranslationId values.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 5 --------------------------</maml:title> <dev:code>$codec = @{ Name = 'Codec' Expression = {$_.Settings.Codec} } $fps = @{ Name = 'FPS' Expression = {$_.Settings.FPS} } Get-VmsHardware | Get-VmsCamera | Get-VmsCameraStream -LiveDefault | ` Select-Object Camera, Name, DisplayName, Recorded, $codec, $fps | ` Select-Object -First 10 | ` Format-Table <# OUTPUT Camera Name DisplayName Recorded Codec FPS ------ ---- ----------- -------- ----- --- Learning & Performance (Bos... Video stream 1 Video stream 1 True 15 US101 at Lincoln City - Log... Video stream 1 Video stream 1 True MJPEG 0.5 I-405 at MP 0.8: West Valle... Video stream 1 Video stream 1 True MJPEG 0.5 Camera Lab (AXIS P1435-LE) Video stream 2 Video stream 2 False H.264 15 Southwest Corner - Rear Ent... Video stream 2 Video stream 2 False H.264 15 Halo Smart Sensor Video stream 1 Video stream 1 True H.264 10 I-84 at LePage Park - John ... Video stream 1 Video stream 1 True MJPEG 0.5 Gameroom door (AXIS P3245-V... Video stream 2 Video stream 2 False H.264 15 Southwest Corner - Rear Par... Video stream 2 Video stream 2 False H.264 15 Lobby Fisheye (Bosch 7000 M... Video stream 2 Video stream 2 False 15 #></dev:code> <dev:remarks> <maml:para>This example shows how you might use the cmdlet to learn about how all camera live streams are configured. With the "Select-Object -First 10" we limit the results. The $codec, and $fps hashtables are used to add "calculated properties" to our use of "Select-Object". When you want to include the nested value of a property in your results, this is one way to do that.</maml:para> <maml:para>The camera name is included in the default view for these results, and if you need more information from the camera object, you can use the hidden "Camera" property attached to the VmsCameraStreamConfig object returned by this cmdlet.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 6 --------------------------</maml:title> <dev:code>$camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' # Get the stream used as the default playback stream $camera | Get-VmsCameraStream -PlaybackDefault # Get the stream(s) that are NOT used as the default playback stream $camera | Get-VmsCameraStream -PlaybackDefault:$false # Get the primary recording stream $camera | Get-VmsCameraStream -RecordingTrack Primary # Get the secondary recording stream (supported in 2023 R2 and later) $camera | Get-VmsCameraStream -RecordingTrack Secondary # Get all enabled streams that are not used for recording. $camera | Get-VmsCameraStream -RecordingTrack None</dev:code> <dev:remarks> <maml:para>This example shows a few ways you can use the PlaybackDefault and RecordingTrack parameters which were introduced to support the adaptive playback feature introduced in 2023 R2.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsCameraStream/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsClientProfile</command:name> <command:verb>Get</command:verb> <command:noun>VmsClientProfile</command:noun> <maml:description> <maml:para>Gets smart client profiles defined in on the VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsClientProfile` cmdlet gets smart client profiles defined in on the VMS. By default one ClientProfile exists and the `IsDefaultProfile` property of that ClientProfile will be `$true`. Depending on the VMS version, more client profiles can be created and assigned as the default client profile for one or more roles.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DefaultProfile</maml:name> <maml:description> <maml:para>Return only the default client profile.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the client profile by Id.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsClientProfile</maml:name> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the client profile by name, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DefaultProfile</maml:name> <maml:description> <maml:para>Return only the default client profile.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the client profile by Id.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the client profile by name, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Guid</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsClientProfile</dev:code> <dev:remarks> <maml:para>Returns all smart client profiles. The order in which the profiles are returned should match the order shown in Smart Client. When a user is a member of more than one role where those roles each have their own default client profile, the user will end up using the client profile that comes before the others in the list.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsClientProfile -DefaultProfile</dev:code> <dev:remarks> <maml:para>Returns the default smart client profile. There should always be only one default client profile, it it should be the last entry in the list of client profiles as it will always have the lowest priority.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsClientProfile -Name 'Remote*'</dev:code> <dev:remarks> <maml:para>Returns all smart client profiles with a name beginning with the word "Remote". If no such profiles exist, no value will be returned and no error will be shown due to the presence of the "*" wildcard character.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Get-VmsClientProfile -Name 'Operators'</dev:code> <dev:remarks> <maml:para>Returns the smart client profile named 'Operators', if it exists. If it does not exist, an error is returned because the value provided to the `-Name` parameter does not contain a wildcard character.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 5 --------------------------</maml:title> <dev:code>Get-VmsClientProfile -Id '09325526-64f7-4348-bd40-112f9e17c2e6'</dev:code> <dev:remarks> <maml:para>Returns the smart client profile with Id '09325526-64f7-4348-bd40-112f9e17c2e6'. If the provided Id does not match an existing client profile, an error is returned.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsClientProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsClientProfileAttributes</command:name> <command:verb>Get</command:verb> <command:noun>VmsClientProfileAttributes</command:noun> <maml:description> <maml:para>Gets the attributes for the specified smart client profile.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsClientProfileAttributes` cmdlet gets the attributes for the specified smart client profile. Smart client profiles have several different categories of attributes or settings which are called "namespaces" in this PowerShell module which should be familiar if you have used the `Get-VmsRoleOverallSecurity` cmdlet.</maml:para> <maml:para>If no value is provided for the `Namespace` parameter, then a dictionary will be returned for all available namespaces. Each dictionary will contain a key named "Namespace" to help identify which namespace the attributes are from. The remaining keys will match the available attribute names for that client profile namespace.</maml:para> <maml:para>The values for each of the attributes will be a `[PSCustomObject]` with three properties: Value, ValueTypeInfo, and Locked.</maml:para> <maml:para>"Value" is the string value of that attribute. "ValueTypeInfo" will be `$null` by default, or an array of type [VideoOS.ConfigurationApi.ClientService.ValueTypeInfo[]] if the `ValueTypeInfo` switch is specified. The ValueTypeInfo array can be used as a reference to know what the valid options are for a given attribute. Finally, the "Locked" property will be one of either `$null`, `$true`, or `$false`. If the smart client profile attribute shows a checkbox option in the Management Client, then the value should be `$true` if currently checked or "locked", and `$false` if currently unchecked. If there is no checkbox in Management Client, then the value will be `$null`. This normally means the attribute doesn't represent a setting that is possible to change in Smart Client.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsClientProfileAttributes</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Namespace</maml:name> <maml:description> <maml:para>Specifies one or more existing client profile attribute namespaces. If omitted, attributes from all namespaces will be returned. This parameter can be tab-completed when used interactively.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ValueTypeInfo</maml:name> <maml:description> <maml:para>Include ValueTypeInfo data, if available, for each attribute.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Namespace</maml:name> <maml:description> <maml:para>Specifies one or more existing client profile attribute namespaces. If omitted, attributes from all namespaces will be returned. This parameter can be tab-completed when used interactively.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ValueTypeInfo</maml:name> <maml:description> <maml:para>Include ValueTypeInfo data, if available, for each attribute.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Collections.IDictionary</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsClientProfile | Foreach-Object { $general = $_ | Get-VmsClientProfileAttributes -Namespace General [pscustomobject]@{ Name = $_.Name StartView = $general.ApplicationStartView.Value } } <# OUTPUT Name StartView ---- --------- Operator Profile Last Default Smart Client Profile Last #></dev:code> <dev:remarks> <maml:para>Returns a `[pscustomobject]` with the name of every smart client profile and the value of the "ApplicationStartView" attribute in namespace "General".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsClientProfile | Foreach-Object { $general = $_ | Get-VmsClientProfileAttributes -Namespace General -ValueTypeInfo [pscustomobject]@{ Name = $_.Name StartView = $general.ApplicationStartView.Value Options = $general.ApplicationStartView.ValueTypeInfo.Value -join '|' } } <# OUTPUT Name StartView Options ---- --------- ------- Operator Profile Last Last|None|Ask Default Smart Client Profile Last Last|None|Ask #></dev:code> <dev:remarks> <maml:para></maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>(Get-VmsClientProfile -DefaultProfile | Get-VmsClientProfileAttributes).Namespace <# OUTPUT AccessControl Advanced AlarmManager Export General GisMap Live Playback Setup Timeline ViewLayouts #></dev:code> <dev:remarks> <maml:para>Returns a list of all the available smart client profile attribute namespaces by retrieving all attributes from the default client profile and returning the value behind the "Namespace" key from each attribute dictionary.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsClientProfileAttributes/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsConnectionProfile</command:name> <command:verb>Get</command:verb> <command:noun>VmsConnectionProfile</command:noun> <maml:description> <maml:para>Gets the saved VMS connection profile, or all saved VMS connection profiles.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsConnectionProfile` cmdlet returns the properties for a named VMS connection profile previously saved using the `Connect-Vms` cmdlet, or the `Save-VmsConnectionProfile` cmdlet.</maml:para> <maml:para>When using named connection profiles with MilestonePSTools, the connection details are saved to the current Windows user profile under `$env:LOCALAPPDATA\MilestonePSTools\credentials.xml` using the `Export-CliXml` cmdlet. If a credential is provided with `Connect-Vms`, the password is encrypted using Windows Data Protection API with "CurrentUser" scope. This ensures passwords cannot be decrypted except by the current user on the current computer.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsConnectionProfile</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>Return all saved connection profiles.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsConnectionProfile</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile to return.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>Return all saved connection profiles.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile to return.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Management.Automation.PSObject</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsConnectionProfile</dev:code> <dev:remarks> <maml:para>Gets the VMS connection profile information for the profile named 'default'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsConnectionProfile -Name 'default'</dev:code> <dev:remarks> <maml:para>Gets the VMS connection profile information for the profile named 'default'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsConnectionProfile -Name 'management1'</dev:code> <dev:remarks> <maml:para>Gets the VMS connection profile information for the profile named 'management1'.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Get-VmsConnectionProfile -All</dev:code> <dev:remarks> <maml:para>Gets a list of all saved VMS connection profiles available to the currently logged on Windows user.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsConnectionProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsConnectionString</command:name> <command:verb>Get</command:verb> <command:noun>VmsConnectionString</command:noun> <maml:description> <maml:para>Gets the Management Server's SQL connection string from the registry.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The Get-VmsConnectionString cmdlet gets the connection string value from either HKLM:\SOFTWARE\VideoOS\Server\Common, or on versions 2022 R3 and later, HKLM:\SOFTWARE\VideoOS\Server\ConnectionString.</maml:para> <maml:para>IMPORTANT: It is not recommended, or supported, to manipulate data in the SQL database(s) used by Milestone XProtect products. The database schema is not documented, and may change without warning between product versions.</maml:para> <maml:para>However, it is occasionally useful to read or modify database contents. If you choose to do so, it is at your own risk. Please be sure to create a configuration backup from Management Client, or a SQL database backup, before making any changes.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsConnectionString</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Component</maml:name> <maml:description> <maml:para>Specifies the name of the connection string value to retrieve from the registry. On VMS versions 2022 R3 and later, these may include EventServer, IDP, IncidentManager, LogServer, ManagementServer, ReportServer, and ServerService.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>ManagementServer</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Component</maml:name> <maml:description> <maml:para>Specifies the name of the connection string value to retrieve from the registry. On VMS versions 2022 R3 and later, these may include EventServer, IDP, IncidentManager, LogServer, ManagementServer, ReportServer, and ServerService.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>ManagementServer</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsConnectionString</dev:code> <dev:remarks> <maml:para>Gets the current ManagementServer connection string value from the registry.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VmsConnectionString LogServer</dev:code> <dev:remarks> <maml:para>Gets the current LogServer connection string value from the registry, but only on VMS versions 2022 R3 and later.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsConnectionString/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsDeviceEvent</command:name> <command:verb>Get</command:verb> <command:noun>VmsDeviceEvent</command:noun> <maml:description> <maml:para>Get device events associated with Hardware, Camera, Microphone, Speaker, Metadata, Input, and Output devices.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsDeviceEvent` cmdlet gets device events associated with Hardware, Camera, Microphone, Speaker, Metadata, Input, and Output devices. These events are made available by the Hardware and the available events will depend on the make, model, and firmware, the configuration of the device prior to adding it to Milestone, as well as the device pack version installed on the recording server.</maml:para> <maml:para>Note that some devices do not have events, and not all devices will have the same events. The available events might change after installing new plugins or firmware on the hardware. If you do not find the events you expect, you may need to run an "update hardware" or "replace hardware" task. The `Set-VmsHardwareDriver` command can be used to trigger a "replace hardware" task which may result in an updated set of hardware/camera/device events.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsDeviceEvent</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies one of the following device types: Hardware, Camera, Microphone, Speaker, Metadata, Input, or Output.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Hardware, Camera, Microphone, Speaker, Metadata, InputEvent, Output</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the event to return, with support for wildcard characters. All events are returned by default.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Used</maml:name> <maml:description> <maml:para>When specified, only events where the EventUsed property matches will be returned. All events are returned by default.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>When specified, only events where the Enabled property matches will be returned. All events are returned by default.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies one of the following device types: Hardware, Camera, Microphone, Speaker, Metadata, Input, or Output.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Hardware, Camera, Microphone, Speaker, Metadata, InputEvent, Output</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>When specified, only events where the Enabled property matches will be returned. All events are returned by default.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the event to return, with support for wildcard characters. All events are returned by default.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Used</maml:name> <maml:description> <maml:para>When specified, only events where the EventUsed property matches will be returned. All events are returned by default.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.HardwareDeviceEventChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Two `NoteProperty` property members named `Device` and `HardwareDeviceEvent` are added to the `HardwareDeviceEventChildItem` object(s) returned by this command and these are required by `Set-VmsDeviceEvent`.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsCamera | Select-Object -First 1 | Get-VmsDeviceEvent</dev:code> <dev:remarks> <maml:para>Selects the first camera returned from `Get-VmsCamera` and returns all available hardware events.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsHardware | Get-VmsMicrophone -EnableFilter All | Select-Object -First 1 | Get-VmsDeviceEvent -Used $true</dev:code> <dev:remarks> <maml:para>Selects the first microphone returned from `Get-VmsMicrophone -EnableFilter All` and returns only the events where the "EventUsed" property is `$true`. These are the available events that have been "added", but only the ones where both "EventUsed" and "Enabled" are `$true` will be active and possible to use as a rule or alarm trigger in the VMS.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsHardware | Get-VmsInput -EnableFilter All | Select-Object -First 1 | Get-VmsDeviceEvent -Used $true -Enabled $true</dev:code> <dev:remarks> <maml:para>Selects the first input returned from `Get-VmsInput` and returns only the events that are both added (EventUsed is `$true`) and enabled.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsDeviceEvent/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsDeviceGroup</command:name> <command:verb>Get</command:verb> <command:noun>VmsDeviceGroup</command:noun> <maml:description> <maml:para>Gets the device groups matching the specified criteria.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets the device groups matching the specified criteria. This cmdlet can return device groups of the following types: Camera, Microphone, Speaker, Metadata, Input and Output.</maml:para> <maml:para>Device groups are hierarchical and can each have any number of siblings and children. The MilestonePSTools module adds a unix-style path feature where the device group "path" can be specified like "/Top-level group/subgroup/subgroup".</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsDeviceGroup</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of a device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="DeviceCategory"> <maml:name>Type</maml:name> <maml:description> <maml:para>Specifies the type of device group to return. The default is "Camera".</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Input</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ParentGroup</maml:name> <maml:description> <maml:para>Specifies the parent device group. Only children of this group will be returned.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that the matching device group, and all child device groups should be returned recursively.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsDeviceGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a full unix-style path to the desired device group. See the examples for reference.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="DeviceCategory"> <maml:name>Type</maml:name> <maml:description> <maml:para>Specifies the type of device group to return. The default is "Camera".</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Input</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that the matching device group, and all child device groups should be returned recursively.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of a device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ParentGroup</maml:name> <maml:description> <maml:para>Specifies the parent device group. Only children of this group will be returned.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a full unix-style path to the desired device group. See the examples for reference.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that the matching device group, and all child device groups should be returned recursively.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="DeviceCategory"> <maml:name>Type</maml:name> <maml:description> <maml:para>Specifies the type of device group to return. The default is "Camera".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>New-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" Get-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3"</dev:code> <dev:remarks> <maml:para>Creates a three-level deep camera group hierarchy, and then demonstrates how to retrieve that camera group using the Path parameter.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>New-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" Get-VmsDeviceGroup -Name 'Level 1' | Get-VmsDeviceGroup -Name 'Level 2' | Get-VmsDeviceGroup -Name 'Level 3'</dev:code> <dev:remarks> <maml:para>Creates a three-level deep camera group hierarchy, and then demonstrates how to retrieve that camera group by piping the parent group so that the "Name" parameter will be used to find the group with the matching name within the parent group's device group folder.</maml:para> <maml:para>Since no parent group was provided to the first call to Get-VmsDeviceGroup, the lookup began at (Get-VmsManagementServer).CameraGroupFolder.CameraGroups.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>New-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" -Type Microphone Get-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" -Type Microphone</dev:code> <dev:remarks> <maml:para>Creates a three-level deep microphone group hierarchy, and then demonstrates how to retrieve that microphone group using the Path parameter. Note that the default device group type is "Camera" so when working with other device types you will need to specify the device group type.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsDeviceGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsDeviceGroupMember</command:name> <command:verb>Get</command:verb> <command:noun>VmsDeviceGroupMember</command:noun> <maml:description> <maml:para>Gets all member devices of the specified device group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets all member devices of the specified device group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsDeviceGroupMember</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies the device group from which to return member devices.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies that the allowed enabled-state for devices returned. By default, only enabled devices are returned.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">All</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Disabled</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">EnableFilter</command:parameterValue> <dev:type> <maml:name>EnableFilter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>EnableFilter</maml:name> <maml:description> <maml:para>Specifies that the allowed enabled-state for devices returned. By default, only enabled devices are returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">EnableFilter</command:parameterValue> <dev:type> <maml:name>EnableFilter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies the device group from which to return member devices.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsDeviceGroup -Recurse | Get-VmsDeviceGroupMember</dev:code> <dev:remarks> <maml:para>Returns a list of all cameras in all camera groups, recursively. Note that since a camera may be in more than one device group, this will potentially return multiple instances of the same camera.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsDeviceGroupMember/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsDeviceStatus</command:name> <command:verb>Get</command:verb> <command:noun>VmsDeviceStatus</command:noun> <maml:description> <maml:para>Gets the current device status for any streaming device directly from the recording server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Recording Servers offer a status interface called RecorderStatusService2. This service has a method called GetCurrentDeviceStatus which can return the current state of any streaming device type including cameras, microphones, speakers, and metadata, as well as IO device types including inputs and outputs.</maml:para> <maml:para>This cmdlet will return status for one or more of the streaming device types, and the results will include all devices of the specified type(s) that are active on the recording server.</maml:para> <maml:para>Note that the Motion property will always be false for anything but the Camera device type.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsDeviceStatus</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="Id"> <maml:name>RecordingServerId</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server ID's. Omit this parameter and all recording servers will be queried for status.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceType</maml:name> <maml:description> <maml:para>Specifies one or more streaming device types to retrieve status for.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceType</maml:name> <maml:description> <maml:para>Specifies one or more streaming device types to retrieve status for.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="Id"> <maml:name>RecordingServerId</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server ID's. Omit this parameter and all recording servers will be queried for status.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>[VmsStreamDeviceStatus]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>If one or more status entries have a DeviceId value of "00000000-0000-0000-0000-000000000000", this means the recording server has not been able to load the device configuration yet. This should normally not happen except perhaps for a short period after the recording server is started. If the issue does not resolve on it's own, it's possible you are impacted by an issue solved by a cumulative patch available for your product version. If you're unable to resolve the issue and the camera is unavailable in XProtect Smart Client, you should open a support case with Milestone technical support.</maml:para> <maml:para>The following log message from the recording server's RecorderEngine.log file at C:\ProgramData\Milestone\XProtect Recording Server\Logs is one error that is known to result in device status messages like this.</maml:para> <maml:para>2022-01-27 16:33:48.620-08:00 [ 7] ERROR - Unable to get driver update changes (Retries: 323). Hardware Id: fbcf40ba-e807-419a-8e11-e782551190a5; Hardware model: Bosch1ch;</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Get-VmsDeviceStatus -DeviceType Camera, Microphone <# OUTPUT DeviceName : Learning & Performance (Bosch 7000VR) DeviceType : Camera RecorderName : Milestone Demo RecorderId : 72080191-d39d-4229-b151-65bcd740c393 Motion : False Recording : False DbMoveInProgress : False ErrorOverflow : False ErrorWritingGop : False DbRepairInProgress : False DeviceId : 004962d3-b129-4099-8c6e-0f8bff8385b0 IsChange : False Enabled : True Started : True Error : False ErrorNotLicensed : False ErrorNoConnection : False Time : 1/27/2022 11:33:32 PM #></dev:code> <dev:remarks> <maml:para>After logging in to the Management Server, the status of all enabled cameras and microphones is returned. The example shows all properties available on the resulting VmsStreamDeviceStatus object.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VmsDeviceStatus</dev:code> <dev:remarks> <maml:para>Returns the status of all cameras on all recording servers. The default DeviceType value is 'Cameras', so if that is all you need, you may omit the DeviceType parameter like this. And when no recording server ID's are provided, status requests are sent to all recording servers.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Name 'Recorder1' | Get-VmsDeviceStatus</dev:code> <dev:remarks> <maml:para>Returns the status of all cameras on recording server named "Recorder1". The RecordingServerId property has an alias of "Id" and accepts values from the pipeline by property name, so you can pipe a Recording Server object to this cmdlet.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsDeviceStatus/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsFailoverGroup</command:name> <command:verb>Get</command:verb> <command:noun>VmsFailoverGroup</command:noun> <maml:description> <maml:para>Gets one or more failover groups.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsFailoverGroup` cmdlet gets one or more existing failover groups, which can each contain failover recording servers.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsFailoverGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of an existing failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsFailoverGroup</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of an existing failover group with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of an existing failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of an existing failover group with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsFailoverGroup</dev:code> <dev:remarks> <maml:para>Gets all existing failover groups.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsFailoverGroup -Name FO1</dev:code> <dev:remarks> <maml:para>Gets the failover group named FO1.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsFailoverGroup -Name Site-A*</dev:code> <dev:remarks> <maml:para>Gets all failover groups having a name that starts with "Site-A".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Get-VmsFailoverGroup -Id 556d1e2a-bed9-4ae5-b54a-f27d49839525</dev:code> <dev:remarks> <maml:para>Gets the failover group with Id '556d1e2a-bed9-4ae5-b54a-f27d49839525'.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsFailoverGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsFailoverRecorder</command:name> <command:verb>Get</command:verb> <command:noun>VmsFailoverRecorder</command:noun> <maml:description> <maml:para>Gets one or more matching failover recording servers from the VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsFailoverRecorder` cmdlet returns matching failover recording servers from the VMS configuration.</maml:para> <maml:para>Failover recording servers can be "unassigned", meaning they have not been added to a failover group. They can also be "hotstandby" servers, meaning they are not a member of a failover group, and they have been selected to be used exclusively for failover of a specific recording server. Finally, a failover server can be in a single failover recorder group.</maml:para> <maml:para>Failover groups can be selected as either a primary, or secondary failover group for a given recording server, and multiple recording servers can use the same failover group, regardless of the number of failover recording servers in the group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsFailoverRecorder</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a FailoverGroup object returned by `Get-VmsFailoverGroup`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that all failover recording servers should be returned from all failover groups, as well as any unassigned or hotstandby failovers.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsFailoverRecorder</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HotStandby</maml:name> <maml:description> <maml:para>Specifies that only hotstandby failover recorders should be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsFailoverRecorder</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the GUID of a specific failover recorder, regardless of whether it is in a group, unassigned, or a hotstandby failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsFailoverRecorder</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Unassigned</maml:name> <maml:description> <maml:para>Specifies that only failover recorders that are unassigned should be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a FailoverGroup object returned by `Get-VmsFailoverGroup`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HotStandby</maml:name> <maml:description> <maml:para>Specifies that only hotstandby failover recorders should be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the GUID of a specific failover recorder, regardless of whether it is in a group, unassigned, or a hotstandby failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that all failover recording servers should be returned from all failover groups, as well as any unassigned or hotstandby failovers.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Unassigned</maml:name> <maml:description> <maml:para>Specifies that only failover recorders that are unassigned should be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Guid</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverRecorder</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsFailoverRecorder</dev:code> <dev:remarks> <maml:para>When used without parameters, all unassigned and hotstandby failover recording servers are returned.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsFailoverRecorder -Unassigned</dev:code> <dev:remarks> <maml:para>All failover recording servers that have not been added to a failover group, and have not been selected as a hotstandby are returned.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsFailoverRecorder -Hotstandby</dev:code> <dev:remarks> <maml:para>Only hotstandby recording servers are returned.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Get-VmsFailoverGroup | Foreach-Object { $group = $_ Get-VmsFailoverRecorder -FailoverGroup $group | Foreach-Object { [pscustomobject]@{ FailoverGroup = $group.Name FailoverRecorder = $_.Name } } }</dev:code> <dev:remarks> <maml:para>This example demonstrates how to use the `-FailoverGroup` parameter. It will generate a table of failover recorders and the name of the failover group they are assigned to.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Get-VmsFailoverRecorder -Recurse</dev:code> <dev:remarks> <maml:para>Returns all unassigned, hotstandby, and failover recording servers assigned to failover groups.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsFailoverRecorder/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsHardwareDriver</command:name> <command:verb>Get</command:verb> <command:noun>VmsHardwareDriver</command:noun> <maml:description> <maml:para>Gets the HardwareDriver associated with an existing Hardware object, or all HardwareDrivers available on a recording server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsHardwareDriver` cmdlet returns the HardwareDriver object associated with an existing Hardware device, or if provided with a recording server, it returns all HardwareDrivers available on the recording server.</maml:para> <maml:para>The HardwareDriver object provides information about a hardware driver including: GroupName (Axis, Bosch, Milestone, Sony), Number, DriverVersion, DriverRevision, DriverType, Name, and others.</maml:para> <maml:para>The DriverVersion and DriverRevision properties can be used to compare drivers between two recording servers to determine if the same device pack driver version is being used.</maml:para> <maml:para>A HardwareDriver object can be used with the `Set-VmsHardwareDriver` cmdlet instead of relying on the Driver argument transformation to look up a driver number or name when changing the driver to use for a given hardware device.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsHardwareDriver</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies a Hardware object which can be retrieved using `Get-VmsHardware`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsHardwareDriver</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies a RecordingServer object which can be retrieved using `Get-VmsRecordingServer`. The recording server name can also be provided, and the matching RecordingServer(s) will be retrieved automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies a Hardware object which can be retrieved using `Get-VmsHardware`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies a RecordingServer object which can be retrieved using `Get-VmsRecordingServer`. The recording server name can also be provided, and the matching RecordingServer(s) will be retrieved automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.RecordingServer[]</maml:name> </dev:type> <maml:description> <maml:para>This cmdlet accepts one or more RecordingServer objects from the pipeline.</maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware[]</maml:name> </dev:type> <maml:description> <maml:para>This cmdlet accepts one or more Hardware objects from the pipeline.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.HardwareDriver</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer | Select-Object -First 1 | Get-VmsHardwareDriver</dev:code> <dev:remarks> <maml:para>Returns all HardwareDrivers associated with the first recording server returned by `Get-VmsRecordingServer`.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsHardware | Select-Object -First 1 | Get-VmsHardwareDriver</dev:code> <dev:remarks> <maml:para>Returns the HardwareDriver associated with the first hardware device returned by `Get-VmsHardware`.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsHardwareDriver/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsHardwarePassword</command:name> <command:verb>Get</command:verb> <command:noun>VmsHardwarePassword</command:noun> <maml:description> <maml:para>Gets the password used by the VMS to authenticate with the hardware.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets the password used by the VMS to authenticate with the hardware.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsHardwarePassword</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies the hardware for which to retrieve the password.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware</command:parameterValue> <dev:type> <maml:name>Hardware</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies the hardware for which to retrieve the password.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware</command:parameterValue> <dev:type> <maml:name>Hardware</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsHardware | Foreach-Object { [pscustomobject]@{ Address = $_.Address UserName = $_.UserName Password = $_ | Get-VmsHardwarePassword } }</dev:code> <dev:remarks> <maml:para>Gets the address, username, and password for all hardware on all recording servers.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsHardwarePassword/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsLoginProvider</command:name> <command:verb>Get</command:verb> <command:noun>VmsLoginProvider</command:noun> <maml:description> <maml:para>Gets the configured external login provider(s).</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsLoginProvider` cmdlet gets the configured external login provider. As of XProtect VMS versions 2023 R1 there can be only one external login provider. In the future, it may be possible to have more than one external login provider, and this cmdlet should be capable of returning one, or more, or all login providers configured on the VMS.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsLoginProvider</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the literal name of an existing login provider entry.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the literal name of an existing login provider entry.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsLoginProvider</dev:code> <dev:remarks> <maml:para>Gets all configured login providers.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsLoginProvider -Name Auth0</dev:code> <dev:remarks> <maml:para>Gets the login provider Auth0, or results in an error if no matching login provider is found in the VMS configuration.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsLoginProvider/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsLoginProviderClaim</command:name> <command:verb>Get</command:verb> <command:noun>VmsLoginProviderClaim</command:noun> <maml:description> <maml:para>Gets the registered claims associated with the specified login provider.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsLoginProviderClaim` cmdlet returns the registered claims associated with the provided login provider. The claims returned by this cmdlet are the only claims allowed to be used with roles to determine privileges for users from the external login provider on the VMS.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsLoginProviderClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>The login provider from which to return the registered claims.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the claim to return from the specified login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>The login provider from which to return the registered claims.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the claim to return from the specified login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.RegisteredClaim</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsLoginProvider | Get-VmsLoginProviderClaim | Select-Object Name, DisplayName, CaseSensitive</dev:code> <dev:remarks> <maml:para>Gets all registered claims from all configured login providers an displays the relevant configuration properties: name, display name, and whether the name of the claim is case sensitive.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsLoginProviderClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsRecordingServer</command:name> <command:verb>Get</command:verb> <command:noun>VmsRecordingServer</command:noun> <maml:description> <maml:para>Gets one or more matching recording servers from the VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets one or more matching recording servers from the VMS. Recording servers can be retrieved by name, ID, or hostname.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsRecordingServer</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="ComputerName"> <maml:name>HostName</maml:name> <maml:description> <maml:para>Specifies the hostname of the recording server to retrieve, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsRecordingServer</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of the recording server to retrieve.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsRecordingServer</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the recording server to retrieve, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="ComputerName"> <maml:name>HostName</maml:name> <maml:description> <maml:para>Specifies the hostname of the recording server to retrieve, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of the recording server to retrieve.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the recording server to retrieve, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Guid</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.RecordingServer</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>These configuration api objects are cached in the PowerShell session. Additions, removals, or changes to these objects outside of the current PowerShell session may not be reflected until you execute the `Clear-VmsCache` cmdlet, login again, or start a new PowerShell session.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer</dev:code> <dev:remarks> <maml:para>Gets a list of all recording servers in the VMS.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Name "Portland*"</dev:code> <dev:remarks> <maml:para>Gets a list of all recording servers with a name starting with "Portland".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Id 4a10679c-a8c6-4aa9-a418-1898f2b0198d</dev:code> <dev:remarks> <maml:para>Gets the recording server with ID "4a10679c-a8c6-4aa9-a418-1898f2b0198d". Note that when retrieving items by ID, it typically bypasses the local configuration api cache. This means it guarantees an API call to the management server which may, or may not be an advantage.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsRecordingServer/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsRestrictedMedia</command:name> <command:verb>Get</command:verb> <command:noun>VmsRestrictedMedia</command:noun> <maml:description> <maml:para>Gets live and playback video restriction entries.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsRestrictedMedia` cmdlet gets live and playback video restriction entries. Playback restrictions are returned by default, and live video restrictions are returned when the `-Live` switch is present and evaluates to `$true`.</maml:para> <maml:para>When retrieving video playback restrictions, a `RestrictedMedia` object is returned which includes the following properties: `Header`, `Description`, `StartTime`, `EndTime`, `DeviceIds`, `UserName`, `LastModified`, and `Id`.</maml:para> <maml:para>When retrieving live video restrictions, a `RestrictedMediaLive` object is returned which includes the following properties: `DeviceId`, `StartTime`, `UserName`, and `LastModified`.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> <maml:para>- Requires VMS feature "RestrictedMedia"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsRestrictedMedia</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Live</maml:name> <maml:description> <maml:para>Return live video restrictions instead of playback video restrictions.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Live</maml:name> <maml:description> <maml:para>Return live video restrictions instead of playback video restrictions.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMedia</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMediaLive</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRestrictedMedia</dev:code> <dev:remarks> <maml:para>Get a list of all restricted video playback records.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRestrictedMedia -Live</dev:code> <dev:remarks> <maml:para>Get a list of all restricted video playback records.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>$camera = Select-Camera -SingleSelect Get-VmsRestrictedMedia | Where-Object DeviceIds -contains $camera.Id</dev:code> <dev:remarks> <maml:para>Get a list of all video playback restrictions including the ID of the selected camera, if any exist.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>$camera = Select-Camera -SingleSelect Get-VmsRestrictedMedia -Live | Where-Object DeviceId -eq $camera.Id</dev:code> <dev:remarks> <maml:para>Get the active live video restriction associated the selected camera, if one exists.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsRestrictedMedia/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsRole</command:name> <command:verb>Get</command:verb> <command:noun>VmsRole</command:noun> <maml:description> <maml:para>Gets one or more of the roles already configured in the VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsRole` cmdlet gets roles configured in the VMS. Users and groups can be a member of one or more roles, and permissions are granted (or denied) to a role.</maml:para> <maml:para>Permissions for a role are divided into two categories: overall security, and item-level security. For example, a role can be granted "Allow" for "GENERIC_READ", "VIEW_LIVE", and "PLAYBACK" for all cameras using overall security. Alternatively, a role can be granted those permissions for only a select set of cameras.</maml:para> <maml:para>Permissions can be mixed as well. For example, if you want all members of a role to have permission to view live video from all cameras, you can set "GENERIC_READ" and "VIEW_LIVE" to "Allow" under overall security, and then grant playback permission to a subset of cameras.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsRole</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="RoleId"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the `[guid]` of an existing role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsRole</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of a role with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RoleType</maml:name> <maml:description> <maml:para>Specifies the type of role to return: Administrative, or UserDefined. Please note that the typo on "Adminstrative" intentionally matches the typo for the RoleType property in MIP SDK.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="RoleId"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the `[guid]` of an existing role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of a role with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RoleType</maml:name> <maml:description> <maml:para>Specifies the type of role to return: Administrative, or UserDefined. Please note that the typo on "Adminstrative" intentionally matches the typo for the RoleType property in MIP SDK.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRole</dev:code> <dev:remarks> <maml:para>Gets all roles defined in the VMS, including the default Administrators role.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRole -Name Operators</dev:code> <dev:remarks> <maml:para>Gets the role named "Operators" if it exists, or returns an error if the role could not be found.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsRole -RoleType UserDefined</dev:code> <dev:remarks> <maml:para>Gets all user-defined roles. This is useful when checking/changing permissions for many roles since it is invalid to change permissions for the Administrator role.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsRole/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsRoleClaim</command:name> <command:verb>Get</command:verb> <command:noun>VmsRoleClaim</command:noun> <maml:description> <maml:para>Gets the claim names and values added to the specified role(s).</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsRoleClaim` cmdlet returns claims that have been added to a role. The claim names and values are used to determine whether an external user should be granted the privileges associated with the role.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsRoleClaim</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role from which to return claims.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies the name(s) of claims to return from the role configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Only claims associated with the specified external login provider will be returned. The default is to return claims from all login providers.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies the name(s) of claims to return from the role configuration.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Only claims associated with the specified external login provider will be returned. The default is to return claims from all login providers.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role from which to return claims.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClaimChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>function Get-VmsRoleClaimReport { $providers = Get-VmsLoginProvider foreach ($role in Get-VmsRole) { foreach ($claim in Get-VmsRoleClaim) { [pscustomobject]@{ Role = $role.Name Provider = ($providers | Where-Object Id -eq $claim.ClaimProvider).Name Claim = $claim.ClaimName Value = $claim.ClaimValue } } } } Get-VmsRoleClaimReport | Export-Csv -Path ~\Desktop\Vms-Role-Claim-Report.csv -NoTypeInformation</dev:code> <dev:remarks> <maml:para>A short function to produce a four-column report in CSV format providing all claims and values associated with all external login providers, for all roles. The completed CSV file is saved to the desktop of the current user.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsRoleClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsRoleMember</command:name> <command:verb>Get</command:verb> <command:noun>VmsRoleMember</command:noun> <maml:description> <maml:para>Gets the members of the specified VMS role.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets the members of the specified VMS role. Members can be local Windows users and groups, Active Directory users and groups, Milestone Basic Users, users from a customer-managed external identity provider.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsRoleMember</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.User</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRole -Name Operators | Get-VmsRoleMember</dev:code> <dev:remarks> <maml:para>Gets all the members of the role named "Operators".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRoleMember -Role "Instructor"</dev:code> <dev:remarks> <maml:para>Gets all the members of the role named "Instructor".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsRoleMember</dev:code> <dev:remarks> <maml:para>Gets all the members of all roles. Note that there is no way to know which role a role member was returned from as the "User" objects do not have a property on them to identify the role they were returned from. Users may be a member of multiple roles, so when you do not provide a role with this cmdlet, you may see duplicate user entries and this is to be expected.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsRoleMember/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsRoleOverallSecurity</command:name> <command:verb>Get</command:verb> <command:noun>VmsRoleOverallSecurity</command:noun> <maml:description> <maml:para>Gets the overall security settings per security namespace for a role.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets the overall security settings per security namespace for a role. With the exception of the default Administrators role, roles have a collection of "Overall Security" namespaces, each with their own set of permissions.</maml:para> <maml:para>A security namespace defines a group of related permissions such as "Cameras" or "Management Server". The "Cameras" security namespace defines permissions like "VIEW_LIVE" or "PLAYBACK". The values of all permissions in overall security are either "Allow", "Deny" or "None" with the default value of "None".</maml:para> <maml:para>Permissions in Milestone are cumulative, with a "Deny" taking priority over any "Allow". For example, if you are a member of Role A and Role B, with Role A giving you permission to export video, but Role B has a "Deny" for the same security attribute, then you will not be allowed to export video.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsRoleOverallSecurity</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>SecurityNamespace</maml:name> <maml:description> <maml:para>Specifies the name or ID of an existing security namespace.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>SecurityNamespace</maml:name> <maml:description> <maml:para>Specifies the name or ID of an existing security namespace.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Collections.Hashtable</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRoleOverallSecurity -Role 'Operators' -SecurityNamespace Alarms</dev:code> <dev:remarks> <maml:para>Gets the overall security settings for Alarms, for the role named "Operators".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$role = Get-VmsRole -Name 'Operators' $role | Get-VmsRoleOverallSecurity -SecurityNamespace '623d03f8-c5d5-46bc-a2f4-4c03562d4f85'</dev:code> <dev:remarks> <maml:para>Gets the overall security settings for the Cameras security namespace using the unique ID of that security namespace which can reduce the time to resolve namespaces. This can help reduce the time it takes to retrieve/update overall security settings on systems with 1000+ roles.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsRoleOverallSecurity/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsRule</command:name> <command:verb>Get</command:verb> <command:noun>VmsRule</command:noun> <maml:description> <maml:para>Get existing rules configured on the VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsRule` cmdlet returns rules configured on the VMS based on the specified parameters. Note that the Configuration API is unable to represent all of the possible rule definitions. See Introduction to Configuration API (https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&tree=tree_4.html)for more details about support for rules.</maml:para> <maml:para>According to the Configuration API documentation, the following rule actions are not supported:</maml:para> <maml:para>- Send notification to profile</maml:para> <maml:para>- Set matrix to view devices</maml:para> <maml:para>- Start patrolling on device using profile</maml:para> <maml:para>- Pause patrolling on devices</maml:para> <maml:para>- Show access request notification</maml:para> <maml:para>- Change password on hardware devices</maml:para> <maml:para>- Play audio message on devices with priority</maml:para> <maml:para></maml:para> <maml:para>In addition to these unsupported rule actions, MIP Plugin-defined actions are only supported where the action accepts built-in items as parameters such as Cameras, Microphones, Metadata, and so on. Actions that are generated by a plugin, such as the sample BAT Action plugin, are not supported in Configuration API.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsRule</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of an existing rule.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsRule</maml:name> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of an existing role, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of an existing rule.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of an existing role, with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRule</dev:code> <dev:remarks> <maml:para>Gets all rule definitions that are possible to represent through Configuration API.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRule -Name '*Default*'</dev:code> <dev:remarks> <maml:para>Gets all rule definitions with the word "Default" in the rule name.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsRule/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsSiteInfo</command:name> <command:verb>Get</command:verb> <command:noun>VmsSiteInfo</command:noun> <maml:description> <maml:para>Gets one or more site information fields.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet gets the site information values. Each line of information is returned as pscustomobject with a DisplayName, Property, and Value property.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsSiteInfo</maml:name> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Property</maml:name> <maml:description> <maml:para>Specifies the property name to get. The default is to return all values.</maml:para> <maml:para>The values as of 2022 R2 are: address.Name, address.Address, address.State, address.Phone, address.Country, address.ZipCode, admin.Name, admin.Address, admin.Phone, additional.AdditionalInfo</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Property</maml:name> <maml:description> <maml:para>Specifies the property name to get. The default is to return all values.</maml:para> <maml:para>The values as of 2022 R2 are: address.Name, address.Address, address.State, address.Phone, address.Country, address.ZipCode, admin.Name, admin.Address, admin.Phone, additional.AdditionalInfo</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>PSCustomObject</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Get-VmsSiteInfo <# OUTPUT DisplayName Property Value ----------- -------- ----- Address - Name address.Name Milestone Systems Address - Address address.Address 5300 Meadows Rd STE 400 Address - Address address.Address Lake Oswego, OR 97035 Address - Country address.Country United States Address - Phone address.Phone +1 503-350-1100 #></dev:code> <dev:remarks> <maml:para>After logging in to the Management Server, this example returns all site information. This information could be piped directly to a CSV file and then imported on a different site if you have many sites that you manage. See the next example for inspiration.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code># Export current site's site info to csv Get-VmsSiteInfo | Export-Csv ~\Desktop\siteinfo.csv # Update the site info on a different site Clear-VmsSiteInfo -Verbose Import-Csv ~\Desktop\siteinfo.csv | Set-VmsSiteInfo -Append -Verbose</dev:code> <dev:remarks> <maml:para>This example shows how you might export the site information, and then import that information on a different site. On the new site, we first use Clear-VmsSiteInfo to ensure that we don't add new data to existing site info properties. Then we import the rows from the csv file which as the columns "DisplayName", "Property", and "Value" by default because that is the name of the properties returned by Get-VmsSiteInfo.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsSiteInfo/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsStorage</command:name> <command:verb>Get</command:verb> <command:noun>VmsStorage</command:noun> <maml:description> <maml:para>Gets the Storage objects representing the live recording storages on Milestone XProtect recording servers</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets the Storage objects representing the live recording storages on Milestone XProtect recording servers</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="RecordingStorage, Path"> <maml:name>ItemPath</maml:name> <maml:description> <maml:para>Specifies the Milestone Configuration API path for the storage configuration. For example, Storage[eef84b4a-1e7a-4f99-ac5f-671ae76d520b] Note: You may pipe a camera object to this cmdlet and the RecordingStorage alias will be used to identify the correct storage configuration</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsStorage</maml:name> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration to return. Supports wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>*</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the Recording Server object from which to return storage configurations</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="RecordingStorage, Path"> <maml:name>ItemPath</maml:name> <maml:description> <maml:para>Specifies the Milestone Configuration API path for the storage configuration. For example, Storage[eef84b4a-1e7a-4f99-ac5f-671ae76d520b] Note: You may pipe a camera object to this cmdlet and the RecordingStorage alias will be used to identify the correct storage configuration</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the storage configuration to return. Supports wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>*</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the Recording Server object from which to return storage configurations</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Storage</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Name 'Recorder 1' | Get-VmsStorage</dev:code> <dev:remarks> <maml:para>Gets all storage configurations on the recording server named 'Recorder 1</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer | Get-VmsStorage -Name 'Local*'</dev:code> <dev:remarks> <maml:para>Gets all storage configurations on all recording servers where the name begins with 'Local'</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>$camera | Get-VmsStorage</dev:code> <dev:remarks> <maml:para>Gets the storage configuration associated with the Camera object in the variable $camera</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsStorage/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsStorageRetention</command:name> <command:verb>Get</command:verb> <command:noun>VmsStorageRetention</command:noun> <maml:description> <maml:para>Gets a [timespan] representing the configured storage retention for the specified storage.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>A Milestone Storage object represents both the overall storage configuration and the live storage information for that storage configuration. It has ArchiveStorage child items for each archive path associated with that storage configuration. To determine the retention for the whole storage configuration, you need to find the largest "RetainMinutes" value between the live recording path and all the optional archive storage paths.</maml:para> <maml:para>This function saves the step of checking whether archives exist and finding the archive child item with the longest retention.</maml:para> <maml:para>The value returned represents the maximum age of data before it will be deleted. The only exception is if you have used the evidence lock feature which can tag video with custom retention policies and even keep video indefinitely.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsStorageRetention</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the the storage object from which to return the maximum retention value. Use Get-VmsStorage to acquire a Storage object.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage[]</command:parameterValue> <dev:type> <maml:name>Storage[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the the storage object from which to return the maximum retention value. Use Get-VmsStorage to acquire a Storage object.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage[]</command:parameterValue> <dev:type> <maml:name>Storage[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.TimeSpan</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer -Name Test | Get-VmsStorage | Foreach-Object { [pscustomobject]@{ Storage = $_.Name; Retention = ($_ | Get-VmsStorageRetention).TotalDays } }</dev:code> <dev:remarks> <maml:para>Gets all storage configurations associated with the Recording Server named "Test" and returns the storage names and the maximum retention value in days.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsStorageRetention/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsSystemLicense</command:name> <command:verb>Get</command:verb> <command:noun>VmsSystemLicense</command:noun> <maml:description> <maml:para>Gets a SystemLicense object representing the licensed product for the current site and the feature flags for licensed features.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsSystemLicense` cmdlet gets a SystemLicense object representing the licensed product for the current site and the feature flags for licensed features.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsSystemLicense</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.License.SystemLicense</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsSystemLicense</dev:code> <dev:remarks> <maml:para>Returns a SystemLicense object representing the license for the current site.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsSystemLicense | Select-Object -ExpandProperty FeatureFlags</dev:code> <dev:remarks> <maml:para>Returns a list of feature flags representing licensed and available features.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsSystemLicense/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsToken</command:name> <command:verb>Get</command:verb> <command:noun>VmsToken</command:noun> <maml:description> <maml:para>Gets the current token issued by the Management Server to this PowerShell session.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsToken` cmdlet returns the token issued by the Management Server for 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.</maml:para> <maml:para>Tokens are renewed in the background automatically, and expire in 4 hours by default.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsToken</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ServerId</maml:name> <maml:description> <maml:para>Specifies a `VideoOS.Platform.ServerId` used to determine which token to return when used in a Milestone Federated Hierarchy. All configuration items like management servers and cameras have a ServerId property, and all `VideoOS.Platform.Item` objects returned by `Get-VmsVideoOSItem` have an FQID.ServerId property.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ServerId</command:parameterValue> <dev:type> <maml:name>ServerId</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsToken</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Site</maml:name> <maml:description> <maml:para>A value returned from `Get-VmsSite` can be used to indicate the site for which the returned token should be valid.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Item</command:parameterValue> <dev:type> <maml:name>Item</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ServerId</maml:name> <maml:description> <maml:para>Specifies a `VideoOS.Platform.ServerId` used to determine which token to return when used in a Milestone Federated Hierarchy. All configuration items like management servers and cameras have a ServerId property, and all `VideoOS.Platform.Item` objects returned by `Get-VmsVideoOSItem` have an FQID.ServerId property.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ServerId</command:parameterValue> <dev:type> <maml:name>ServerId</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Site</maml:name> <maml:description> <maml:para>A value returned from `Get-VmsSite` can be used to indicate the site for which the returned token should be valid.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Item</command:parameterValue> <dev:type> <maml:name>Item</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsToken</dev:code> <dev:remarks> <maml:para>Get a token from the currently selected management server.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>$svc = $recordingServer | Get-RecorderStatusService2 $token = $recordingServer | Get-VmsToken $svc.GetRecorderStatus($token)</dev:code> <dev:remarks> <maml:para>Create a RecorderStatusService2 client which can be used to retrieve detailed server, storage, and device information from a recording server, retrieve a token specifically for the site that recording server is from, regardless of the currently selected site, and retrieve the recorder status using the token for authentication.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsToken/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsVideoOSItem</command:name> <command:verb>Get</command:verb> <command:noun>VmsVideoOSItem</command:noun> <maml:description> <maml:para>Gets `[VideoOS.Platform.Item]` objects of the specified Kind.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsVideoOSItem` cmdlet gets `[VideoOS.Platform.Item]` objects of by calling one of the GetItem* methods on the `[VideoOS.Platform.Configuration]::Instance` class from the MIP SDK nuget packages.</maml:para> <maml:para>The MIP SDK returns one specific item by ID, or an array of items, each of which may have zero or more child items. This cmdlet will flatten the hierarchy and return a flat collection of items.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsVideoOSItem</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FolderType</maml:name> <maml:description> <maml:para>Specifies an optional FolderType value of No, SystemDefined, or UserDefined. If you are retrieving camera, or hardware objects, you should set FolderType to "No" unless you also want to receive camera groups and hardware folders.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">No</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">SystemDefined</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">UserDefined</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">FolderType</command:parameterValue> <dev:type> <maml:name>FolderType</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ItemHierarchy</maml:name> <maml:description> <maml:para>Specifies which item hierarchy (or hierarchies) to return items from.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">UserDefined</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">SystemDefined</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Both</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">ItemHierarchy</command:parameterValue> <dev:type> <maml:name>ItemHierarchy</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>SystemDefined</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Kind</maml:name> <maml:description> <maml:para>Specifies the ID or name of an item "Kind". For a list of supported values, run `[VideoOS.Platform.Kind] | Get-Member -Static -MemberType Property | Where-Object Definition -match 'static guid'`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsVideoOSItem</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Fqid</maml:name> <maml:description> <maml:para>Specifies the FQID for a single configuration item. The MIP SDK uses FQIDs or Fully Qualified Identifiers to resolve items based on their IDs, their "Kind" such as "Camera" or "Server", and their ServerIds which usually represents the parent recording server or management server.</maml:para> <maml:para>An FQID can be created manually when necessary, and it can also be found on any `VideoOS.Platform.Item` object returned by `Get-VmsVideoOSItem`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FQID</command:parameterValue> <dev:type> <maml:name>FQID</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsVideoOSItem</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the guid of a single configuration item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Kind</maml:name> <maml:description> <maml:para>Specifies the ID or name of an item "Kind". For a list of supported values, run `[VideoOS.Platform.Kind] | Get-Member -Static -MemberType Property | Where-Object Definition -match 'static guid'`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ServerId</maml:name> <maml:description> <maml:para>Specifies a ServerId from an existing configuration item such as a management server, recording server, or camera. Providing the ServerId can help to find and return the matching configuration item faster when used in a Milestone Federated Hierarchy.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ServerId</command:parameterValue> <dev:type> <maml:name>ServerId</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FolderType</maml:name> <maml:description> <maml:para>Specifies an optional FolderType value of No, SystemDefined, or UserDefined. If you are retrieving camera, or hardware objects, you should set FolderType to "No" unless you also want to receive camera groups and hardware folders.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FolderType</command:parameterValue> <dev:type> <maml:name>FolderType</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Fqid</maml:name> <maml:description> <maml:para>Specifies the FQID for a single configuration item. The MIP SDK uses FQIDs or Fully Qualified Identifiers to resolve items based on their IDs, their "Kind" such as "Camera" or "Server", and their ServerIds which usually represents the parent recording server or management server.</maml:para> <maml:para>An FQID can be created manually when necessary, and it can also be found on any `VideoOS.Platform.Item` object returned by `Get-VmsVideoOSItem`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FQID</command:parameterValue> <dev:type> <maml:name>FQID</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the guid of a single configuration item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ItemHierarchy</maml:name> <maml:description> <maml:para>Specifies which item hierarchy (or hierarchies) to return items from.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ItemHierarchy</command:parameterValue> <dev:type> <maml:name>ItemHierarchy</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>SystemDefined</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Kind</maml:name> <maml:description> <maml:para>Specifies the ID or name of an item "Kind". For a list of supported values, run `[VideoOS.Platform.Kind] | Get-Member -Static -MemberType Property | Where-Object Definition -match 'static guid'`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ServerId</maml:name> <maml:description> <maml:para>Specifies a ServerId from an existing configuration item such as a management server, recording server, or camera. Providing the ServerId can help to find and return the matching configuration item faster when used in a Milestone Federated Hierarchy.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ServerId</command:parameterValue> <dev:type> <maml:name>ServerId</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.Item</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsVideoOSItem -Kind Camera -FolderType No</dev:code> <dev:remarks> <maml:para>Returns all enabled camera items.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VmsVideoOSItem -Kind Hardware -FolderType No</dev:code> <dev:remarks> <maml:para>Returns all hardware items.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Get-VmsVideoOSItem -Kind Server</dev:code> <dev:remarks> <maml:para>Returns all "Server" items including management servers and recording servers.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title> <dev:code>Get-VmsVideoOSItem</dev:code> <dev:remarks> <maml:para>Returns a flat list of all items returned by `[VideoOS.Platform.Configuration]::Instance.GetItems()` based on the system hierarchy.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title> <dev:code>Get-VmsVideoOSItem -ItemHierarchy UserDefined</dev:code> <dev:remarks> <maml:para>Returns a flat list of all items returned by `[VideoOS.Platform.Configuration]::Instance.GetItems()` based on the user-defined hierarchy which may not include all cameras if some cameras are not added to a camera group for example.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsVideoOSItem/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsView</command:name> <command:verb>Get</command:verb> <command:noun>VmsView</command:noun> <maml:description> <maml:para>Gets one or more views which are typically defined in XProtect Smart Client.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Gets one or more View objects which are children of ViewGroup containers. Views have a layout defined in XML, and contain one ViewItemChildItem for each "pane" in the view where a camera or other view item can be placed.</maml:para> <maml:para>The ViewItemChildItem objects are further defined by their own ViewItem xml which describes the content of that view item within the overall view.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of a specific view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsView</maml:name> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the view name with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the parent view group from which views should be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup[]</command:parameterValue> <dev:type> <maml:name>ViewGroup[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of a specific view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the view name with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the parent view group from which views should be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup[]</command:parameterValue> <dev:type> <maml:name>ViewGroup[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Due to a bug in XProtect VMS versions released before 2022 R2, views that are nested in subgroups will all appear to be duplicated in each parent group when accessing the view group configuration through the Configuration API. Since MilestonePSTools uses the Configuration API to access view group information, view locations may not appear to match XProtect Smart Client unless you are running version 2022 R2 or later, or unless the issue is resolved in a cumulative patch for your VMS version.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Get-VmsView <# OUTPUT DisplayName ViewSize Shortcut Id LastModified ----------- -------- -------- -- ------------ New View (1 x 2) 2 78904DC2-20FF-4F47-97... 3/25/2020 3:23:19 PM New View (1 + 7) 8 7BE65A12-2997-4783-A5... 3/25/2020 1:24:12 PM #></dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we retrieve a list of all views in all view groups.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$parentViewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $parentViewGroup | Get-VmsViewGroup -Recurse | Get-VmsView <# OUTPUT DisplayName ViewSize Shortcut Id LastModified ----------- -------- -------- -- ------------ New View (1 x 2) 2 78904DC2-20FF-4F47-97... 3/25/2020 3:23:19 PM New View (1 + 7) 8 7BE65A12-2997-4783-A5... 3/25/2020 1:24:12 PM #></dev:code> <dev:remarks> <maml:para>Returns all views from all child view groups of the selected parent view group.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsView/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsViewGroup</command:name> <command:verb>Get</command:verb> <command:noun>VmsViewGroup</command:noun> <maml:description> <maml:para>Gets one or more top-level or child view groups as seen in XProtect Smart Client.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>View groups are containers for groups and views. Top-level view groups are defined in Management Client and permissions can be set per role for these top-level groups.</maml:para> <maml:para>In XProtect Smart Client, you will normally see a "Private" view group which is unique to your user account, and zero or more additional view groups depending on your system configuration. These view groups cannot directly contain views, but they can contain one or more child view groups. Views and view groups can be nested.</maml:para> <maml:para>Use this command to retrieve view groups and inspect or modify their contents, or adjust permissions for roles using the `*-VmsViewGroupAcl` commands.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsViewGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of a specific view group. It can be a top-level, or child view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsViewGroup</maml:name> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the view group name with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Parent</maml:name> <maml:description> <maml:para>Specifies a parent view group object. Useful for retrieving child view groups from a specific parent view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that all child view groups should be returned recursively.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the ID of a specific view group. It can be a top-level, or child view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the view group name with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Parent</maml:name> <maml:description> <maml:para>Specifies a parent view group object. Useful for retrieving child view groups from a specific parent view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that all child view groups should be returned recursively.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Get-VmsViewGroup <# OUTPUT DisplayName Id LastModified ----------- -- ------------ Private 5C72A7B2-E3A8-4FF1-9F97-85C99D91E9D1 10/5/2017 5:21:01 PM Main View Group 95DA86DD-386D-4159-87D8-00885CE29407 10/22/2017 9:38:44 PM LPR B3E356AF-1F4A-4557-A8D5-CAE7641384D6 10/19/2018 11:03:10 PM #></dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we retrieve a list of all view groups.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$viewgroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $viewGroup | Get-VmsViewGroup -Recurse <# OUTPUT DisplayName Id LastModified ----------- -- ------------ New Group 9CDCFC6C-CE51-403E-8410-C8EB1F317D12 3/13/2019 9:27:21 PM #></dev:code> <dev:remarks> <maml:para>In this example you will be prompted to select from one of the top-level view groups, and then all child view groups, recursively, will be returned.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsViewGroup -Name 'Main View Group' -Recurse | Get-VmsView <# OUTPUT DisplayName ViewSize Shortcut Id LastModified ----------- -------- -------- -- ------------ New View (1 x 2) 2 78904DC2-20FF-4F47-97... 3/25/2020 3:23:19 PM New View (1 + 7) 8 7BE65A12-2997-4783-A5... 3/25/2020 1:24:12 PM #></dev:code> <dev:remarks> <maml:para>In this example, we recursively seek all view groups inside the top-level 'Main View Group` group, and then return all views in all child view groups.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsViewGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsViewGroupAcl</command:name> <command:verb>Get</command:verb> <command:noun>VmsViewGroupAcl</command:noun> <maml:description> <maml:para>Gets the security permissions for one or more roles on a given XProtect Smart Client view group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Top-level view groups defined in the Management Client can be accessed and modified only if a user's role has permission to that top-level view group. This command enables you to retrieve the permissions, or "access control list" (ACL), for a view group. You may modify the permissions and push the changes back to the Management Server using the Set-VmsViewGroupAcl command.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsViewGroupAcl</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies one or more existing, user-defined roles. If you omit this parameter, the ACL for every user-defined role will be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the view group from which to retrieve the ACL(s).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsViewGroupAcl</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>RoleId</maml:name> <maml:description> <maml:para>Specifies the ID of a given role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the view group from which to retrieve the ACL(s).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsViewGroupAcl</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>RoleName</maml:name> <maml:description> <maml:para>Specifies the display name of a given role with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the view group from which to retrieve the ACL(s).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies one or more existing, user-defined roles. If you omit this parameter, the ACL for every user-defined role will be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>RoleId</maml:name> <maml:description> <maml:para>Specifies the ID of a given role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>RoleName</maml:name> <maml:description> <maml:para>Specifies the display name of a given role with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the view group from which to retrieve the ACL(s).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VmsViewGroupAcl</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $viewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single -Title "Select a View Group" $roles = Get-VmsRole -RoleType UserDefined $role = $roles | Out-GridView -OutputMode Single -Title "Select a Role" $acl = $viewGroup | Get-VmsViewGroupAcl -Role $role $acl <# OUTPUT Role Path SecurityAttributes ---- ---- ------------------ Remote Guard ViewGroup[2B9E3912-3145-4EE8-8C44-244848D1A1C5] {OPERATE, GENERIC_READ...} #></dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we prompt for a view group selection, and a role selection. The ACL for role on the specified view group is then displayed.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$acl.SecurityAttributes <# OUTPUT Name Value ---- ----- OPERATE False GENERIC_READ False DELETE False GENERIC_WRITE False #> $acl.SecurityAttributes.GENERIC_READ = 'True' $acl.SecurityAttributes.OPERATE = 'True' $acl | Set-VmsViewGroupAcl -WhatIf</dev:code> <dev:remarks> <maml:para>Continuing from the previous example, the security attributes are expanded so we can read them all. Then, we change the permissions and push the changes back to the Management Server using the `Set-VmsViewGroupAcl` cmdlet.</maml:para> <maml:para>The -WhatIf switch parameter is present, so we see what would happen, without making any changes. Remove the -WhatIf switch to make permanent changes, and add the -Verbose switch to see which changes are made.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsViewGroupAcl/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-VmsWebhook</command:name> <command:verb>Get</command:verb> <command:noun>VmsWebhook</command:noun> <maml:description> <maml:para>Get existing webhooks from a Milestone XProtect VMS by Name, or configuration item path.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Get-VmsWebhook` cmdlet returns existing webhooks from a Milestone XProtect VMS.</maml:para> <maml:para>All webhooks can be retrieved calling the cmdlet without parameters, or specific webhooks can be retrieved by name or "path".</maml:para> <maml:para>Note that with Milestone's Configuration API, a path for a configuration item like a webhook looks like `MIPItem[1a33142f-c35b-420f-bdd7-30240de4e9ef]` which is a special value representing the item type, "MIPItem" in this case, and the ID of the item, "1a33142f-c35b-420f-bdd7-30240de4e9ef".</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-VmsWebhook</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>LiteralName</maml:name> <maml:description> <maml:para>Specifies the exact, case-insensitive name of the webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsWebhook</maml:name> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the webhook with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-VmsWebhook</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the exact Configuration Item path for the webhook. This value is formatted like "MIPItem[1a33142f-c35b-420f-bdd7-30240de4e9ef]" and in most cases you will pass the value of Path from the pipeline by property name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>LiteralName</maml:name> <maml:description> <maml:para>Specifies the exact, case-insensitive name of the webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the webhook with support for wildcards.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the exact Configuration Item path for the webhook. This value is formatted like "MIPItem[1a33142f-c35b-420f-bdd7-30240de4e9ef]" and in most cases you will pass the value of Path from the pipeline by property name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>MilestonePSTools.Webhook</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Supported on Milestone XProtect VMS versions 2023 R1 and later.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsWebhook</dev:code> <dev:remarks> <maml:para>Get all configured webhooks.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VmsWebhook -Name Test*</dev:code> <dev:remarks> <maml:para>Get all configured webhooks with names beginning with the word "Test".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Get-VmsWebhook -LiteralName Test*</dev:code> <dev:remarks> <maml:para>Gets the webhook(s) with the literal name "Test*". When using the LiteralName parameter, wildcard characters are not evaluated as wildcards.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Get-VmsWebhook/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Import-VmsClientProfile</command:name> <command:verb>Import</command:verb> <command:noun>VmsClientProfile</command:noun> <maml:description> <maml:para>Imports one or more smart client profiles from a json-formatted file on disk.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Import-VmsClientProfile` cmdlet imports one or more smart client profiles from a json-formatted file on disk. The format of the file should match the format produced by the `Export-VmsClientProfile` cmdlet.</maml:para> <maml:para>By using `Export-VmsClientProfile` and `Import-VmsClientProfile` you can import new smart client profiles or update existing profiles with the same name(s). The profiles can be exported from one Milestone VMS and imported into another Milestone VMS which can save time when managing multiple sites with the same or similar smart client profile requirements.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Import-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the file path, including filename, with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specified when one or more client profiles to be imported may already exist, and the settings of existing client profiles should be updated.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specified when one or more client profiles to be imported may already exist, and the settings of existing client profiles should be updated.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the file path, including filename, with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Export-VmsClientProfile -Path .\clientprofiles.json # Remove one or more client profiles or change settings on one or more profiles. Import-VmsClientProfile -Path .\clientprofiles.json -Force</dev:code> <dev:remarks> <maml:para>Export all client profiles, and then import them again. The `Force` switch is required in this case because the profiles may already exist. If any profiles were modified or removed between the export and the import, then the missing client profiles will be recreated, and the existing client profiles will be updated to match the content of the export.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Import-VmsClientProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Import-VmsHardware</command:name> <command:verb>Import</command:verb> <command:noun>VmsHardware</command:noun> <maml:description> <maml:para>Imports cameras and other hardware from either a CSV file or an Excel file and adds them to an XProtect recording server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Import-VmsHardware` cmdlet imports cameras and other hardware from either a CSV file or an Excel file and adds them to an XProtect recording server or optionally updates hardware that has already been added to the VMS. When importing from a CSV file, each row will describe a camera, or another device type like a microphone, speaker, metadata, input, or output. For the most basic imports, the only required column in the CSV is the "Address" as the credentials and destination recording server can be provided using the corresponding parameters.</maml:para> <maml:para>The most detailed CSV import will look something like the following table:</maml:para> <maml:para>| DeviceType | Name | Address | Channel | UserName | Password | DriverNumber | DriverGroup | RecordingServer | Enabled | HardwareName | StorageName | Coordinates | DeviceGroups | |------------|----------|---------------|---------|----------|----------|--------------|-------------|-----------------|---------|--------------|-------------|------------------|-------------------------------------| | Camera | Camera 1 | 192.168.1.101 | 0 | root | S3cret | 421 | Universal | REC1 | True | Hardware 1 | Storage 1 | 45.417, -122.732 | /Imported cameras;/Portland cameras | | Camera | Camera 2 | 192.168.1.102 | 0 | root | S3cret | 806 | AXIS | REC2 | True | Hardware 2 | Storage 2 | 55.656, 12.375 | /Imported cameras;/Portland cameras | | Camera | Camera 3 | 192.168.1.102 | 1 | root | S3cret | 806 | AXIS | REC2 | True | Hardware 2 | Storage 2 | 55.656, 12.375 | /Imported cameras;/Brøndby cameras | Note that the only required information is the device address, and destination recording server. If no credential is provided in the CSV file, one or more credentials can be provided using the `-Credential` parameter. And if no credentials are provided, we will attempt to scan each device using the default credential based on the driver.</maml:para> <maml:para>Driver numbers are available on our supported hardware list, and you can also discover them using the `Get-VmsHardwareDriver` cmdlet. For example, to list all drivers available on a recorder named "Recorder 1" you can run the command `Get-VmsRecordingServer -Name 'Recorder 1' | Get-VmsHardwareDriver | Out-GridView`.</maml:para> <maml:para>If you aren't sure which driver number to use, you can instead provide one or more values in the `DriverGroup` column. Multiple values should be delimited with a semicolon character, ";". For example, if all cameras are either Axis or Hanwha, but you're not sure which camera is on which IP address, you can provide a `DriverGroup` value of "Axis;Hanwha" for all records and we will do a hardware scan limited to the drivers under the AXIS and Hanwha driver groups.</maml:para> <maml:para>If you don't provide a driver number or driver group, we will perform a hardware scan using all available drivers. That can take more time, but the necessary time may be reduced thanks to an "Express Scan" performed on each recording server which can more quickly identify hardware as long as it responds to the "Express Scan" scanning method.</maml:para> <maml:para>An even more detailed import can be performed from an Excel file with an `.xlsx` extension. The format of the file is too complex to describe here or expect anyone to produce by hand. Our suggestion is to perform an export to a `.xlsx` file after either importing using a CSV file, or manually adding and configuring some cameras. The resulting `.xlsx` file can be modified and then imported to add or update hardware.</maml:para> <maml:para>The advantage of importing from an Excel file is that you can make extremely detailed configuration changes in the Excel file, including enabling hardware events, changing general settings and stream settings, and then import those changes.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Import-VmsHardware</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Optionally specifies one or more credentials to try. The first credential to try will always be the username and password for each hardware device in the incoming file. If no credentials are present in the file, or you want to try multiple credentials for all devices, these credentials will be tried until one has succeeded, or all have failed to authenticate with the hardware.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential[]</command:parameterValue> <dev:type> <maml:name>PSCredential[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Delimiter</maml:name> <maml:description> <maml:para>Use this parameter to override the default delimiter ",". This parameter is only used when the imported file is in CSV format.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Char</command:parameterValue> <dev:type> <maml:name>Char</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>LiteralPath</maml:name> <maml:description> <maml:para>Specifies a path to a CSV or XLSX file. The value of LiteralPath is used exactly as it's typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell PowerShell to not interpret any characters as escape sequences.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the recording server on which the hardware should be added or updated. This parameter will override the value in the RecordingServer column of the incoming CSV or XLSX file if present.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateExisting</maml:name> <maml:description> <maml:para>Specifies that any hardware that has already been added should be updated based on the settings in the incoming file. The default behavior is to skip any hardware that already exists on the destination recording server.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Import-VmsHardware</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a path to a CSV or XLSX file.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Optionally specifies one or more credentials to try. The first credential to try will always be the username and password for each hardware device in the incoming file. If no credentials are present in the file, or you want to try multiple credentials for all devices, these credentials will be tried until one has succeeded, or all have failed to authenticate with the hardware.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential[]</command:parameterValue> <dev:type> <maml:name>PSCredential[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Delimiter</maml:name> <maml:description> <maml:para>Use this parameter to override the default delimiter ",". This parameter is only used when the imported file is in CSV format.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Char</command:parameterValue> <dev:type> <maml:name>Char</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the recording server on which the hardware should be added or updated. This parameter will override the value in the RecordingServer column of the incoming CSV or XLSX file if present.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateExisting</maml:name> <maml:description> <maml:para>Specifies that any hardware that has already been added should be updated based on the settings in the incoming file. The default behavior is to skip any hardware that already exists on the destination recording server.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Optionally specifies one or more credentials to try. The first credential to try will always be the username and password for each hardware device in the incoming file. If no credentials are present in the file, or you want to try multiple credentials for all devices, these credentials will be tried until one has succeeded, or all have failed to authenticate with the hardware.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential[]</command:parameterValue> <dev:type> <maml:name>PSCredential[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Delimiter</maml:name> <maml:description> <maml:para>Use this parameter to override the default delimiter ",". This parameter is only used when the imported file is in CSV format.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Char</command:parameterValue> <dev:type> <maml:name>Char</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>LiteralPath</maml:name> <maml:description> <maml:para>Specifies a path to a CSV or XLSX file. The value of LiteralPath is used exactly as it's typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell PowerShell to not interpret any characters as escape sequences.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a path to a CSV or XLSX file.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the recording server on which the hardware should be added or updated. This parameter will override the value in the RecordingServer column of the incoming CSV or XLSX file if present.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateExisting</maml:name> <maml:description> <maml:para>Specifies that any hardware that has already been added should be updated based on the settings in the incoming file. The default behavior is to skip any hardware that already exists on the destination recording server.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>The ImportExcel module is used to import and export files with a `.xlsx` extension. If the ImportExcel module is available on the host computer, it will be loaded from there. If the ImportExcel module cannot be found, an embedded version of the module will be imported automatically.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Import-VmsHardware -Path hardware.csv</dev:code> <dev:remarks> <maml:para>Imports hardware from `hardware.csv`. Since the RecordingServer parameter was not specified, the RecordingServer column must be specified for each row in the CSV file, and the value should be the display name of the destination recording server.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>$recorder = Get-VmsRecordingServer -Name 'Recorder 1' $credentials = 1..3 | ForEach-Object { Get-Credential -Message "Credential $_" } $splat = @{ Path = 'hardware.csv' RecordingServer = $recorder Credential = $credentials } Import-VmsHardware @splat</dev:code> <dev:remarks> <maml:para>Imports hardware from `hardware.csv`. Since the RecordingServer parameter is specified as a parameter, all records in the CSV file will be imported to the recording server named "Recorder 1". The user is prompted to enter three different credentials, and these credentials will be combined with the usernames and passwords in the CSV file, if present, to be used during the hardware scanning phase. This is useful when you're not use which password each device is using but you know it's one of a handful of options. PowerShell's "splatting" feature is used here to reduce the width of the example.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Import-VmsHardware -Path hardware.csv -UpdateExisting</dev:code> <dev:remarks> <maml:para>Imports hardware from `hardware.csv`. Any hardware that has already been added to the target recording server will be updated based on the content of the CSV.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title> <dev:code>Import-VmsHardware -Path hardware.csv -UpdateExisting</dev:code> <dev:remarks> <maml:para>Imports hardware from `hardware.csv`. Any hardware that has already been added to the target recording server will be updated based on the content of the CSV.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title> <dev:code>Import-VmsHardware -Path hardware.xlsx -UpdateExisting</dev:code> <dev:remarks> <maml:para>Imports hardware from `hardware.xlsx`. Any hardware that has already been added to the target recording server will be updated based on the content of the CSV. Based on the presence and content of various worksheets in the Excel workbook, the import may update a small number of settings, or it may update nearly every property available under every hardware device in the workbook.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Import-VmsHardware/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Import-VmsLicense</command:name> <command:verb>Import</command:verb> <command:noun>VmsLicense</command:noun> <maml:description> <maml:para>Imports a Milestone XProtect VMS initial license file or activated license file.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Imports a Milestone XProtect VMS initial license file or activated license file. This function cannot be used to change to a different software license code. For that, you must use Set-VmsLicense instead.</maml:para> <maml:para>You will typically use this function in tandem with Export-VmsLicenseRequest. The expected workflow would be:</maml:para> <maml:para>1. Export a license request file from the VMS because it doesn't have an internet connection. 2. Take the license request file to an internet-connected PC to perform a manual license activation on My Milestone and download the activated license file. 3. Copy the activated license file to the VMS server or network, and import the activated license file.</maml:para> <maml:para>Alternatively, you might need to import a new "Initial license file" in order to enable a new licensed feature before you can perform license activation. In that case you would import the initial license file, export a license request, activate the license request and import the activated license file.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Import-VmsLicense</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to an existing license file on disk. Typically this file has a .LIC extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to an existing license file on disk. Typically this file has a .LIC extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInformation</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInformation</maml:name> </dev:type> <maml:description> <maml:para>Support for license management in Milestone's MIP SDK / Configuration API was introduced in version 2020 R2. If the Management Server version is earlier than 2020 R2, this function will not work.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Import-VmsLicense -Path C:\path\to\license.lic</dev:code> <dev:remarks> <maml:para>Imports the license file 'license.lic' and if successful, returns updated license information properties.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Import-VmsLicense/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Import-VmsRole</command:name> <command:verb>Import</command:verb> <command:noun>VmsRole</command:noun> <maml:description> <maml:para>Imports one or more roles from a json-formatted file on disk.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Import-VmsRole` cmdlet imports one or more roles from a json-formatted file on disk. The format of the file should match the format produced by the `Export-VmsRole` cmdlet.</maml:para> <maml:para>By using `Export-VmsRole` and `Import-VmsRole` you can import new roles or update existing roles with the same name(s). The roles can be exported from one Milestone VMS and imported into another Milestone VMS which can save time when managing multiple sites with the same or similar role definitions.</maml:para> <maml:para>If the roles to be imported include basic users as members, a matching basic user will be created if necessary. These auto-created basic user accounts will have string, random 30-character passwords, and they will be disabled. To use these basic user accounts, a VMS Administrator will need to reset the passwords and enable the accounts.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Import-VmsRole</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specified when one or more roles to be imported may already exist, and the settings of existing roles should be updated.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more objects of type `[pscustomobject]` from a previous call to `Export-VmsRole -PassThru`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue> <dev:type> <maml:name>Object[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveUndefinedClaims</maml:name> <maml:description> <maml:para>Specifies that any external login provider claims present on existing roles that are not defined in the source of the import should be removed from the existing roles. If omitted, claims can be added to existing roles if the `-Force` switch is present, but no claims can be removed .</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveUndefinedUsers</maml:name> <maml:description> <maml:para>Specifies that any Windows, Active Directory, or Basic user role members present on existing roles that are not defined in the source of the import should be removed from the existing roles. If omitted, role members can be added to existing roles if the `-Force` switch is present, but no users can be removed .</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Import-VmsRole</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specified when one or more roles to be imported may already exist, and the settings of existing roles should be updated.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the file path, including filename, with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveUndefinedClaims</maml:name> <maml:description> <maml:para>Specifies that any external login provider claims present on existing roles that are not defined in the source of the import should be removed from the existing roles. If omitted, claims can be added to existing roles if the `-Force` switch is present, but no claims can be removed .</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveUndefinedUsers</maml:name> <maml:description> <maml:para>Specifies that any Windows, Active Directory, or Basic user role members present on existing roles that are not defined in the source of the import should be removed from the existing roles. If omitted, role members can be added to existing roles if the `-Force` switch is present, but no users can be removed .</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specified when one or more roles to be imported may already exist, and the settings of existing roles should be updated.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more objects of type `[pscustomobject]` from a previous call to `Export-VmsRole -PassThru`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue> <dev:type> <maml:name>Object[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the file path, including filename, with a .json extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveUndefinedClaims</maml:name> <maml:description> <maml:para>Specifies that any external login provider claims present on existing roles that are not defined in the source of the import should be removed from the existing roles. If omitted, claims can be added to existing roles if the `-Force` switch is present, but no claims can be removed .</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveUndefinedUsers</maml:name> <maml:description> <maml:para>Specifies that any Windows, Active Directory, or Basic user role members present on existing roles that are not defined in the source of the import should be removed from the existing roles. If omitted, role members can be added to existing roles if the `-Force` switch is present, but no users can be removed .</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.Object[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Export-VmsRole -Path .\roles.json # Remove one or more roles or change settings on one or more roles. Import-VmsRole -Path .\roles.json -Force -Verbose</dev:code> <dev:remarks> <maml:para>Export all roles, and then import them again. The `Force` switch is required in this case because the roles may already exist. If any roles were modified or removed between the export and the import, then the missing roles will be recreated, and the existing roles will be updated to match the content of the export.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Import-VmsRole/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Import-VmsRule</command:name> <command:verb>Import</command:verb> <command:noun>VmsRule</command:noun> <maml:description> <maml:para>Imports rules that have been exported using Export-VmsRule.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Import-VmsRule` cmdlet imports rules that have been exported using Export-VmsRule. Note that when importing rules, the ID's of the devices, time profiles, events, and other items referenced in the rule definitions must exist with either the same ID, or at least the same name, otherwise the rules will fail to import.</maml:para> <maml:para>When importing rules with references to user-defined events, generic events, or analytic events, it may be enough for the properties in the rule definitions to reference the events by name. However, for rules with references to specific cameras or other devices, or device groups, you must modify the rule definitions to include the item "Paths" or ID's as needed prior to importing.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Import-VmsRule</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more `[pscustomobject]` objects which are returned by the `Export-VmsRule` function when using the -PassThru switch.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue> <dev:type> <maml:name>Object[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Import-VmsRule</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to a JSON file created by the Export-VmsRule function.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more `[pscustomobject]` objects which are returned by the `Export-VmsRule` function when using the -PassThru switch.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue> <dev:type> <maml:name>Object[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to a JSON file created by the Export-VmsRule function.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>PSCustomObject</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Export-VmsRule -Path ~\Desktop\rules.json Import-VmsRule -Path ~\Desktop\rules.json -WhatIf</dev:code> <dev:remarks> <maml:para>Exports all rules available through the Configuration API to a file on the desktop named "rules.json".</maml:para> <maml:para>Then the rules are imported, which would normally create new rules with duplicate names unless the previously exported rules have been renamed or deleted, or the definitions for the rules to be imported have been manually provided with unique DisplayName values.</maml:para> <maml:para>Thanks to the presence of the `-WhatIf` switch, you will only see what would happen if you ran the command again without `-WhatIf`.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Import-VmsRule/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Import-VmsViewGroup</command:name> <command:verb>Import</command:verb> <command:noun>VmsViewGroup</command:noun> <maml:description> <maml:para>Exports an XProtect Smart Client view group and all contents to a JSON file.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Imports an XProtect Smart Client view group from a JSON file previously generated using the `Export-VmsViewGroup` command. You may import an exported view group on the same Management Server, or a different Management Server than the original view group.</maml:para> <maml:para>The selected view group can be a top-level view group, or a child view group. However, if you import a view group which has directly-attached views that are not nested in a child view group, those views will be lost when importing the view group as a top-level view group.</maml:para> <maml:para>When a parent ViewGroup is provided in the ParentViewGroup parameter, the imported view group will be inserted as a child of the designated parent.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Import-VmsViewGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to a file where a JSON representation of the view group will be imported. The file should be generated using Export-VmsViewGroup.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies an optional new name for the imported view group. If a view group with the same name already exists, the import will not proceed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ParentViewGroup</maml:name> <maml:description> <maml:para>Specifies an optional parent view group within which the imported view group should be nested. If omitted, the imported view group will become a new top-level view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies an optional new name for the imported view group. If a view group with the same name already exists, the import will not proceed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ParentViewGroup</maml:name> <maml:description> <maml:para>Specifies an optional parent view group within which the imported view group should be nested. If omitted, the imported view group will become a new top-level view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to a file where a JSON representation of the view group will be imported. The file should be generated using Export-VmsViewGroup.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $viewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $viewGroup | Export-VmsViewGroup -Path C:\temp\viewgroup.json -Force Import-VmsViewGroup -Path 'C:\temp\viewgroup.json' -NewName "$($viewGroup.DisplayName) Copy"</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we prompt for a view group selection. The selected view group is then exported to a json file at C:\temp\viewgroup.json. Next, the view group is imported under the same name with "Copy" appended to it.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$viewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $viewGroup | Export-VmsViewGroup -Path C:\temp\viewgroup.json -Force $viewGroup = New-VmsViewGroup -Name "$($viewGroup.DisplayName) Copy" -Force $dstViewGroup = $viewGroup | New-VmsViewGroup -Name "Child View Group" $params = @{ Path = 'C:\temp\viewgroup.json' ParentViewGroup = $dstViewGroup NewName = 'Example 2' } Import-VmsViewGroup @params</dev:code> <dev:remarks> <maml:para>This example demonstrates that it is possible to export a top-level view group and then import the view group as a nested child view group inside a different parent view group.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Import-VmsViewGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Install-StableFPS</command:name> <command:verb>Install</command:verb> <command:noun>StableFPS</command:noun> <maml:description> <maml:para>Install the StableFPS driver on a Recording Server</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The StableFPS driver is used to add any number of virtual cameras simulated from static video files. It includes support for multiple video codecs, audio, metadata, input and output. See the Milestone MIP SDK documentation for more information.</maml:para> <maml:para>This command must be run with elevated permissions due to the fact it must add/modify files in the Device Pack installation path which is typically placed in the protected C:\Program Files (x86)\ path. It also must stop and start the Recording Server service in order for the new driver to be made available.</maml:para> <maml:para>If you re-install the StableFPS driver with different parameters, or if you add new video/audio to the %DevicePackPath%\StableFPS_DATA folder, you will need to perform "Replace Hardware" on each StableFPS hardware device you require to use the new settings/media.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> <maml:para>- Requires elevated privileges (run as Administrator)</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Install-StableFPS</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Source</maml:name> <maml:description> <maml:para>The path to the StableFPS folder included with the MIP SDK installation. The default path is "C:\Program Files\Milestone\MIPSDK\Tools\StableFPS". To execute this command on a system without MIP SDK installed, make sure to copy the StableFPS folder to a path available to the target system. If you specify "-Path C:\StableFPS" then this command expects to find the folders C:\StableFPS\StableFPS_DATA and C:\StableFPS\vLatest</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>C:\Program Files\Milestone\MIPSDK\Tools\StableFPS</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Cameras</maml:name> <maml:description> <maml:para>Each StableFPS hardware device can have between 1 and 200 camera channels associated with it. The default value is 32.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>32</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Streams</maml:name> <maml:description> <maml:para>Each camera channel can provide up to 5 streams. By default, each channel will provide only one stream.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>DevicePackPath</maml:name> <maml:description> <maml:para>By default the DevicePackPath will be determined from the Get-RecorderConfig cmdlet which assumes the StableFPS driver is intended to be installed on the local machine which is also a Recording Server. In some cases you may wish to install the StableFPS driver to a remote machine. If this property is provided, then the driver will be deployed to the path without attempting to restart any Recording Server service or validating the presence of a Recording Server installation. It will then be your responsibility to restart the remote Recording Server to make the new driver available.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Cameras</maml:name> <maml:description> <maml:para>Each StableFPS hardware device can have between 1 and 200 camera channels associated with it. The default value is 32.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>32</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>DevicePackPath</maml:name> <maml:description> <maml:para>By default the DevicePackPath will be determined from the Get-RecorderConfig cmdlet which assumes the StableFPS driver is intended to be installed on the local machine which is also a Recording Server. In some cases you may wish to install the StableFPS driver to a remote machine. If this property is provided, then the driver will be deployed to the path without attempting to restart any Recording Server service or validating the presence of a Recording Server installation. It will then be your responsibility to restart the remote Recording Server to make the new driver available.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Source</maml:name> <maml:description> <maml:para>The path to the StableFPS folder included with the MIP SDK installation. The default path is "C:\Program Files\Milestone\MIPSDK\Tools\StableFPS". To execute this command on a system without MIP SDK installed, make sure to copy the StableFPS folder to a path available to the target system. If you specify "-Path C:\StableFPS" then this command expects to find the folders C:\StableFPS\StableFPS_DATA and C:\StableFPS\vLatest</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>C:\Program Files\Milestone\MIPSDK\Tools\StableFPS</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Streams</maml:name> <maml:description> <maml:para>Each camera channel can provide up to 5 streams. By default, each channel will provide only one stream.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Install-StableFPS -Source C:\StableFPS -Cameras 4 -Streams 2</dev:code> <dev:remarks> <maml:para>Installs the StableFPS driver from the source already present at C:\StableFPS. Each StableFPS device added to the Recording Server will have 4 camera channels, each with the option of up to 2 streams.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Install-StableFPS/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Invoke-LicenseActivation</command:name> <command:verb>Invoke</command:verb> <command:noun>LicenseActivation</command:noun> <maml:description> <maml:para>{{ Fill in the Synopsis }}</maml:para> </maml:description> </command:details> <maml:description> <maml:para>{{ Fill in the Description }}</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Invoke-LicenseActivation</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>{{ Fill Credential Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableAutomaticActivation</maml:name> <maml:description> <maml:para>{{ Fill EnableAutomaticActivation Description }}</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Passthru</maml:name> <maml:description> <maml:para>{{ Fill Passthru Description }}</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>{{ Fill Credential Description }}</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableAutomaticActivation</maml:name> <maml:description> <maml:para>{{ Fill EnableAutomaticActivation Description }}</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Passthru</maml:name> <maml:description> <maml:para>{{ Fill Passthru Description }}</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>{{ Add example code here }}</dev:code> <dev:remarks> <maml:para>{{ Add example description here }}</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Invoke-LicenseActivation/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Invoke-ServerConfigurator</command:name> <command:verb>Invoke</command:verb> <command:noun>ServerConfigurator</command:noun> <maml:description> <maml:para>Invokes the Milestone Server Configurator utility using command-line arguments</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The Server Configurator is the utility responsible for managing the registration of Management Servers, Recording Servers and Data Collectors as well as the configuration of certificates for Management/Recorder communication, Client/Recorder communication and Mobile Server/Web Client/Mobile communication.</maml:para> <maml:para>In the 2020 R3 release, command-line parameters were introduced for the Server Configurator making it possible to automate registration and certificate configuration processes. Since PowerShell offers a more rich environment for discovering parameters and valid values as well as more useful object-based output, this cmdlet was written to wrap the utility with a PowerShell-friendly interface.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> <maml:para>- Requires elevated privileges (run as Administrator)</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Invoke-ServerConfigurator</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AuthAddress</maml:name> <maml:description> <maml:para>Specifies the address of the Authorization Server which is usually the Management Server address. A [uri] value is expected, but only the URI host value will be used. The scheme and port will be inferred based on whether encryption is enabled/disabled and is fixed to port 80/443 as this is how Server Configurator is currently designed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>OverrideLocalManagementServer</maml:name> <maml:description> <maml:para>When using the `AuthAddress` parameter to specify a custom URL during registration directly on the management server, supply this switch parameter and serverconfigurator.exe will be invoked with the `/overridelocalmanagementserver` argument.</maml:para> <maml:para>You would do this when DNS name other than the management server's fully-qualified domain name (FQDN) will be used to access the VMS. Note that "server" encryption cannot be enabled, or disabled, once the management server DNS name has been overridden. This is a limitation of serverconfigurator.exe. To enable server encryption if it is currently disabled, or to disable it if it is currently enabled, you must open the Server Configurator application, and click the "undo" button on the address field in the "Register" activity tab.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the standard output from the Server Configurator utility should be written after the operation is completed. The output will include the following properties: - StandardOutput</maml:para> <maml:para>- StandardError</maml:para> <maml:para>- ExitCode</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to the Server Configurator utility. Omit this path and the path will be discovered using Get-RecorderConfig or Get-ManagementServerConfig by locating the installation path of the Management Server or Recording Server and assuming the Server Configurator is located in the same path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Register</maml:name> <maml:description> <maml:para>Register all local components with the optionally specified AuthAddress. If no AuthAddress is provided, the last-known address will be used.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Invoke-ServerConfigurator</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CertificateGroup</maml:name> <maml:description> <maml:para>Specifies the CertificateGroup [guid] identifying which component for which encryption should be enabled or disabled. Omit this parameter to modify the encryption state for all components managed by server configurator.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableEncryption</maml:name> <maml:description> <maml:para>Enable encryption for all components managed by server configurator, or only for the CertificateGroup specified.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the standard output from the Server Configurator utility should be written after the operation is completed. The output will include the following properties: - StandardOutput</maml:para> <maml:para>- StandardError</maml:para> <maml:para>- ExitCode</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to the Server Configurator utility. Omit this path and the path will be discovered using Get-RecorderConfig or Get-ManagementServerConfig by locating the installation path of the Management Server or Recording Server and assuming the Server Configurator is located in the same path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Thumbprint</maml:name> <maml:description> <maml:para>Specifies the thumbprint of the certificate to be used to encrypt communications with the component designated by the CertificateGroup id.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Invoke-ServerConfigurator</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CertificateGroup</maml:name> <maml:description> <maml:para>Specifies the CertificateGroup [guid] identifying which component for which encryption should be enabled or disabled. Omit this parameter to modify the encryption state for all components managed by server configurator.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisableEncryption</maml:name> <maml:description> <maml:para>Disable encryption for all components managed by server configurator, or only for the CertificateGroup specified.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the standard output from the Server Configurator utility should be written after the operation is completed. The output will include the following properties: - StandardOutput</maml:para> <maml:para>- StandardError</maml:para> <maml:para>- ExitCode</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to the Server Configurator utility. Omit this path and the path will be discovered using Get-RecorderConfig or Get-ManagementServerConfig by locating the installation path of the Management Server or Recording Server and assuming the Server Configurator is located in the same path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Invoke-ServerConfigurator</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ListCertificateGroups</maml:name> <maml:description> <maml:para>List the available certificate groups on the local machine. Output will be a [hashtable] where the keys are the certificate group names (which may contain spaces) and the values are the associated [guid] id's.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to the Server Configurator utility. Omit this path and the path will be discovered using Get-RecorderConfig or Get-ManagementServerConfig by locating the installation path of the Management Server or Recording Server and assuming the Server Configurator is located in the same path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AuthAddress</maml:name> <maml:description> <maml:para>Specifies the address of the Authorization Server which is usually the Management Server address. A [uri] value is expected, but only the URI host value will be used. The scheme and port will be inferred based on whether encryption is enabled/disabled and is fixed to port 80/443 as this is how Server Configurator is currently designed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CertificateGroup</maml:name> <maml:description> <maml:para>Specifies the CertificateGroup [guid] identifying which component for which encryption should be enabled or disabled. Omit this parameter to modify the encryption state for all components managed by server configurator.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisableEncryption</maml:name> <maml:description> <maml:para>Disable encryption for all components managed by server configurator, or only for the CertificateGroup specified.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableEncryption</maml:name> <maml:description> <maml:para>Enable encryption for all components managed by server configurator, or only for the CertificateGroup specified.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ListCertificateGroups</maml:name> <maml:description> <maml:para>List the available certificate groups on the local machine. Output will be a [hashtable] where the keys are the certificate group names (which may contain spaces) and the values are the associated [guid] id's.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>OverrideLocalManagementServer</maml:name> <maml:description> <maml:para>When using the `AuthAddress` parameter to specify a custom URL during registration directly on the management server, supply this switch parameter and serverconfigurator.exe will be invoked with the `/overridelocalmanagementserver` argument.</maml:para> <maml:para>You would do this when DNS name other than the management server's fully-qualified domain name (FQDN) will be used to access the VMS. Note that "server" encryption cannot be enabled, or disabled, once the management server DNS name has been overridden. This is a limitation of serverconfigurator.exe. To enable server encryption if it is currently disabled, or to disable it if it is currently enabled, you must open the Server Configurator application, and click the "undo" button on the address field in the "Register" activity tab.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the standard output from the Server Configurator utility should be written after the operation is completed. The output will include the following properties: - StandardOutput</maml:para> <maml:para>- StandardError</maml:para> <maml:para>- ExitCode</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to the Server Configurator utility. Omit this path and the path will be discovered using Get-RecorderConfig or Get-ManagementServerConfig by locating the installation path of the Management Server or Recording Server and assuming the Server Configurator is located in the same path.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Register</maml:name> <maml:description> <maml:para>Register all local components with the optionally specified AuthAddress. If no AuthAddress is provided, the last-known address will be used.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Thumbprint</maml:name> <maml:description> <maml:para>Specifies the thumbprint of the certificate to be used to encrypt communications with the component designated by the CertificateGroup id.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Invoke-ServerConfigurator -ListCertificateGroups</dev:code> <dev:remarks> <maml:para>Lists the available Certificate Groups such as 'Server certificate', 'Streaming media certificate' and 'Mobile streaming media certificate', and their ID's.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Invoke-ServerConfigurator -Register -AuthAddress http://MGMT -PassThru</dev:code> <dev:remarks> <maml:para>Registers all local Milestone components with the authorization server at http://MGMT and outputs a [pscustomobject] with the exit code, and standard output/error from the invocation of the Server Configurator executable.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Invoke-ServerConfigurator/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Invoke-VmsLicenseActivation</command:name> <command:verb>Invoke</command:verb> <command:noun>VmsLicenseActivation</command:noun> <maml:description> <maml:para>Perform an online license activation using My Milestone credentials.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Perform an online license activation using My Milestone credentials. Requires that the Management Server have an internet connection and access to the Milestone Systems license activation service on HTTPS port 443.</maml:para> <maml:para>The credentials used for license activation must match a valid My Milestone user with at least License User privelege and the software license code must already be registered to the company account.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Invoke-VmsLicenseActivation</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies a My Milestone username and password. The username is usually your e-mail address.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableAutoActivation</maml:name> <maml:description> <maml:para>Specifies that any system changes requiring license activation should trigger an automatic license activation using these credentials in the future. If omitted, automatic license activation will be disabled if it is currently enabled.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies a My Milestone username and password. The username is usually your e-mail address.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>EnableAutoActivation</maml:name> <maml:description> <maml:para>Specifies that any system changes requiring license activation should trigger an automatic license activation using these credentials in the future. If omitted, automatic license activation will be disabled if it is currently enabled.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInformation</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInformation</maml:name> </dev:type> <maml:description> <maml:para>Support for license management in Milestone's MIP SDK / Configuration API was introduced in version 2020 R2. If the Management Server version is earlier than 2020 R2, this function will not work.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Invoke-VmsLicenseActivation -Credential (Get-Credential)</dev:code> <dev:remarks> <maml:para>Performs an online license activation and does not enable automatic license activation.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Invoke-VmsLicenseActivation/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Join-VmsDeviceGroupPath</command:name> <command:verb>Join</command:verb> <command:noun>VmsDeviceGroupPath</command:noun> <maml:description> <maml:para>Joins an array of strings into a valid device group path with escaped forward-slashes as needed.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet can be used to safely construct a device group path from an array of names representing the device group hierarchy. Any unescaped forward-slashes will be automatically escaped for you in the return value.</maml:para> <maml:para>For example, the string "/People Counting/Entrances`/Exits" could represent a camera group named "Entrances/Exits" in a parent group named "People Counting", using the device group path format implemented by MilestonePSTools.</maml:para> <maml:para>This device group path can be safely constructed using the individual group names, without concern over how to escape any unescaped forward-slashes. If a forward-slash is intended to be a part of a device group name and the device group is created using `New-VmsDeviceGroup -Path`, then an unescaped forward-slash will end up splitting that device group name into two parts, and you will have an unexpected subgroup.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Join-VmsDeviceGroupPath</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>PathParts</maml:name> <maml:description> <maml:para>Specifies a hierarchy of device group names to use to construct a device group path with a unix directory-style path format. The order of strings is important: the first string represents the "root" device group, and the last string represents the "leaf" device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>PathParts</maml:name> <maml:description> <maml:para>Specifies a hierarchy of device group names to use to construct a device group path with a unix directory-style path format. The order of strings is important: the first string represents the "root" device group, and the last string represents the "leaf" device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>'People Counting', 'Entrances/Exits' | Join-VmsDeviceGroupPath</dev:code> <dev:remarks> <maml:para>This example constructs a device group path like `/People Counting/Entrances`/Exits`. Note the backtick added before "/Exits". Without the backtick, creating a device group with this path would result in a total of three device groups with a "leaf" group named "Exits". This cmdlet joined the parts of the path and escaped the previously unescaped directory separator character "/" with a backtick to signal that the forward slash is a part of the device group name instead of a directory separator.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Join-VmsDeviceGroupPath/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Move-VmsHardware</command:name> <command:verb>Move</command:verb> <command:noun>VmsHardware</command:noun> <maml:description> <maml:para>Moves hardware to a new destination recording server and storage profile.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Move-VmsHardware` cmdlet moves hardware to a new destination recording server and storage profile.</maml:para> <maml:para>If the destination recording server does not have the exact same driver version and revision, you must use the `-SkipDriverCheck` parameter.</maml:para> <maml:para>If the source recording server cannot be reached by the management server, you must either resolve the issue or acknowledge that existing recordings will be permanently orphaned from the VMS and potentially deleted if the original source recording server comes back online in the future. This risk can be accepted by including the `-AllowDataLoss` parameter.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Move-VmsHardware</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more hardware devices from one or more recording servers to be moved to the specified destination recording server and storage profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>DestinationRecorder</maml:name> <maml:description> <maml:para>Specifies the recording server to which the specified hardware should be moved.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>DestinationStorage</maml:name> <maml:description> <maml:para>Specifies the storage profile on the destination recording server where recordings from all devices on the specified hardware should be stored.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowDataLoss</maml:name> <maml:description> <maml:para>Allows hardware to be moved when the source recording server is not reachable by the management server which will result in orphaned recordings on that recording server and potentially deleted recordings if that recording server returns online in the future.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that hardware objects should be returned to the pipeline after successfully moving to the destination recording server.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SkipDriverCheck</maml:name> <maml:description> <maml:para>Specifies that differences between the source and destination driver versions should be ignored.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowDataLoss</maml:name> <maml:description> <maml:para>Allows hardware to be moved when the source recording server is not reachable by the management server which will result in orphaned recordings on that recording server and potentially deleted recordings if that recording server returns online in the future.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>DestinationRecorder</maml:name> <maml:description> <maml:para>Specifies the recording server to which the specified hardware should be moved.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>DestinationStorage</maml:name> <maml:description> <maml:para>Specifies the storage profile on the destination recording server where recordings from all devices on the specified hardware should be stored.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more hardware devices from one or more recording servers to be moved to the specified destination recording server and storage profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that hardware objects should be returned to the pipeline after successfully moving to the destination recording server.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SkipDriverCheck</maml:name> <maml:description> <maml:para>Specifies that differences between the source and destination driver versions should be ignored.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$selectedHardware = Get-VmsHardware | Out-GridView -OutputMode Multiple $destinationRecorder = Get-VmsRecordingServer | Out-GridView -OutputMode Single $destinationStorage = $destinationRecorder | Get-VmsStorage | Out-GridView -OutputMode Single $selectedHardware | Move-VmsHardware -DestinationRecorder $destinationRecorder -DestinationStorage $destinationStorage</dev:code> <dev:remarks> <maml:para>Prompts for one or more hardware to be selected, along with a destination recording server and storage location on that recording server. Then proceeds to move the selected hardware accordingly.</maml:para> <maml:para>By default, if the driver versions don't exactly match between the source and destination recording servers, the move will fail. Similarly, if the source recording server is not connected to the management server, the move will also fail.</maml:para> <maml:para>To allow a device pack driver version difference between recording servers, use the `-SkipDriverCheck` parameter. And to allow the hardware to be moved even though it may result in loss of data due to the source recording server being unavailable, use the `-AllowDataLoss` parameter.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$selectedHardware = Get-VmsHardware | Out-GridView -OutputMode Multiple Move-VmsHardware -Hardware $selectedHardware -DestinationRecorder Recorder2 -DestinationStorage 'Long-term Storage' -SkipDriverCheck -AllowDataLoss</dev:code> <dev:remarks> <maml:para>Prompts for one or more hardware to be selected, then attempts to move the selected hardware to the recording server named "Recorder2", using the storage configuration named "Long-term Storage".</maml:para> <maml:para>The device pack driver versions will not be checked ahead of time. If there is a mismatch, you will see a warning after the successful move.</maml:para> <maml:para>If the source recording server(s) are not connected to the management server at the time of move, the `-AllowDataLoss` switch indicates that the move should proceed anyway, at the risk of losing recordings on the source recording server(s).</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Move-VmsHardware/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsBasicUser</command:name> <command:verb>New</command:verb> <command:noun>VmsBasicUser</command:noun> <maml:description> <maml:para>Creates a new Milestone basic user with the specified username and password.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `New-VmsBasicUser` cmdlet creates a new Milestone basic user. Basic users created within Milestone are unique to the Milestone VMS on which they were created. They are not compatible with the Milestone Federated Architecture feature as of VMS versions 2023 R1.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsBasicUser</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the username for the new basic user.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies the password for the new basic user. The password should be provided as a `[securestring]` but a plain text string will be accepted as well.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>An optional description of the basic user. This is displayed in the management client and can be be used for any purpose. Sometimes the description is used to indicate why a user account has been locked or why the account was created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="none"> <maml:name>CanChangePassword</maml:name> <maml:description> <maml:para>Specifies whether the new basic user is allowed to change their own password.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none"> <maml:name>ForcePasswordChange</maml:name> <maml:description> <maml:para>Specifies that the new user must change their password upon first login.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="5" aliases="none"> <maml:name>Status</maml:name> <maml:description> <maml:para>Specifies the status for the new basic user account. The default is 'Enabled' and the other option configurable by the administrator is 'LockedOutByAdmin'. A third status value exists named 'LockedOutBySystem', but only the VMS can set this status value. Usually after multiple login failures.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">LockedOutByAdmin</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="none"> <maml:name>CanChangePassword</maml:name> <maml:description> <maml:para>Specifies whether the new basic user is allowed to change their own password.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>An optional description of the basic user. This is displayed in the management client and can be be used for any purpose. Sometimes the description is used to indicate why a user account has been locked or why the account was created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none"> <maml:name>ForcePasswordChange</maml:name> <maml:description> <maml:para>Specifies that the new user must change their password upon first login.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the username for the new basic user.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies the password for the new basic user. The password should be provided as a `[securestring]` but a plain text string will be accepted as well.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="5" aliases="none"> <maml:name>Status</maml:name> <maml:description> <maml:para>Specifies the status for the new basic user account. The default is 'Enabled' and the other option configurable by the administrator is 'LockedOutByAdmin'. A third status value exists named 'LockedOutBySystem', but only the VMS can set this status value. Usually after multiple login failures.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Enabled</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Security.SecureString</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Boolean</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.BasicUser</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>New-VmsBasicUser -Name 'user1' -Password (Read-Host -Prompt 'Password' -AsSecureString)</dev:code> <dev:remarks> <maml:para>Prompts for a password and then creates the user 'user1' with the provided password with the default settings including: Status = Enabled, CanChangePassword = True, ForcePasswordChange = False.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>New-VmsBasicUser -Name 'user2' -Password 'P4ssw@rd'</dev:code> <dev:remarks> <maml:para>Creates the user 'user2' with the password 'P4ssw@rd'. While the Password parameter is expected to be of type `[securestring]`, it can be provided as a plain text string as well. It is however recommended not to expose credentials in a script or terminal.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsBasicUser/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsClientProfile</command:name> <command:verb>New</command:verb> <command:noun>VmsClientProfile</command:noun> <maml:description> <maml:para>Creates a new smart client profile as an identical copy of the default smart client profile.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `New-VmsClientProfile` cmdlet creates a new smart client profile as an identical copy of the default smart client profile, with the exception of a unique name and optional description.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a unique name for the smart client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the smart client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the smart client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a unique name for the smart client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$newProfile = New-VmsClientProfile -Name 'New profile' -Description 'Created using the New-VmsClientProfile cmdlet in the MilestonePSTools PowerShell module.' $newProfile</dev:code> <dev:remarks> <maml:para>Creates a new smart client profile with the provided name and description. The attributes of the profile will match those of the default smart client profile.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsClientProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsDeviceGroup</command:name> <command:verb>New</command:verb> <command:noun>VmsDeviceGroup</command:noun> <maml:description> <maml:para>Creates a new device group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Creates a new device group. Device groups exist for cameras, microphones, speakers, inputs, outputs, and metadata.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsDeviceGroup</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ParentGroup</maml:name> <maml:description> <maml:para>Specifies the parent device group as is returned from Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a name for the new device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="DeviceCategory"> <maml:name>Type</maml:name> <maml:description> <maml:para>Specifies the type of device group to return. The default is "Camera".</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Input</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>New-VmsDeviceGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a full unix-style path to the desired device group. See the examples for reference.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="DeviceCategory"> <maml:name>Type</maml:name> <maml:description> <maml:para>Specifies the type of device group to return. The default is "Camera".</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Camera</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Microphone</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Speaker</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Input</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Output</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Metadata</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a name for the new device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ParentGroup</maml:name> <maml:description> <maml:para>Specifies the parent device group as is returned from Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a full unix-style path to the desired device group. See the examples for reference.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="DeviceCategory"> <maml:name>Type</maml:name> <maml:description> <maml:para>Specifies the type of device group to return. The default is "Camera".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Camera</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>New-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" Get-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3"</dev:code> <dev:remarks> <maml:para>Creates a three-level deep camera group hierarchy, and then demonstrates how to retrieve that camera group using the Path parameter.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>New-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" Get-VmsDeviceGroup -Name 'Level 1' | Get-VmsDeviceGroup -Name 'Level 2' | Get-VmsDeviceGroup -Name 'Level 3'</dev:code> <dev:remarks> <maml:para>Creates a three-level deep camera group hierarchy, and then demonstrates how to retrieve that camera group by piping the parent group so that the "Name" parameter will be used to find the group with the matching name within the parent group's device group folder.</maml:para> <maml:para>Since no parent group was provided to the first call to Get-VmsDeviceGroup, the lookup began at (Get-VmsManagementServer).CameraGroupFolder.CameraGroups.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>New-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" -Type Microphone Get-VmsDeviceGroup -Path "/Level 1/Level 2/Level 3" -Type Microphone</dev:code> <dev:remarks> <maml:para>Creates a three-level deep microphone group hierarchy, and then demonstrates how to retrieve that microphone group using the Path parameter. Note that the default device group type is "Camera" so when working with other device types you will need to specify the device group type.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>New-VmsDeviceGroup -Name "Level 1" | New-VmsDeviceGroup -Name "Level 2" | New-VmsDeviceGroup -Name "Level 3"</dev:code> <dev:remarks> <maml:para>Creates a three-level deep camera group hierarchy by creating the first level, then piping it to `New-VmsDeviceGroup` to create a child group, and piping that child group to `New-VmsDeviceGroup` again to create the "Level 3" camera group which has the root-level camera group "Level 1" as a grand-parent.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsDeviceGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsFailoverGroup</command:name> <command:verb>New</command:verb> <command:noun>VmsFailoverGroup</command:noun> <maml:description> <maml:para>Creates a new failover group in the current Milestone XProtect VMS site.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `New-VmsFailoverGroup` cmdlet creates a new failover group which can contain one or more failover recording servers.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsFailoverGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>A unique name for the new failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>An optional description for the new failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>An optional description for the new failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>A unique name for the new failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula New-VmsFailoverGroup -Name 'FO Group 1' -Description 'First failover group' New-VmsFailoverGroup -Name 'FO Group 2' -Description 'Second failover group'</dev:code> <dev:remarks> <maml:para>Prompts user to login to a Milestone VMS, then creates two failover groups.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsFailoverGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsLoginProvider</command:name> <command:verb>New</command:verb> <command:noun>VmsLoginProvider</command:noun> <maml:description> <maml:para>Adds a new external login provider to enable authentication by an external identity provider.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `New-VmsLoginProvider` cmdlet adds a new external login provider to enable authentication by an external identity provider. This functionality was introduced to the XProtect VMS in version 2022 R1, and enables authentication to be managed not only by Windows, Active Directory, or Milestone "basic users", but by an external identity provider with support for OpenID Connect or OIDC.</maml:para> <maml:para>Note: Only identity providers with support for OpenID Connect are supported with this feature. Future versions of the XProtect VMS may introduce support for additional protocols such as SAML.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsLoginProvider</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the display name for the external login provider. This value will be displayed in the list of authentication options in supported clients including Smart Client, Web Client, Mobile Client, and Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ClientId</maml:name> <maml:description> <maml:para>Specifies the client id value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ClientSecret</maml:name> <maml:description> <maml:para>Specifies the client secret value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>CallbackPath</maml:name> <maml:description> <maml:para>Specifies the path to which users will be redirected after completing the login process with the external login provider. The CallbackPath value represents the portion of the management server URI that comes after the dns name and port. The default value is '/signin-oidc' and the value is not normally changed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>/signin-oidc</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Authority</maml:name> <maml:description> <maml:para>Specifies the URI for the external login provider to which VMS users will be redirected for authentication.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>UserNameClaim</maml:name> <maml:description> <maml:para>Specifies the claim name to use to generate a unique user name for the user in the VMS. See the Unique user names for external IDP users (https://doc.milestonesys.com/latest/en-US/standard_features/sf_mc/sf_systemoverview/mc_external_idpexplained.htm#Unique_user_names_for_external_IDP_users_)documentation for more information about how user names are created within the VMS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>Scopes</maml:name> <maml:description> <maml:para>Use scopes to limit the number of claims that you get from an external IDP. If you know that the claims that are relevant for your VMS are in a specific scope, you can use the scope to limit the number of claims that you get from the external IDP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>PromptForLogin</maml:name> <maml:description> <maml:para>Specify to the external IDP if the user should stay logged in or if a verification of the user is required. Depending on the external IDP, the verification can include a password verification or a full log-in.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>True</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the external login provider should be enabled immediately. The default value is `$true`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Authority</maml:name> <maml:description> <maml:para>Specifies the URI for the external login provider to which VMS users will be redirected for authentication.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>CallbackPath</maml:name> <maml:description> <maml:para>Specifies the path to which users will be redirected after completing the login process with the external login provider. The CallbackPath value represents the portion of the management server URI that comes after the dns name and port. The default value is '/signin-oidc' and the value is not normally changed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>/signin-oidc</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ClientId</maml:name> <maml:description> <maml:para>Specifies the client id value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ClientSecret</maml:name> <maml:description> <maml:para>Specifies the client secret value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the external login provider should be enabled immediately. The default value is `$true`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the display name for the external login provider. This value will be displayed in the list of authentication options in supported clients including Smart Client, Web Client, Mobile Client, and Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>PromptForLogin</maml:name> <maml:description> <maml:para>Specify to the external IDP if the user should stay logged in or if a verification of the user is required. Depending on the external IDP, the verification can include a password verification or a full log-in.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>True</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>Scopes</maml:name> <maml:description> <maml:para>Use scopes to limit the number of claims that you get from an external IDP. If you know that the claims that are relevant for your VMS are in a specific scope, you can use the scope to limit the number of claims that you get from the external IDP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>UserNameClaim</maml:name> <maml:description> <maml:para>Specifies the claim name to use to generate a unique user name for the user in the VMS. See the Unique user names for external IDP users (https://doc.milestonesys.com/latest/en-US/standard_features/sf_mc/sf_systemoverview/mc_external_idpexplained.htm#Unique_user_names_for_external_IDP_users_)documentation for more information about how user names are created within the VMS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>if (Get-VmsLoginProvider) { throw "Existing login provider found. To run this example, please remove the existing login provider using 'Get-VmsLoginProvider | Remove-VmsLoginProvider -Force'." } # While this script has been tested and confirmed to work at the time of writing, # the clientid, clientsecret, and authority below are fictional values. $providerParams = @{ Name = 'Auth0' ClientId = 'qgrWLy9ho81mKErhK7ZD4k82rLXKLGgB' ClientSecret = 'M_4P4IZQo0X4oxPwrrxWkh8y8Hjas9yl8VOFM6DQR4jlvMdJB3S0oL768b25MtIA' | ConvertTo-SecureString -AsPlainText -Force Authority = 'https://dev-hYz2AYg0WmmTSE4C.us.auth0.com' UserNameClaim = 'email' Scopes = 'email', 'profile' Verbose = $true ErrorAction = 'Stop' } # Adds the external login provider $loginProvider = New-VmsLoginProvider @providerParams # Registers a claim so that a claim name/value can later be added to a role $loginProvider | Add-VmsLoginProviderClaim -Name 'vms_role' -Verbose # Adds the "vms_role" claim to all roles, with a value matching the name of the role. # Any user from the external login provider with the "vms_role" claim will now be a member of the matching role. Get-VmsRole | Foreach-Object { $_ | Add-VmsRoleClaim -LoginProvider $loginProvider -ClaimName 'vms_role' -ClaimValue $_.Name -Verbose }</dev:code> <dev:remarks> <maml:para>This example script performs all the necessary configuration to add a new external identity provider (IDP). In the case of this example, it is expected that users will have a claim in their token named "vms_role", and the value of that claim will match the name of a role in the VMS.</maml:para> <maml:para>Note that the ClientId, ClientSecret, and Authority are always unique to every production identity provider. And identity provider will also likely have a unique set of scopes, and claims, so you should not expect this example to work as-is, unless you have confirmed with the administrator for your identity management system that users will have a claim named "vms_role", and that the value of this claim will match the name of a role in the VMS.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsLoginProvider/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsRestrictedMedia</command:name> <command:verb>New</command:verb> <command:noun>VmsRestrictedMedia</command:noun> <maml:description> <maml:para>Create a new video playback restriction for one or more devices.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `New-VmsRestrictedMedia` cmdlet creates a new video playback restriction for one or more devices.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> <maml:para>- Requires VMS feature "RestrictedMedia"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsRestrictedMedia</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices to be included in the media restriction by Id.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the start of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the end of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Header</maml:name> <maml:description> <maml:para>Specifies the title of the media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the video playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IgnoreRelatedDevices</maml:name> <maml:description> <maml:para>Specifies that the related devices (microphones, speakers, and metadata) should not be included in the media restriction.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the video playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices to be included in the media restriction by Id.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the end of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Header</maml:name> <maml:description> <maml:para>Specifies the title of the media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IgnoreRelatedDevices</maml:name> <maml:description> <maml:para>Specifies that the related devices (microphones, speakers, and metadata) should not be included in the media restriction.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the start of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.Guid[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMedia</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$cameras = Select-Camera -AllowFolders -AllowServers -RemoveDuplicates $splat = @{ Header = 'Example video playback restriction' Description = 'Description of video playback restriction' StartTime = (Get-Date).Date EndTime = Get-Date } $cameras | New-VmsRestrictedMedia @splat</dev:code> <dev:remarks> <maml:para>This example prompts the user to select one or more cameras, with the option to select an entire camera group or recording server. Then a playback restriction is created from midnight of the current day until the current time for the selected cameras and their related devices (microphones, speakers, and metadata).</maml:para> <maml:para>PowerShell's splatting feature is used in this example to reduce the line width, and the camera Id's are piped to the function instead of using the `DeviceId` named property directly.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$cameras = Select-Camera -AllowFolders -AllowServers -RemoveDuplicates $start = (Get-Date).AddHours(-1) $end = Get-Date $cameras | New-VmsRestrictedMedia -Header 'Example' -StartTime $start -EndTime $end</dev:code> <dev:remarks> <maml:para>This example prompts the user to select one or more cameras, with the option to select an entire camera group or recording server. Then a playback restriction is created for the past hour for the selected cameras, and their related devices (microphones, speakers, and metadata). In this example, the parameters are provided in-line, and the optional description is omitted.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>$cameras = Select-Camera -AllowFolders -AllowServers -RemoveDuplicates $start = (Get-Date).AddHours(-1) $end = Get-Date $cameras | New-VmsRestrictedMedia -Header 'Example' -StartTime $start -EndTime $end -IgnoreRelatedDevices</dev:code> <dev:remarks> <maml:para>This example is identical to the previous example, except the related devices (microphones, speakers, and metadata) are excluded from the restriction.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsRestrictedMedia/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsRole</command:name> <command:verb>New</command:verb> <command:noun>VmsRole</command:noun> <maml:description> <maml:para>Creates a new role on the connected VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Creates a new role and matching view group on the connected VMS. Permissions are associated with roles, and roles can have any number of users and groups, or "members".</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsRole</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a name for the new role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="RoleClientLogOnTimeProfile"> <maml:name>ClientLogOnTimeProfile</maml:name> <maml:description> <maml:para>Specifies the time profile within which members of this role are allowed to logon.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="RoleDefaultTimeProfile"> <maml:name>DefaultTimeProfile</maml:name> <maml:description> <maml:para>Specifies the default time profile to use for permissions such as when members are allowed to play back recordings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies which smart client profile to use with the new role. Use `Get-VmsClientProfile` to retrieve smart client profile objects, or enter the client profile by name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AllowMobileClientLogOn</maml:name> <maml:description> <maml:para>Allow members of this role to logon using a mobile client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AllowSmartClientLogOn</maml:name> <maml:description> <maml:para>Allow members of this role to logon using Smart Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AllowWebClientLogOn</maml:name> <maml:description> <maml:para>Allow members of this role to logon using a web browser.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>DualAuthorizationRequired</maml:name> <maml:description> <maml:para>Specifies that dual authorization is required for members of the role.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>MakeUsersAnonymousDuringPTZSession</maml:name> <maml:description> <maml:para>Specifies that PTZ operations should not be attributed to a specific user for members of the role.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the new role should be returned to the caller. Normal behavior for a "New-*" cmdlet is to return the new item by default. However, when creating a large number of roles, the added time to make an extra API call to retrieve the new role, or to enumerate through the cached role collection to find it may not be preferred.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AllowMobileClientLogOn</maml:name> <maml:description> <maml:para>Allow members of this role to logon using a mobile client.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AllowSmartClientLogOn</maml:name> <maml:description> <maml:para>Allow members of this role to logon using Smart Client.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>AllowWebClientLogOn</maml:name> <maml:description> <maml:para>Allow members of this role to logon using a web browser.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="RoleClientLogOnTimeProfile"> <maml:name>ClientLogOnTimeProfile</maml:name> <maml:description> <maml:para>Specifies the time profile within which members of this role are allowed to logon.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies which smart client profile to use with the new role. Use `Get-VmsClientProfile` to retrieve smart client profile objects, or enter the client profile by name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="RoleDefaultTimeProfile"> <maml:name>DefaultTimeProfile</maml:name> <maml:description> <maml:para>Specifies the default time profile to use for permissions such as when members are allowed to play back recordings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>DualAuthorizationRequired</maml:name> <maml:description> <maml:para>Specifies that dual authorization is required for members of the role.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>MakeUsersAnonymousDuringPTZSession</maml:name> <maml:description> <maml:para>Specifies that PTZ operations should not be attributed to a specific user for members of the role.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a name for the new role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the new role should be returned to the caller. Normal behavior for a "New-*" cmdlet is to return the new item by default. However, when creating a large number of roles, the added time to make an extra API call to retrieve the new role, or to enumerate through the cached role collection to find it may not be preferred.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>When you create a new role with the `New-VmsRole` cmdlet, a new view group is created with the same name. This is a part of the MIP SDK and the Management Server APIs, and matches the experience when creating roles in Management Client. These automatically-created view groups are not required and can be deleted at any time using the `Remove-VmsViewGroup` cmdlet. For example `Get-VmsViewGroup -Name 'viewgroup name' | Remove-VmsViewGroup -Recurse`.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -AcceptEula New-VmsRole -Name "My new role" -AllowMobileClientLogOn -AllowSmartClientLogOn -AllowWebClientLogOn</dev:code> <dev:remarks> <maml:para>Logs in to a management server, then creates a new role named "My new role" with permission to logon to the mobile client, smart client, and web client. Note that the role does not yet have any members, and it has not been assigned permissions to any cameras.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsRole/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsRule</command:name> <command:verb>New</command:verb> <command:noun>VmsRule</command:noun> <maml:description> <maml:para>Creates a new rule with the provided name and properties.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `New-VmsRule` cmdlet creates a new rule with the provided name and properties. Creating rules in Milestone using Configuration API is similar to creating rules in the Management Client. You start with a name and optional description, and then submit these properties. In response, more properties are received. The properties are filled and submitted in multiple iterations much like stepping through a wizard in Management Client.</maml:para> <maml:para>This cmdlet accepts a single, complete collection of properties, and goes through the process of adding a new rule until the Management Server finally returns an `InvokeResult` object with the ID of the newly created rule, or an error message.</maml:para> <maml:para>Since rules can have a wide variety of triggers, conditions, and actions, each with their own unique property keys and value types, the best way to discover the property keys and values you will need is to create a rule in management client by hand, and then inspect that rule from PowerShell using `Get-VmsRule`. The `Properties` collection of the rule returned by `Get-VmsRule` can be used as a template when constructing your own rules.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsRule</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a name for the new rule.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="EnableProperty"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the rule should be enabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>True</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies a collection of properties either as a hashtable, or as list of objects, each having a Key and a Value property. For example, you can pass in the `Properties` collection from the result of `Get-VmsRule` and the Key/Value properties from each of the properties in the collection will be automatically converted to a hashtable when calling `New-VmsRule`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="EnableProperty"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the rule should be enabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>True</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a name for the new rule.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies a collection of properties either as a hashtable, or as list of objects, each having a Key and a Value property. For example, you can pass in the `Properties` collection from the result of `Get-VmsRule` and the Key/Value properties from each of the properties in the collection will be automatically converted to a hashtable when calling `New-VmsRule`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRule | Get-Random | Foreach-Object { $_ | New-VmsRule -Name "Copy of $($_.DisplayName)" }</dev:code> <dev:remarks> <maml:para>Gets an existing rule at random and creates a copy by passing the Properties of the existing rule by property name from the pipeline, and supplying a name for the new rule.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code><# You can use the following command to see the property keys and values for an existing rule. That is how the properties for this example were constructed. Get-VmsRule -Name 'Default Record on Motion Rule' | Select-Object -ExpandProperty Properties #> $ruleParams = @{ Name = 'Copy of Default Record on Motion Rule' Properties = @{ 'Description' = 'Created from PowerShell using MilestonePSTools' 'StartRuleType' = 'Event' 'StartEventGroup' = 'DevicePredefined' 'StartEventType' = '6eb95dd6-7ccc-4bce-99f8-af0d0b582d77' 'StartEventSources' = 'CameraGroup[0e1b0ad3-f67c-4d5f-b792-4bd6c3cf52f8]' 'StartActions' = 'StartRecording' 'Start.StartRecording.Delay' = '-3' 'Start.StartRecording.DeviceIds' = 'Camera[00000000-0000-0000-0000-000000000000]' 'StopRuleType' = 'Event' 'StopEventGroup' = 'DevicePredefined' 'StopEventType' = '6f55a7a7-d21c-4629-ac18-af1975e395a2' 'StopEventSources' = 'CameraGroup[0e1b0ad3-f67c-4d5f-b792-4bd6c3cf52f8]' 'StopActions' = 'StopRecording' 'Stop.StopRecording.Delay' = '3' } } New-VmsRule @ruleParams</dev:code> <dev:remarks> <maml:para>Creates a new copy of the rule named "Default Record on Motion Rule" which is present in all VMS installations by default. The `Properties` hashtable was created by copying the values returned by `Get-VmsRule -Name 'Default Record on Motion Rule' | Select-Object -ExpandProperty Properties`.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>$genericEvent = Get-GenericEvent | Where-Object Name -eq 'MilestonePSTools Test Generic Event' if ($null -eq $genericEvent) { $datasource = Get-GenericEventDataSource | Where-Object Name -eq 'International' $datasource.Enabled = $true $datasource.Save() $genericEvent = Add-GenericEvent -Name 'MilestonePSTools Test Generic Event' -Expression '"Test Expression"' -ExpressionType Match -DataSourceId $datasource.Path } $newRuleParams = @{ Name = 'MilestonePSTools Example Rule on Generic Event' Properties = @{ 'Description' = 'Rule is triggered by a generic event and creates a Rule Log entry.' 'StartRuleType' = 'Event' 'StartEventGroup' = 'GenericEvents' # The expected value is the GUID of an internal object representing a hidden user-defined event used to represent # a generic event rule match. There is no way for you to know ahead of time what the ID for this internal event # is. The ValueTypeInfos collection for the StartEventType has the generic event name and this hidden # user-defined event ID, and the New-VmsRule cmdlet will attempt to find the correct value from the # ValueTypeInfos collection if you provide the display name of an event instead of the ID. 'StartEventType' = $genericEvent.Name 'StartEventSources' = 'External[e8bd6cee-1119-4296-ba91-e3803e2c591e]' 'StopRuleType' = 'None' 'Always' = 'False' 'WithinTimeProfile' = 'False' 'WithinTimeProfile.TimeProfile' = '' 'OutsideTimeProfile' = 'False' 'OutsideTimeProfile.TimeProfile' = '' 'TimeOfDayBetween' = 'False' 'TimeOfDayBetween.StartTime' = '08:00:00' 'TimeOfDayBetween.EndTime' = '08:00:00' 'DaysOfWeek' = 'False' 'DaysOfWeek.Days' = '' 'StartActions' = 'CreateLogEntry' 'Start.CreateLogEntry.Text' = 'A generic event has been triggered' } } New-VmsRule @newRuleParams</dev:code> <dev:remarks> <maml:para>Creates a rule based on a generic event which logs a message to the rule log. A generic event data source is enabled if necessary, then the generic event is created. Under the hood, generic events are represented by a shadow "user-defined event" and there's no API available for figuring out the underlying ID for the event triggered when a generic event rule is matched with data from an incoming TCP/UDP stream.</maml:para> <maml:para>When creating a rule, you are presented with a collection of properties with a key, maybe a default value, and for Enum value types, a collection of "ValueTypeInfos" which describe a set of valid options to choose from.</maml:para> <maml:para>If you supply the display name instead of a valid value, the `New-VmsRule` cmdlet will automatically compare the value to provided with the display names of the ValueTypeInfos for that property, and if a match is found, the display name you provided will be substituted for the internal value accepted by the Management Server. In the verbose message stream you will see a message like "Value for user-supplied property 'StartEventType' has been mapped from 'MilestonePSTools Test Generic Event' to '3c55a424-d341-4781-a806-dfb60d46789e'".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>$testUserDefinedEvent = (Get-VmsManagementServer).UserDefinedEventFolder.UserDefinedEvents | Where-Object Name -eq 'MilestonePSTools Test Event' if ($null -eq $testUserDefinedEvent) { $invokeResult = (Get-VmsManagementServer).UserDefinedEventFolder.AddUserDefinedEvent('MilestonePSTools Test Event') $testUserDefinedEvent = (Get-VmsManagementServer).UserDefinedEventFolder.UserDefinedEvents | Where-Object Path -eq $invokeResult.Path } $newRuleParams = @{ Name = 'MilestonePSTools Example Rule on User Defined Event' Properties = @{ 'Description' = 'Rule is triggered by a user defined event and creates a Rule Log entry.' 'StartRuleType' = 'Event' 'StartEventGroup' = 'UserDefinedEvents' 'StartEventType' = $testUserDefinedEvent.Id 'StartEventSources' = 'External[e8bd6cee-1119-4296-ba91-e3803e2c591e]' 'StopRuleType' = 'None' 'Always' = 'False' 'WithinTimeProfile' = 'False' 'WithinTimeProfile.TimeProfile' = '' 'OutsideTimeProfile' = 'False' 'OutsideTimeProfile.TimeProfile' = '' 'TimeOfDayBetween' = 'False' 'TimeOfDayBetween.StartTime' = '08:00:00' 'TimeOfDayBetween.EndTime' = '08:00:00' 'DaysOfWeek' = 'False' 'DaysOfWeek.Days' = '' 'StartActions' = 'CreateLogEntry' 'Start.CreateLogEntry.Text' = 'User defined event has been triggered' } } New-VmsRule @newRuleParams</dev:code> <dev:remarks> <maml:para>Creates a user-defined event, and then a rule to log a message in the rule log when the user-defined event is triggered.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsRule/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsView</command:name> <command:verb>New</command:verb> <command:noun>VmsView</command:noun> <maml:description> <maml:para>Creates a new view as a child item of the specified XProtect Smart Client view group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Creates a new XProtect Smart Client view in the specified view group and places cameras into the view if one or more camera objects are provided.</maml:para> <maml:para>Views have a complex layout defined in XML, and this command offers advanced users an easy way to create new views with their own custom layout and view item definitions. However, the command also enables simple view creation without the need to construct or manipulate XML data.</maml:para> <maml:para>The default parameter set will accept a collection of cameras, and automatically build a view with enough columns and rows. The simple layout generation has simple logic where the number of columns and rows will always be equal.</maml:para> <maml:para>If you pass in four cameras, you will receive a 2x2 view layout and all view items will receive a camera. And if you pass in 5 cameras, a 3x3 view layout will be created, and only the first 5 view items will receive a camera, leaving four empty view items.</maml:para> <maml:para>The custom parameter set will let you specify the cameras, and a number of columns and rows. The layout will then be generated for you and all cameras will be placed in the view if there are enough view items. If you pass in 10 cameras but specify only a 3x2 view layout, then the first 6 cameras will fill the view and the last four will be discarded with a warning.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new view. Names must be unique within a specific view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Cameras</maml:name> <maml:description> <maml:para>Specifies one or more cameras to place into the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Columns</maml:name> <maml:description> <maml:para>Specifies the number of columns the view should have. Think of columns and rows like a spreadsheet where each cell can contain a view item like a camera, map, or other type of view item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Rows</maml:name> <maml:description> <maml:para>Specifies the number of rows the view should have. Think of columns and rows like a spreadsheet where each cell can contain a view item like a camera, map, or other type of view item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the parent view group within which the new view will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>New-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new view. Names must be unique within a specific view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Cameras</maml:name> <maml:description> <maml:para>Specifies one or more cameras to place into the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LayoutDefinitionXml</maml:name> <maml:description> <maml:para>Specifies the XML definition for the view layout. This is only needed if automating the creation of views with complex view layouts that cannot be accomplished by defining row and column counts. It is recommended to manually create a view in XProtect Smart Client, and then inspect the LayoutDefinitionXml for that view to see what format and information is required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the parent view group within which the new view will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ViewItemDefinitionXml</maml:name> <maml:description> <maml:para>Specifies the XML definition for each view item in the view. This is only needed if automating the creation of views that have non-camera elements in them. It is recommended to manually create a view in XProtect Smart Client, and then inspect the ViewItemDefinitionXml for that view to see what format and information is required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>New-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new view. Names must be unique within a specific view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Cameras</maml:name> <maml:description> <maml:para>Specifies one or more cameras to place into the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>StreamName</maml:name> <maml:description> <maml:para>Specifies the display name of the camera stream to use for live viewing by default. If no matching stream can be found for a given camera, the default live stream will be used.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the parent view group within which the new view will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Cameras</maml:name> <maml:description> <maml:para>Specifies one or more cameras to place into the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Columns</maml:name> <maml:description> <maml:para>Specifies the number of columns the view should have. Think of columns and rows like a spreadsheet where each cell can contain a view item like a camera, map, or other type of view item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LayoutDefinitionXml</maml:name> <maml:description> <maml:para>Specifies the XML definition for the view layout. This is only needed if automating the creation of views with complex view layouts that cannot be accomplished by defining row and column counts. It is recommended to manually create a view in XProtect Smart Client, and then inspect the LayoutDefinitionXml for that view to see what format and information is required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new view. Names must be unique within a specific view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Rows</maml:name> <maml:description> <maml:para>Specifies the number of rows the view should have. Think of columns and rows like a spreadsheet where each cell can contain a view item like a camera, map, or other type of view item.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>StreamName</maml:name> <maml:description> <maml:para>Specifies the display name of the camera stream to use for live viewing by default. If no matching stream can be found for a given camera, the default live stream will be used.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies the parent view group within which the new view will be created.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ViewItemDefinitionXml</maml:name> <maml:description> <maml:para>Specifies the XML definition for each view item in the view. This is only needed if automating the creation of views that have non-camera elements in them. It is recommended to manually create a view in XProtect Smart Client, and then inspect the ViewItemDefinitionXml for that view to see what format and information is required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $topViewGroup = Get-VmsViewGroup | Out-GridView -OutputMode Single $newViewGroup = $topViewGroup | New-VmsViewGroup -Name 'New-VmsView Test' $cameras = Select-Camera -AllowFolders $newView = $newViewGroup | New-VmsView -Name 'Example 1' -Camera $cameras $newView <# OUTPUT DisplayName ViewSize Shortcut Id LastModified ----------- -------- -------- -- ------------ Example 1 25 184AB678-C9DC-4149-B925-... 2/18/2022 3:53:34 PM #></dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we prompt for a view group selection, and then create a child group in the selected view group named "New-VmsView Test".</maml:para> <maml:para>Then, we prompt for a selection of cameras to place in the view. Inside the new view group, we create a new view named "Example 1" large enough for all cameras and place the selected cameras into the view.</maml:para> <maml:para>The new view object is then displayed in the terminal. There are more properties available on the view object than are displayed by default - these are only the most interesting and display-friendly properties.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>function BuildViewsFromCameraGroups { param( [VideoOS.Platform.ConfigurationItems.ViewGroup]$StartingGroup, [VideoOS.Platform.ConfigurationItems.CameraGroup[]]$CameraGroups, [int]$MaxViewSize = 4 ) Clear-VmsCache $ms = Get-VmsManagementServer $stack = [system.collections.generic.stack[hashtable]]::new() if ($null -eq $CameraGroups) { $CameraGroups = $ms.CameraGroupFolder.CameraGroups } foreach ($group in $CameraGroups) { $stack.Push( @{ ParentViewGroup = $StartingGroup CameraGroup = $group } ) } while ($stack.Count -gt 0) { $entry = $stack.Pop() $vgParams = @{ Name = $entry.CameraGroup.Name Parent = $entry.ParentViewGroup Force = $true } $viewGroup = New-VmsViewGroup @vgParams if ($entry.CameraGroup.CameraFolder.Cameras.Count -gt 0) { for ($i = 0; $i -lt $entry.CameraGroup.CameraFolder.Cameras.Count; $i += $MaxViewSize) { $start = $i $end = [math]::min($i + $MaxViewSize, $entry.CameraGroup.CameraFolder.Cameras.Count) - 1 $viewName = if ($start -eq 0 -and $end -eq $entry.CameraGroup.CameraFolder.Cameras.Count - 1) { $viewGroup.DisplayName } else { '{0} {1}' -f $viewGroup.DisplayName, (($i / $MaxViewSize) + 1) } $null = $viewGroup | New-VmsView -Name $viewName -Camera $entry.CameraGroup.CameraFolder.Cameras[$start..$end] } } foreach ($childGroup in $entry.CameraGroup.CameraGroupFolder.CameraGroups) { $stack.Push( @{ ParentViewGroup = $viewGroup CameraGroup = $childGroup } ) } } } Connect-Vms -ShowDialog -AcceptEula -Force $cameraGroups = Select-VideoOSItem -AllowFolders -HideServerTab -Kind ([VideoOS.Platform.Kind]::Camera) | Foreach-Object { try { $item = $_ [VideoOS.Platform.ConfigurationItems.CameraGroup]::new($_.FQID.ServerId, "CameraGroup[$($item.FQID.ObjectId)]") } catch { Write-Error "Camera Group '$($item.Name)' not found." } } $viewGroupName = Read-Host -Prompt "New view group name" $viewgroup = New-VmsViewGroup -Name $viewGroupName -Force BuildViewsFromCameraGroups -StartingGroup $viewgroup -CameraGroups $cameraGroups -MaxViewSize 9</dev:code> <dev:remarks> <maml:para>This example prompts the user to login to the Management Server, and then select one or more camera groups. After receiving a new view group name from a prompt at the terminal, those camera groups are used as templates to generate view groups and views in a new top-level view group.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsView/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsViewGroup</command:name> <command:verb>New</command:verb> <command:noun>VmsViewGroup</command:noun> <maml:description> <maml:para>Creates a new top-level or child view group for XProtect Smart Client.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>There are two types of view groups - top-level view groups which are usually created or removed in Management Client, and can have permissions applied on a per-role level, and cannot directly contain view child items, and child view groups which can be nested within a top-level view group, and may contain views, and share the permissions of the top-level view group above it.</maml:para> <maml:para>This command can be used to create any type of view group - the Milestone SDK does not differentiate between the two, except that you cannot add views directly to a top-level view group, and you cannot change permissions on a child view group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsViewGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies the view group description which is only displayed in Management Client for top-level view groups.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the view group should be created, and if it already exists, the existing view group should be returned without error.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Parent</maml:name> <maml:description> <maml:para>Specifies the parent view group. This parameter is required when creating a nested or "child" view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies the view group description which is only displayed in Management Client for top-level view groups.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the view group should be created, and if it already exists, the existing view group should be returned without error.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Parent</maml:name> <maml:description> <maml:para>Specifies the parent view group. This parameter is required when creating a nested or "child" view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $parentViewGroup = New-VmsViewGroup -Name 'New-VmsViewGroup Test' -Force $subgroup1 = $parentViewGroup | New-VmsViewGroup -Name 'SubGroup 1' -Force $subgroup2 = New-VmsViewGroup -Name 'SubGroup 2' -Parent $subgroup1 -Force $subgroup1 $subgroup2</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, three nested groups are created with the top-level view group 'New-VmsViewGroup Test' having a child view group named "SubGroup 1" and the child view group having it's own child view group named "SubGroup 2".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsViewGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-VmsWebhook</command:name> <command:verb>New</command:verb> <command:noun>VmsWebhook</command:noun> <maml:description> <maml:para>Create a new webhook on a Milestone XProtect VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `New-VmsWebhook` cmdlet creates a new webhook definition on a Milestone XProtect VMS.</maml:para> <maml:para>Webhooks must have a name, and address, and the name should be unique, but this is not enforced by the VMS and you will not receive any warnings or errors when a webhook is created with a duplicate name.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-VmsWebhook</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new webhook. Names should ideally be unique, but this is not enforced by the VMS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies a web address such as <https://webhook.destination/> or <http://webhook.destination/>.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Token</maml:name> <maml:description> <maml:para>Specifies an optional "secret key" to sign webhook payloads enabling the recipient to authenticate the request, and validate the payload. The value provided will be used to generate a "x-hub-signature-256" HTTP header containing a SHA256 HMAC hash of the payload which will look like "x-hub-signature-256: sha256=yR8FWeS1nsIZw36dN1FXz7aRNbcr/O0F8m41F6yBopY=".</maml:para> <maml:para>If no token is provided, the "x-hub-signature-256" header will still be present in the HTTP requests, and the HMAC key used to generate the SHA256 hash will be an empty string.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies a web address such as <https://webhook.destination/> or <http://webhook.destination/>.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the new webhook. Names should ideally be unique, but this is not enforced by the VMS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Token</maml:name> <maml:description> <maml:para>Specifies an optional "secret key" to sign webhook payloads enabling the recipient to authenticate the request, and validate the payload. The value provided will be used to generate a "x-hub-signature-256" HTTP header containing a SHA256 HMAC hash of the payload which will look like "x-hub-signature-256: sha256=yR8FWeS1nsIZw36dN1FXz7aRNbcr/O0F8m41F6yBopY=".</maml:para> <maml:para>If no token is provided, the "x-hub-signature-256" header will still be present in the HTTP requests, and the HMAC key used to generate the SHA256 hash will be an empty string.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Uri</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>MilestonePSTools.Webhook</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Supported on Milestone XProtect VMS versions 2023 R1 and later.</maml:para> <maml:para>See this Securing your webhooks (https://docs.github.com/en/webhooks-and-events/webhooks/securing-your-webhooks)article from GitHub for more information about the "x-hub-signature-256" header.</maml:para> <maml:para>For testing purposes, the Webhook.site (https://webhook.site)web service is a fantastic way to evaluate whether your webhooks are working, and inspect the headers and payloads to better understand how to use them in your third-party application.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>New-VmsWebhook -Name 'Sample Webhook' -Address https://webhook.destination/</dev:code> <dev:remarks> <maml:para>Creates a new webhook, without the use of a token. The HTTP POST messages will still include the "x-hub-signature-256" HTTP header, and the HMAC signature will be generated using an empty string as the secret.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>New-VmsWebhook -Name 'Sample Webhook' -Address https://webhook.destination/ -Token 'My secret token'</dev:code> <dev:remarks> <maml:para>Creates a new webhook with a token to use when signing the HTTP POST.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Import-Csv -Path ~\webhooks.csv | New-VmsWebhook</dev:code> <dev:remarks> <maml:para>This example demonstrates how you can use a CSV file with Name, Address, and optional Token headers to create new webhooks in your Milestone VMS.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/New-VmsWebhook/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsArchiveStorage</command:name> <command:verb>Remove</command:verb> <command:noun>VmsArchiveStorage</command:noun> <maml:description> <maml:para>Removes a Milestone XProtect recording server archive storage configuration</maml:para> </maml:description> </command:details> <maml:description> <maml:para>If the specified archive is the the last one in the archive chain (it has the largest RetainMinutes value), this function removes the archive from the storage configuration.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsArchiveStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ArchiveStorage</maml:name> <maml:description> <maml:para>Specifies the ArchiveStorage object to be removed</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ArchiveStorage</command:parameterValue> <dev:type> <maml:name>ArchiveStorage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsArchiveStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the existing archive storage configuration to look for on the specified storage configuration</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the Storage object from which to look for matching archive storage configurations</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ArchiveStorage</maml:name> <maml:description> <maml:para>Specifies the ArchiveStorage object to be removed</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ArchiveStorage</command:parameterValue> <dev:type> <maml:name>ArchiveStorage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the existing archive storage configuration to look for on the specified storage configuration</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the Storage object from which to look for matching archive storage configurations</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer | Get-VmsStorage -Name 'Example Storage' | Remove-VmsArchiveStorage -Name 'Retired NAS Storage'</dev:code> <dev:remarks> <maml:para>Removes all archive storages named 'Retired NAS Storage' from all storage configurations named 'Example Storage' on all recording servers</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsArchiveStorage/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsBasicUser</command:name> <command:verb>Remove</command:verb> <command:noun>VmsBasicUser</command:noun> <maml:description> <maml:para>Removes the specified basic user(s).</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsBasicUser` cmdlet can be used to remove Milestone, or external basic users from the VMS. Note that an external user will be recreated on their next login to the VMS if one or more registered claims in the user's token match a claim name/value pairs in a role.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsBasicUser</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more basic user objects as returned by the `Get-VmsBasicUser` cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">BasicUser[]</command:parameterValue> <dev:type> <maml:name>BasicUser[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies one or more basic user objects as returned by the `Get-VmsBasicUser` cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">BasicUser[]</command:parameterValue> <dev:type> <maml:name>BasicUser[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.BasicUser[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsBasicUser -External | Remove-VmsBasicUser</dev:code> <dev:remarks> <maml:para>Removes all basic user entries representing users from an external login provider.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsBasicUser | Where-Object Name -like '*Houston*' | Remove-VmsBasicUser</dev:code> <dev:remarks> <maml:para>Removes all basic user entries where the user name contains the case-insensitive string 'Houston'.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsBasicUser/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsClientProfile</command:name> <command:verb>Remove</command:verb> <command:noun>VmsClientProfile</command:noun> <maml:description> <maml:para>Removes an existing smart client profile.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsClientProfile` cmdlet removes an existing smart client profile. If the profile is assigned as the default smart client profile for any roles, those roles will be updated to use the default smart client profile automatically.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile[]</command:parameterValue> <dev:type> <maml:name>ClientProfile[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile[]</command:parameterValue> <dev:type> <maml:name>ClientProfile[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsClientProfile -DefaultProfile:$false | Remove-VmsClientProfile -Verbose -WhatIf</dev:code> <dev:remarks> <maml:para>Removes all smart client profiles except for the default client profile. To use this example, remove the `WhatIf` switch.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsClientProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsConnectionProfile</command:name> <command:verb>Remove</command:verb> <command:noun>VmsConnectionProfile</command:noun> <maml:description> <maml:para>Removes the named connection profile, or all connection profiles.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsConnectionProfile` cmdlet removes the named connection profile, or all connection profiles.</maml:para> <maml:para>When using named connection profiles with MilestonePSTools, the connection details are saved to the current Windows user profile under `$env:LOCALAPPDATA\MilestonePSTools\credentials.xml` using the `Export-CliXml` cmdlet. If a credential is provided with `Connect-Vms`, the password is encrypted using Windows Data Protection API with "CurrentUser" scope. This ensures passwords cannot be decrypted except by the current user on the current computer.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsConnectionProfile</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>Specifies that all connection profiles saved in the current Windows user profile should be removed.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsConnectionProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile to remove in the current Windows user profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>Specifies that all connection profiles saved in the current Windows user profile should be removed.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the connection profile to remove in the current Windows user profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Remove-VmsConnectionProfile</dev:code> <dev:remarks> <maml:para>Deletes the connection profile information for the profile named "default".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Remove-VmsConnectionProfile -Name "MyVMS"</dev:code> <dev:remarks> <maml:para>Deletes the connection profile information for the profile named "MyVMS".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Remove-VmsConnectionProfile -Name "MyVMS", "MyOtherVMS"</dev:code> <dev:remarks> <maml:para>Deletes the connection profile information for the profiles named "MyVMS" and "MyOtherVMS".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>Remove-VmsConnectionProfile -All</dev:code> <dev:remarks> <maml:para>Deletes the connection profile information for all connection profiles saved in the current Windows user profile.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsConnectionProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsDeviceGroup</command:name> <command:verb>Remove</command:verb> <command:noun>VmsDeviceGroup</command:noun> <maml:description> <maml:para>Deletes a device group and the underlying hierarchy of devices and subgroups.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Deletes a device group and the underlying hierarchy of devices and subgroups.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsDeviceGroup</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies one or more device groups as is returned by Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that the device group should be removed even if it contains device members or subgroups.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies one or more device groups as is returned by Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that the device group should be removed even if it contains device members or subgroups.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsDeviceGroup -Name TestGroup | Remove-VmsDeviceGroup -Recurse</dev:code> <dev:remarks> <maml:para>Gets the root-level camera group "TestGroup" if it exists, and removes the group and all child groups and members recursively.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsDeviceGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsDeviceGroupMember</command:name> <command:verb>Remove</command:verb> <command:noun>VmsDeviceGroupMember</command:noun> <maml:description> <maml:para>Removes one or more device group members from the specifies device group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Removes one or more device group members from the specifies device group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsDeviceGroupMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies the device object as is returned by Get-VmsCamera or Get-VmsMicrophone for example.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Camera, Microphone, Metadata, Speaker, InputEvent, Output</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies the device group from which the member(s) should be removed. The value for this parameter is returned from Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsDeviceGroupMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies the ID of the device to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies the device group from which the member(s) should be removed. The value for this parameter is returned from Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>Specifies the device object as is returned by Get-VmsCamera or Get-VmsMicrophone for example.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Camera, Microphone, Metadata, Speaker, InputEvent, Output</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies the ID of the device to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies the device group from which the member(s) should be removed. The value for this parameter is returned from Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsDeviceGroup -Recurse | Remove-VmsDeviceGroupMember -DeviceId '8a4e127d-5a5c-4163-a494-721754864e31' -ErrorAction SilentlyContinue</dev:code> <dev:remarks> <maml:para>Removes the camera with ID "8a4e127d-5a5c-4163-a494-721754864e31" from all camera groups it happens to be a member of. The "ErrorAction" parameter is set to "SilentlyContinue" to ensure that no errors are emitted to the terminal when the camera is not a member of the camera group when we try to remove it.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsDeviceGroupMember/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsFailoverGroup</command:name> <command:verb>Remove</command:verb> <command:noun>VmsFailoverGroup</command:noun> <maml:description> <maml:para>Removes an existing failover group from the current Milestone XProtect VMS site.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsFailoverGroup` cmdlet removes an existing failover group, which can each contain one or more failover recording servers.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsFailoverGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a FailoverGroup object returned by the `Get-VmsFailoverGroup` cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that any members of the failover group should be removed from the group and then the group should be deleted.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a FailoverGroup object returned by the `Get-VmsFailoverGroup` cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that any members of the failover group should be removed from the group and then the group should be deleted.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Get-VmsFailoverGroup | Select-Object -First 1 | Remove-VmsFailoverGroup -WhatIf</dev:code> <dev:remarks> <maml:para>Prompts user to login to a Milestone VMS, then attempts to remove the first failover group returned by `Get-VmsFailoverGroup` but does not actually remove the failover group thanks to the `-WhatIf` switch.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsFailoverGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsFailoverRecorder</command:name> <command:verb>Remove</command:verb> <command:noun>VmsFailoverRecorder</command:noun> <maml:description> <maml:para>Removes a failover recorder from the specified failover group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsFailoverRecorder` cmdlet removes a failover recorder from the specified failover group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsFailoverRecorder</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>FailoverRecorder</maml:name> <maml:description> <maml:para>Specifies a FailoverRecorder object, or the display name of a failover recorder in the group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder</command:parameterValue> <dev:type> <maml:name>FailoverRecorder</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a FailoverGroup object. Use `Get-VmsFailoverGroup` to retrieve a failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a FailoverGroup object. Use `Get-VmsFailoverGroup` to retrieve a failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>FailoverRecorder</maml:name> <maml:description> <maml:para>Specifies a FailoverRecorder object, or the display name of a failover recorder in the group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder</command:parameterValue> <dev:type> <maml:name>FailoverRecorder</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$group = Get-VmsFailoverGroup -Name 'Failover Group 1' $failover = $group | Get-VmsFailoverRecorder | Select-Object -First 1 $group | Remove-VmsFailoverRecorder -FailoverRecorder $failover -Verbose -WhatIf</dev:code> <dev:remarks> <maml:para>In this example we retrieve Failover Group 1, and one failover recorder in the group, then remove the failover recorder from the group - or at least it would be removed if the `-WhatIf` switch is removed.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsFailoverRecorder/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsHardware</command:name> <command:verb>Remove</command:verb> <command:noun>VmsHardware</command:noun> <maml:description> <maml:para>Removes a Milestone XProtect VMS hardware device and all child devices.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Removes a Milestone XProtect VMS hardware device and all child devices. Any video, audio, and metadata associated with the device will be immediately, and irreverisbly deleted.</maml:para> <maml:para>This command supports -WhatIf, and has a ConfirmImpact rating of "High". When running commands interactively, it's a good idea to take advantage of the -WhatIf parameter switch to see what would happen if you really ran the command.</maml:para> <maml:para>If you do not want to confirm the operation, you can add -Confirm:$false to your command to disable confirmation.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsHardware</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more Hardware objects to be removed from the VMS. Use Get-VmsHardware to retrieve the devices you want to delete.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more Hardware objects to be removed from the VMS. Use Get-VmsHardware to retrieve the devices you want to delete.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>linenums="1" Connect-Vms -ShowDialog -Force -AcceptEula Get-VmsHardware | Out-GridView -OutputMode Single | Remove-VmsHardware -WhatIf</dev:code> <dev:remarks> <maml:para>1. Show a Milestone XProtect login dialog, disconnect from any existing session if present, and accept the end-user license agreement for MIP SDK. 2. Present a list of all hardware on the VMS from which one entry can be selected. The selected hardware will be passed to Remove-VmsHardware. 3. Thanks to the `-WhatIf` switch parameter, the hardware will not be removed. Instead, the operation will be logged to the terminal to show you what would have happened.</maml:para> <maml:para>Note: To actually remove hardware, remove the -WhatIf switch. And if you expect to do this a lot, such as on a test system, you can add `-Confirm:$false` to disable confirmation.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsHardware/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsLoginProvider</command:name> <command:verb>Remove</command:verb> <command:noun>VmsLoginProvider</command:noun> <maml:description> <maml:para>Removes an external login provider from the VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsLoginProvider` cmdlet can be used to remove a configured external login provider from the VMS. When used without the `-Force` switch, this cmdlet will return an error if there are any claims associated with any roles, or if there are any basic user entries associated with the login provider still present in the VMS configuration.</maml:para> <maml:para>With the `-Force` switch, the following operations are performed before removing the login provider: the login provider is disabled to prevent any new logins, all basic users associated with the login provider are removed, and all claims associated with the login provider are removed from all roles.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsLoginProvider</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the external login provider to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that all related basic users and claims should be removed automatically.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that all related basic users and claims should be removed automatically.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the external login provider to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsLoginProvider -Name Auth0 | Remove-VmsLoginProvider -Force</dev:code> <dev:remarks> <maml:para>The external login provider 'Auth0' is completely removed from the VMS configuration. Since this command can have a significant impact on business safety and operations, the default behavior is to request confirmation before proceeding. To suppress confirmation on any cmdlet implementing `SupportsShouldProcess` you can add the switch `-Confirm:$false`.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsLoginProvider/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsLoginProviderClaim</command:name> <command:verb>Remove</command:verb> <command:noun>VmsLoginProviderClaim</command:noun> <maml:description> <maml:para>Removes one, or all registered claims from the specified login provider.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsLoginProviderClaim` cmdlet removes one, or all registered claims from a configured external login provider.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsLoginProviderClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>Specifies that all claims registered with the login provider should be removed.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the associated claim(s) should first be removed from all roles in which it is used.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider from which to remove the registered claim.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsLoginProviderClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies the literal name of the claim to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the associated claim(s) should first be removed from all roles in which it is used.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider from which to remove the registered claim.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>Specifies that all claims registered with the login provider should be removed.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies the literal name of the claim to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the associated claim(s) should first be removed from all roles in which it is used.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider from which to remove the registered claim.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsLoginProvider | Remove-VmsLoginProviderClaim -Force</dev:code> <dev:remarks> <maml:para>Removes all registered claims from the configured login provider(s). Since the `-Force` switch is present, the registered claims are first removed from all roles, as it is not possible to remove a registered claim if that claim has been associated with a role.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsLoginProviderClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsRestrictedMedia</command:name> <command:verb>Remove</command:verb> <command:noun>VmsRestrictedMedia</command:noun> <maml:description> <maml:para>Removes an existing live, or recorded media restriction.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsRestrictedMedia` cmdlet removes an existing live, or recorded media restriction.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> <maml:para>- Requires VMS feature "RestrictedMedia"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsRestrictedMedia</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices, by Id, for which live media restrictions should be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsRestrictedMedia</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RestrictedMedia</maml:name> <maml:description> <maml:para>Specifies a media playback restriction object as returned by `Get-VmsRestrictedMedia`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RestrictedMedia</command:parameterValue> <dev:type> <maml:name>RestrictedMedia</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsRestrictedMedia</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RestrictedMediaLive</maml:name> <maml:description> <maml:para>Specifies a live media restriction object as returned by `Get-VmsRestrictedMedia -Live`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RestrictedMediaLive</command:parameterValue> <dev:type> <maml:name>RestrictedMediaLive</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices, by Id, for which live media restrictions should be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RestrictedMedia</maml:name> <maml:description> <maml:para>Specifies a media playback restriction object as returned by `Get-VmsRestrictedMedia`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RestrictedMedia</command:parameterValue> <dev:type> <maml:name>RestrictedMedia</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RestrictedMediaLive</maml:name> <maml:description> <maml:para>Specifies a live media restriction object as returned by `Get-VmsRestrictedMedia -Live`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RestrictedMediaLive</command:parameterValue> <dev:type> <maml:name>RestrictedMediaLive</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMedia</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMediaLive</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Guid[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRestrictedMedia | Remove-VmsRestrictedMedia</dev:code> <dev:remarks> <maml:para>Removes (deletes) all media playback restrictions. Since `Get-VmsRestrictedMedia` is used here without the `-Live` switch, only the playback restrictions are removed. Any live restrictions will remain in place. Since the `ConfirmImpact` attribute on this cmdlet is set to `High`, you will be prompted for confirmation before any restrictions are removed.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRestrictedMedia -Live | Remove-VmsRestrictedMedia</dev:code> <dev:remarks> <maml:para>Removes (deletes) all live media restrictions. All playback restrictions will remain in place.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Get-VmsRestrictedMedia | Where-Object Header -match 'Accident' | Remove-VmsRestrictedMedia</dev:code> <dev:remarks> <maml:para>Removes (deletes) all playback media restrictions with the word 'accident' in the header.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsRestrictedMedia/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsRole</command:name> <command:verb>Remove</command:verb> <command:noun>VmsRole</command:noun> <maml:description> <maml:para>Removes the specified role from the management server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Removes the specified role from the management server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsRole</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="RoleId"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the unique ID of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsRole</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="RoleName, Name"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object as is returned by Get-VmsRole, or the role name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="RoleId"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies the unique ID of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="RoleName, Name"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object as is returned by Get-VmsRole, or the role name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Guid</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRole -Name 'MilestonePSTools' | Remove-VmsRole -WhatIf</dev:code> <dev:remarks> <maml:para>If the "WhatIf" parameter were removed, this would remove the role named "MilestonePSTools" if it exists.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsRole/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsRoleClaim</command:name> <command:verb>Remove</command:verb> <command:noun>VmsRoleClaim</command:noun> <maml:description> <maml:para>Removes one or more claims from the specified role.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsRoleClaim` cmdlet removes the specified claim(s) from the specified role(s). The claims must be identified by name and the `Get-VmsRoleClaim` cmdlet can be used to retrieve a list of claims and values assigned to the role.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsRoleClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role from which to remove the claim(s).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="ClaimProvider"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider associated with the claims to be removed from the role. Current VMS versions support only one external login provider, but future versions may support more than one.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies one or more literal claim names to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ClaimValue</maml:name> <maml:description> <maml:para>Specifies the claim value for claims that should be removed by this command.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>ClaimName</maml:name> <maml:description> <maml:para>Specifies one or more literal claim names to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ClaimValue</maml:name> <maml:description> <maml:para>Specifies the claim value for claims that should be removed by this command.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="ClaimProvider"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider associated with the claims to be removed from the role. Current VMS versions support only one external login provider, but future versions may support more than one.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role from which to remove the claim(s).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.String[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRole | Remove-VmsRoleClaim -ClaimName 'vms_role' -ErrorAction SilentlyContinue -Verbose</dev:code> <dev:remarks> <maml:para>Removes the claim named 'vms_role' from all roles where it has been added. The `-ErrorAction SilentlyContinue` will suppress errors where that claim is not found on the role.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsRoleClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsRoleMember</command:name> <command:verb>Remove</command:verb> <command:noun>VmsRoleMember</command:noun> <maml:description> <maml:para>Removes a member from a VMS role.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Removes a member from a VMS role.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsRoleMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Sid</maml:name> <maml:description> <maml:para>Specifies the SID of a user or group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsRoleMember</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>User</maml:name> <maml:description> <maml:para>Specifies a User object such as is returned by Get-VmsRoleMember.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">User[]</command:parameterValue> <dev:type> <maml:name>User[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Sid</maml:name> <maml:description> <maml:para>Specifies the SID of a user or group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>User</maml:name> <maml:description> <maml:para>Specifies a User object such as is returned by Get-VmsRoleMember.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">User[]</command:parameterValue> <dev:type> <maml:name>User[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>foreach ($role in Get-VmsRole) { foreach ($member in $role | Get-VmsRoleMember) { if ($member.AccountName -eq 'richard' -and $member.IdentityType -eq 'WindowsUser') { $role | Remove-VmsRoleMember -User $member -Confirm:$false } } }</dev:code> <dev:remarks> <maml:para>Removes Windows and/or Active Directory users named "richard" from all roles without confirmation.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsRoleMember/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsRule</command:name> <command:verb>Remove</command:verb> <command:noun>VmsRule</command:noun> <maml:description> <maml:para>Removes an existing rule.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsRule` cmdlet removes an existing rule from the VMS.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsRule</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Rule</maml:name> <maml:description> <maml:para>Specifies one or more rules returned by Get-VmsRule. When omitted, all rules will be exported. Rules may be provided by name and names will be tab-completed.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Rule</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Rule</maml:name> <maml:description> <maml:para>Specifies one or more rules returned by Get-VmsRule. When omitted, all rules will be exported. Rules may be provided by name and names will be tab-completed.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Rule</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$copiedRule = Get-VmsRule | Get-Random | New-VmsRule -Name 'TEMPORARY COPY' $copiedRule | Remove-VmsRule</dev:code> <dev:remarks> <maml:para>Creates a copy of a random rule, and then removes the copied rule.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsRule/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsStorage</command:name> <command:verb>Remove</command:verb> <command:noun>VmsStorage</command:noun> <maml:description> <maml:para>Removes a Milestone XProtect recording server storage configuration and all of the child archive storages if present</maml:para> </maml:description> </command:details> <maml:description> <maml:para>If the specified storage is not marked as the default storage, and there are no devices configured to record to the storage, this function removes the storage configuration including any and all archive storages attached to the live drive represented by the storage configuration.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the existing storage configuration to look for on the specified recording server</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the RecordingServer object from which to look for matching storage configurations</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the Storage object to be removed</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the existing storage configuration to look for on the specified recording server</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the RecordingServer object from which to look for matching storage configurations</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer</command:parameterValue> <dev:type> <maml:name>RecordingServer</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Storage</maml:name> <maml:description> <maml:para>Specifies the Storage object to be removed</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Storage</command:parameterValue> <dev:type> <maml:name>Storage</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer | Remove-VmsStorage -Name 'Old Storage Config'</dev:code> <dev:remarks> <maml:para>Removes the storage configuration named 'Old Storage Config' from all recording servers</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsStorage/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsView</command:name> <command:verb>Remove</command:verb> <command:noun>VmsView</command:noun> <maml:description> <maml:para>Removes one or more XProtect Smart Client views.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Views are typically used in XProtect Smart Client and can contain one or more camera view items or other types of view items like maps, alarm lists, and images and browsers.</maml:para> <maml:para>This cmdlet allows you to permanently delete one or more views.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies one or more views to be deleted. Views are easily selected using Get-VmsView.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View[]</command:parameterValue> <dev:type> <maml:name>View[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies one or more views to be deleted. Views are easily selected using Get-VmsView.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View[]</command:parameterValue> <dev:type> <maml:name>View[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Get-VmsView | Out-GridView -OutputMode Single | Remove-VmsView -WhatIf</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we retrieve a list of all views in all view groups, present a grid view dialog where one view may be selected, and this view is passed to `Remove-VmsView` with the -WhatIf switch to ensure that no views are actually deleted.</maml:para> <maml:para>To delete a view, you can omit the -WhatIf switch parameter. Add the -Verbose switch to see detailed messages for each deleted view.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsView/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsViewGroup</command:name> <command:verb>Remove</command:verb> <command:noun>VmsViewGroup</command:noun> <maml:description> <maml:para>Removes one or more XProtect Smart Client view groups.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Views groups are typically used in XProtect Smart Client and can contain one or more views with camera view items or other types of view items like maps, alarm lists, and images and browsers.</maml:para> <maml:para>This cmdlet allows you to permanently delete one or more views group containers.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsViewGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies one or more view groups to be permanently removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup[]</command:parameterValue> <dev:type> <maml:name>ViewGroup[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that all child members, including views and view groups, should be recursively removed.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recurse</maml:name> <maml:description> <maml:para>Specifies that all child members, including views and view groups, should be recursively removed.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>Specifies one or more view groups to be permanently removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup[]</command:parameterValue> <dev:type> <maml:name>ViewGroup[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>On Milestone versions older than 2022 R2, the -Recurse switch does not work. You must delete all child views and view groups before you can delete the parent view group.</maml:para> <maml:para>This is an issue with the configuration api service on the Management Server.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $viewGroup = Get-VmsViewGroup -Recurse | Out-GridView -OutputMode Single $viewGroup | Remove-VmsViewGroup -Recurse -WhatIf</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we retrieve a list of all view groups, present a grid view dialog where one view group may be selected, and this view group is passed to `Remove-VmsViewGroup` with the -WhatIf switch to ensure that no view groups are actually deleted.</maml:para> <maml:para>To delete a view group, you can omit the -WhatIf switch parameter. Add the -Verbose switch to see detailed messages for each deleted view group.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsViewGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Remove-VmsWebhook</command:name> <command:verb>Remove</command:verb> <command:noun>VmsWebhook</command:noun> <maml:description> <maml:para>Removes an existing webhook from a Milestone XProtect VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Remove-VmsWebhook` cmdlet removes an existing webhook from a Milestone XProtect VMS. The webhook to be removed can be specified by Name, or configuration item path. When removing a webhook by name, wildcards will not be evaluated and if there are multiple webhooks with the same name (case-insensitive), an error will be returned.</maml:para> <maml:para>REQUIREMENTS - Requires VMS version 23.1</maml:para> <maml:para>- Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-VmsWebhook</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the webhook to remove. If the name contains a wildcard character, it will not be evaluated. The name must match exactly one webhook using case-insensitive comparison.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-VmsWebhook</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the exact Configuration Item path for the webhook to remove. This value is formatted like `MIPItem[1a33142f-c35b-420f-bdd7-30240de4e9ef]` and in most cases you will pass the value of Path from the pipeline by property name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the webhook to remove. If the name contains a wildcard character, it will not be evaluated. The name must match exactly one webhook using case-insensitive comparison.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the exact Configuration Item path for the webhook to remove. This value is formatted like `MIPItem[1a33142f-c35b-420f-bdd7-30240de4e9ef]` and in most cases you will pass the value of Path from the pipeline by property name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Supported on Milestone XProtect VMS versions 2023 R1 and later.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsWebhook | Remove-VmsWebhook -WhatIf</dev:code> <dev:remarks> <maml:para>Removes all configured webhooks if you remove the `-WhatIf` switch.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Get-VmsWebhook -Name 'Test Webhook' | Remove-VmsWebhook -WhatIf</dev:code> <dev:remarks> <maml:para>Removes all webhooks named 'Test webhook' if you remove the `-WhatIf` switch.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>Remove-VmsWebhook -Name 'Test Webhook' -ErrorAction SilentlyContinue -WhatIf</dev:code> <dev:remarks> <maml:para>Removes a single webhook named 'Test Webhook' if the `-WhatIf` switch is removed. If the webhook is not found, or there are multiple webhooks with the same name, an error would normally be returned. However, the addition of `-ErrorAction SilentlyContinue` will silence any errors.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Remove-VmsWebhook/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Resize-Image</command:name> <command:verb>Resize</command:verb> <command:noun>Image</command:noun> <maml:description> <maml:para>Resizes a [System.Drawing.Image] object to the given height with the same aspect ratio.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Resizes a [System.Drawing.Image] object to the given height with the same aspect ratio and outputs a new Image object which uses the same codec as the original image unless otherwise specified.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Resize-Image</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Image</maml:name> <maml:description> <maml:para>Specifies the Image object to be resized</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Image</command:parameterValue> <dev:type> <maml:name>Image</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Height</maml:name> <maml:description> <maml:para>Specifies the new desired height for the resulting resized image</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Quality</maml:name> <maml:description> <maml:para>Specifies the desired image quality of the resulting resized image</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int64</command:parameterValue> <dev:type> <maml:name>Int64</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>95</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>OutputFormat</maml:name> <maml:description> <maml:para>Specifies the desired output format such as 'BMP', 'JPEG', 'GIF', 'TIFF', 'PNG'</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">BMP</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">JPEG</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">GIF</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TIFF</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">PNG</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisposeSource</maml:name> <maml:description> <maml:para>Specifies that the original image object should be disposed.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisposeSource</maml:name> <maml:description> <maml:para>Specifies that the original image object should be disposed.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Height</maml:name> <maml:description> <maml:para>Specifies the new desired height for the resulting resized image</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Image</maml:name> <maml:description> <maml:para>Specifies the Image object to be resized</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Image</command:parameterValue> <dev:type> <maml:name>Image</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>OutputFormat</maml:name> <maml:description> <maml:para>Specifies the desired output format such as 'BMP', 'JPEG', 'GIF', 'TIFF', 'PNG'</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Quality</maml:name> <maml:description> <maml:para>Specifies the desired image quality of the resulting resized image</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int64</command:parameterValue> <dev:type> <maml:name>Int64</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>95</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>[System.Drawing.Image]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>[System.Drawing.Image]</maml:name> </dev:type> <maml:description> <maml:para>Don't forget to call Dispose() when you're done with the image!</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>$image = $camera | Get-Snapshot -Live | ConvertFrom-Snapshot | Resize-Image -Height 200 -DisposeSource $image.Size</dev:code> <dev:remarks> <maml:para>Get's a live snapshot from $camera and converts it to a System.Drawing.Image object, resizes it to 200 pixels tall and disposes the original image.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Resize-Image/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Resolve-VmsDeviceGroupPath</command:name> <command:verb>Resolve</command:verb> <command:noun>VmsDeviceGroupPath</command:noun> <maml:description> <maml:para>Returns a string representing the device group path in a way MilestonePSTools understands.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The -VmsDeviceGroup commands accept device groups in a unix file path format like "/first level/second level/third level" where each name separated by a slash is a child group of the group preceeding it.</maml:para> <maml:para>The Get-VmsDeviceGroup command returns an object representing a single device group and it is not immediately obvious what the hierarchy of the group is when inspecting the single group object. To remedy this, Resolve-VmsDeviceGroupPath will recursively look at the ParentPath property of the group and enumerate upward through the hierarchy until reaching the root of the device group tree. The names of all the parent groups along the path will be returned along with the name of the group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Resolve-VmsDeviceGroupPath</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="DeviceGroup"> <maml:name>Group</maml:name> <maml:description> <maml:para>A Camera, Microphone, Speaker, Input, Output, or Metadata group. Consider using Get-VmsDeviceGroup to select the desired group object.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoTypePrefix</maml:name> <maml:description> <maml:para>Omit device group type prefix. For example "/CameraGroupFolder".</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="DeviceGroup"> <maml:name>Group</maml:name> <maml:description> <maml:para>A Camera, Microphone, Speaker, Input, Output, or Metadata group. Consider using Get-VmsDeviceGroup to select the desired group object.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, SpeakerGroup, MetadataGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoTypePrefix</maml:name> <maml:description> <maml:para>Omit device group type prefix. For example "/CameraGroupFolder".</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsDeviceGroup -Recurse | Resolve-VmsDeviceGroupPath</dev:code> <dev:remarks> <maml:para>Returns all camera device group paths, recursively, as strings.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Resolve-VmsDeviceGroupPath/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Save-VmsConnectionProfile</command:name> <command:verb>Save</command:verb> <command:noun>VmsConnectionProfile</command:noun> <maml:description> <maml:para>Saves the current VMS logon information to a connection profile with the specified name.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Save-VmsConnectionProfile` cmdlet saves the current VMS logon information to a connection profile with the specified name, or a profile named "default" if no profile name is provided.</maml:para> <maml:para>When using named connection profiles with MilestonePSTools, the connection details are saved to the current Windows user profile under `$env:LOCALAPPDATA\MilestonePSTools\credentials.xml` using the `Export-CliXml` cmdlet. If a credential is provided with `Connect-Vms`, the password is encrypted using Windows Data Protection API with "CurrentUser" scope. This ensures passwords cannot be decrypted except by the current user on the current computer.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Save-VmsConnectionProfile</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name to use to reference the connection profile in the future. The default value is "default".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>default</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that an existing connection profile with the same name should be overwritten.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that an existing connection profile with the same name should be overwritten.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name to use to reference the connection profile in the future. The default value is "default".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>default</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Save-VmsConnectionProfile</dev:code> <dev:remarks> <maml:para>Saves the current VMS login information to a connection profile named "default". If a profile named "default" already exists, an error will be returned indicating that you must use the `-Force` switch to indicate that the named profile should be overwritten.</maml:para> <maml:para>If no logon session is already established, a Milestone VMS login dialog will be presented, and after successful logon, the login details will be saved to `$env:LOCALAPPDATA\MilestonePSTools\credentials.xml` under the connection profile name "default".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Save-VmsConnectionProfile -Force</dev:code> <dev:remarks> <maml:para>Saves the current VMS login information to a connection profile named "default". If a profile named "default" already exists, it will be updated with the current login information.</maml:para> <maml:para>If no logon session is already established, a Milestone VMS login dialog will be presented, and after successful logon, the login details will be saved to `$env:LOCALAPPDATA\MilestonePSTools\credentials.xml` under the connection profile name "default".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>Save-VmsConnectionProfile -Name 'MyVMS' -Force</dev:code> <dev:remarks> <maml:para>Saves the current VMS login information to a connection profile named "MyVMS". If a profile named "MyVMS" already exists, it will be updated with the current login information.</maml:para> <maml:para>If no logon session is already established, a Milestone VMS login dialog will be presented, and after successful logon, the login details will be saved to `$env:LOCALAPPDATA\MilestonePSTools\credentials.xml` under the connection profile name "default".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Save-VmsConnectionProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Select-Camera</command:name> <command:verb>Select</command:verb> <command:noun>Camera</command:noun> <maml:description> <maml:para>Offers a UI dialog for selecting items, similar to the item selection interface in Management Client.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet implements the VideoOS.Platform.UI.ItemPickerUserControl in a custom form to allow the user to select one or more items of any kind using a friendly and customizable user interface.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires an interactive PowerShell session.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Select-Camera</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Title</maml:name> <maml:description> <maml:para>Specifies the text in the title-bar of the Item Picker window. The default is "Select Camera(s)".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Select Camera(s)</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowFolders</maml:name> <maml:description> <maml:para>Device groups are considered folders and are not selectable by default. To allow for selecting many items with one click, include this parameter. Consider using this with the FlattenOutput switch unless you specifically need to select a folder item instead of it's child items.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowServers</maml:name> <maml:description> <maml:para>Supply this switch to enable selection of servers. You might choose to do this if you want to select Recording Servers, or you want to select all child items, such as cameras, from a server. Consider using this with the FlattenOutput switch unless you specifically need to select a server item instead of it's child items.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>OutputAsItem</maml:name> <maml:description> <maml:para>Output cameras as VideoOS.Platform.Item objects instead of converting them to Configuration API Camera objects. Depending on your needs, it may be more performant to use OutputAsItem. For example, if you are using a cmdlet like Get-Snapshot, you can extract the $item.FQID.ObjectId and provide that Guid in the CameraId parameter to avoid an unnecessary conversion between Item, ConfigurationItem, and back again.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveDuplicates</maml:name> <maml:description> <maml:para>Automatically remove duplicate cameras from the output before outputing them. Useful when you select a folder which may have the same cameras in more than one child folder.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SingleSelect</maml:name> <maml:description> <maml:para>The ItemPicker allows for multiple items by default. Supply this parameter to force selection of a single item.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowFolders</maml:name> <maml:description> <maml:para>Device groups are considered folders and are not selectable by default. To allow for selecting many items with one click, include this parameter. Consider using this with the FlattenOutput switch unless you specifically need to select a folder item instead of it's child items.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowServers</maml:name> <maml:description> <maml:para>Supply this switch to enable selection of servers. You might choose to do this if you want to select Recording Servers, or you want to select all child items, such as cameras, from a server. Consider using this with the FlattenOutput switch unless you specifically need to select a server item instead of it's child items.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>OutputAsItem</maml:name> <maml:description> <maml:para>Output cameras as VideoOS.Platform.Item objects instead of converting them to Configuration API Camera objects. Depending on your needs, it may be more performant to use OutputAsItem. For example, if you are using a cmdlet like Get-Snapshot, you can extract the $item.FQID.ObjectId and provide that Guid in the CameraId parameter to avoid an unnecessary conversion between Item, ConfigurationItem, and back again.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveDuplicates</maml:name> <maml:description> <maml:para>Automatically remove duplicate cameras from the output before outputing them. Useful when you select a folder which may have the same cameras in more than one child folder.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SingleSelect</maml:name> <maml:description> <maml:para>The ItemPicker allows for multiple items by default. Supply this parameter to force selection of a single item.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Title</maml:name> <maml:description> <maml:para>Specifies the text in the title-bar of the Item Picker window. The default is "Select Camera(s)".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Select Camera(s)</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Select-Camera -AllowFolders -AllowServers -RemoveDuplicates</dev:code> <dev:remarks> <maml:para>Launch the Item Picker and allow the user to add servers or whole groups/folders. The output will be de-duplicated in the event the user-defined groups have the same camera(s) present in more than one child folder. The objects returned will be the same kind of object returned by the Get-VmsCamera cmdlet.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Select-Camera -OutputAsItem | ForEach-Object { Get-Snapshot -CameraId $_.FQID.ObjectId -Live }</dev:code> <dev:remarks> <maml:para>Launch the Item Picker and use the resulting Item.FQID.ObjectId properties of the camera(s) to get a live snapshot from the Get-Snapshot cmdlet.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Select-Camera/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Select-VideoOSItem</command:name> <command:verb>Select</command:verb> <command:noun>VideoOSItem</command:noun> <maml:description> <maml:para>Offers a UI dialog for selecting items, similar to the item selection interface in Management Client.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet implements the VideoOS.Platform.UI.ItemPickerUserControl in a custom form to allow the user to select one or more items of any kind using a friendly and customizable user interface.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires an interactive PowerShell session.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Select-VideoOSItem</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Title</maml:name> <maml:description> <maml:para>Specifies the text in the title-bar of the Item Picker window. The default is "Select Item(s)".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Select Item(s)</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Kind</maml:name> <maml:description> <maml:para>One or more Guids representing a type of object in Milestone. Use Get-Kind -List to see the available Kinds or use [VideoOS.Platform.Kind] to access a set of static Kind guids, such as [VideoOS.Platform.Kind]::Camera. Omitting a value means the list in the picker will be unfiltered.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Category</maml:name> <maml:description> <maml:para>One or more [VideoOS.Platform.Admin.Category] values representing the types of items to populate in the picker, such as [VideoOS.Platform.Admin.Category]::VideoIn. Omitting a value means the list in the picker will be unfiltered.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Server</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">VideoIn</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">VideoOut</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">AudioIn</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">AudioOut</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TriggerIn</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">TriggerOut</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Text</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Unknown</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Layout</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">Category[]</command:parameterValue> <dev:type> <maml:name>Category[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowFolders</maml:name> <maml:description> <maml:para>Device groups are considered folders and are not selectable by default. To allow for selecting many items with one click, include this parameter. Consider using this with the FlattenOutput switch unless you specifically need to select a folder item instead of it's child items.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowServers</maml:name> <maml:description> <maml:para>Supply this switch to enable selection of servers. You might choose to do this if you want to select Recording Servers, or you want to select all child items, such as cameras, from a server. Consider using this with the FlattenOutput switch unless you specifically need to select a server item instead of it's child items.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CategoryUserSelectable</maml:name> <maml:description> <maml:para>Supply this switch to enable a drop-down list in the UI for the user to filter the Category themselves.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FlattenOutput</maml:name> <maml:description> <maml:para>When you allow groups/folders to be selectable, the result will not directly include the child items of those folders unless you supply this switch.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HideGroupsTab</maml:name> <maml:description> <maml:para>Supply this switch to hide the Groups tab, leaving only the Server tab which shows the "SystemDefined" hierarchy.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HideServerTab</maml:name> <maml:description> <maml:para>Supply this switch to hide the Server tab, leaving only the Groups tab which shows the "UserDefined" hierarchy.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>KindUserSelectable</maml:name> <maml:description> <maml:para>Supply this switch to enable a drop-down list in the UI for the user to filter the Kind themselves.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SingleSelect</maml:name> <maml:description> <maml:para>The ItemPicker allows for multiple items by default. Supply this parameter to force selection of a single item.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowFolders</maml:name> <maml:description> <maml:para>Device groups are considered folders and are not selectable by default. To allow for selecting many items with one click, include this parameter. Consider using this with the FlattenOutput switch unless you specifically need to select a folder item instead of it's child items.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowServers</maml:name> <maml:description> <maml:para>Supply this switch to enable selection of servers. You might choose to do this if you want to select Recording Servers, or you want to select all child items, such as cameras, from a server. Consider using this with the FlattenOutput switch unless you specifically need to select a server item instead of it's child items.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Category</maml:name> <maml:description> <maml:para>One or more [VideoOS.Platform.Admin.Category] values representing the types of items to populate in the picker, such as [VideoOS.Platform.Admin.Category]::VideoIn. Omitting a value means the list in the picker will be unfiltered.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Category[]</command:parameterValue> <dev:type> <maml:name>Category[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CategoryUserSelectable</maml:name> <maml:description> <maml:para>Supply this switch to enable a drop-down list in the UI for the user to filter the Category themselves.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FlattenOutput</maml:name> <maml:description> <maml:para>When you allow groups/folders to be selectable, the result will not directly include the child items of those folders unless you supply this switch.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HideGroupsTab</maml:name> <maml:description> <maml:para>Supply this switch to hide the Groups tab, leaving only the Server tab which shows the "SystemDefined" hierarchy.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HideServerTab</maml:name> <maml:description> <maml:para>Supply this switch to hide the Server tab, leaving only the Groups tab which shows the "UserDefined" hierarchy.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Kind</maml:name> <maml:description> <maml:para>One or more Guids representing a type of object in Milestone. Use Get-Kind -List to see the available Kinds or use [VideoOS.Platform.Kind] to access a set of static Kind guids, such as [VideoOS.Platform.Kind]::Camera. Omitting a value means the list in the picker will be unfiltered.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>KindUserSelectable</maml:name> <maml:description> <maml:para>Supply this switch to enable a drop-down list in the UI for the user to filter the Kind themselves.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SingleSelect</maml:name> <maml:description> <maml:para>The ItemPicker allows for multiple items by default. Supply this parameter to force selection of a single item.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Title</maml:name> <maml:description> <maml:para>Specifies the text in the title-bar of the Item Picker window. The default is "Select Item(s)".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>Select Item(s)</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Select-VideoOSItem -Title "Select Microphone(s)" -AllowServers -HideGroupsTab -Kind ([VideoOS.Platform.Kind]::Microphone) | ForEach-Object { Send-MipMessage -MessageId 'Control.StartRecordingCommand' -DestinationEndpoint $_.FQID -UseEnvironmentManager }</dev:code> <dev:remarks> <maml:para>Launch the Item Picker and hide the Groups tab, showing only the system-definied hierarchy of servers under the Server tab, and filter the items to only Microphones. For each selected Microphone, send a manual "Start Recording" message.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Select-VideoOSItem/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-ConfigurationItemProperty</command:name> <command:verb>Set</command:verb> <command:noun>ConfigurationItemProperty</command:noun> <maml:description> <maml:para>Sets the value of a given ConfigurationItem property by key</maml:para> </maml:description> </command:details> <maml:description> <maml:para>A ConfigurationItem may have zero or more Property objects in the Properties array. Each property has a key name and a value. Since the Properties property on a ConfigurationItem has no string-based indexer, you are required to search the array of properties for the one with the Key you're interested in, and then set the Value property on it.</maml:para> <maml:para>This cmdlet is a simple wrapper which does the Where-Object for you, throws an error if the Key does not exist, and optionally passes the modified ConfigurationItem back into the pipeline.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-ConfigurationItemProperty</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>A [VideoOS.ConfigurationApi.ClientService.ConfigurationItem] with a property to be modified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Key</maml:name> <maml:description> <maml:para>A string representing the key of the property to be modified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Value</maml:name> <maml:description> <maml:para>A string value to be used as the new value for the property named by the given key.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Pass the modified ConfigurationItem from $InputObject back into the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>A [VideoOS.ConfigurationApi.ClientService.ConfigurationItem] with a property to be modified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Key</maml:name> <maml:description> <maml:para>A string representing the key of the property to be modified.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Pass the modified ConfigurationItem from $InputObject back into the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Value</maml:name> <maml:description> <maml:para>A string value to be used as the new value for the property named by the given key.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-ConfigurationItem -Path / | Set-ConfigurationItemProperty -Key Description -Value 'A new description' -PassThru | Set-ConfigurationItem</dev:code> <dev:remarks> <maml:para>Gets a ConfigurationItem representing the Management Server, changes the Description property, and pushes the change to the Management Server using Set-ConfigurationItem.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-ConfigurationItemProperty/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsBasicUser</command:name> <command:verb>Set</command:verb> <command:noun>VmsBasicUser</command:noun> <maml:description> <maml:para>Sets the specifies properties on a basic user account.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsBasicUser` is used to update the password, description, status, or password settings for the specified basic user account.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsBasicUser</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>BasicUser</maml:name> <maml:description> <maml:para>Specifies the basic user to be modified. Use `Get-VmsBasicUser` to retrieve basic user records.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">BasicUser</command:parameterValue> <dev:type> <maml:name>BasicUser</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies a new password for a local Milestone basic user account. The password should be provided as a `[securestring]` but a plain text string may be provided as well.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Sets the description for the basic user entry.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>CanChangePassword</maml:name> <maml:description> <maml:para>If `$true`, the user is allowed to change their own password. This setting applies only to local Milestone basic users and not external basic users.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>ForcePasswordCHange</maml:name> <maml:description> <maml:para>If `$true` the user must change their password on the next login. This applies only to local Milestone basic users and not external users.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>Status</maml:name> <maml:description> <maml:para>Specifies the desired status for the basic user.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Enabled</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">LockedOutByAdmin</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the basic user object should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>BasicUser</maml:name> <maml:description> <maml:para>Specifies the basic user to be modified. Use `Get-VmsBasicUser` to retrieve basic user records.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">BasicUser</command:parameterValue> <dev:type> <maml:name>BasicUser</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>CanChangePassword</maml:name> <maml:description> <maml:para>If `$true`, the user is allowed to change their own password. This setting applies only to local Milestone basic users and not external basic users.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Sets the description for the basic user entry.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>ForcePasswordCHange</maml:name> <maml:description> <maml:para>If `$true` the user must change their password on the next login. This applies only to local Milestone basic users and not external users.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the basic user object should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies a new password for a local Milestone basic user account. The password should be provided as a `[securestring]` but a plain text string may be provided as well.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>Status</maml:name> <maml:description> <maml:para>Specifies the desired status for the basic user.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.BasicUser</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.BasicUser</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsBasicUser | Set-VmsBasicUser -Status LockedOutByAdmin -Verbose</dev:code> <dev:remarks> <maml:para>Gets all basic users, including external users if present, and locks the accounts until the status is set to 'Enabled' again.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsBasicUser/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsCameraGeneralSetting</command:name> <command:verb>Set</command:verb> <command:noun>VmsCameraGeneralSetting</command:noun> <maml:description> <maml:para>Sets one or more general setting values for a camera.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet enables one or more settings to be updated on one or more cameras with minimal effort.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsCameraGeneralSetting</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Settings</maml:name> <maml:description> <maml:para>Accepts a hashtable of settings used to update the general settings for a given camera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>Specifies one or more camera objects such as are returned by Get-VmsCamera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Settings</maml:name> <maml:description> <maml:para>Accepts a hashtable of settings used to update the general settings for a given camera.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Camera[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Collections.Hashtable</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $settings = @{ BlackAndWhiteMode = 'Yes' } $camera | Set-VmsCameraGeneralSetting -Settings $settings -Verbose <# OUTPUT VERBOSE: Performing the operation "Changing BlackAndWhiteMode from No to Yes" on target "Elevator". VERBOSE: Performing the operation "Save changes" on target "Elevator". #> $camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $camera | Set-VmsCameraGeneralSetting -Settings $settings -Verbose <# OUTPUT (no BlackAndWhiteMode setting available) WARNING: A general setting named 'BlackAndWhiteMode' was not found on Garage. #></dev:code> <dev:remarks> <maml:para>In this example we login to the Management Server, present a camera selection dialog, and then attempt to update the BlackAndWhiteMode value to "Yes" which, perhaps counter-intuitively, represents "Color" based on the ValueTypeInfo for the camera used for testing.</maml:para> <maml:para>We then present another camera selection dialog, where you can choose a different camera lacking a "BlackAndWhiteMode" general setting, and demonstrate the warning message you can expect when attempting to update general settings that are not present on a camera.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsCameraGeneralSetting/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsCameraMotion</command:name> <command:verb>Set</command:verb> <command:noun>VmsCameraMotion</command:noun> <maml:description> <maml:para>Sets motion detection settings for one or more cameras.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsCameraMotion` cmdlet sets motion detection settings for one or more cameras.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsCameraMotion</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>One or more cameras on which to update motion detection settings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DetectionMethod</maml:name> <maml:description> <maml:para>A value of Normal , Optimized , or Fast which represent 100%, 25%, and 12% detection resolution respectively. A DetectionMethod of Optimized would only evaluate every 4th pixel requiring less compute than 'Normal' or 100%.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Normal</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Optimized</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Fast</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="10" aliases="none"> <maml:name>ProcessTime</maml:name> <maml:description> <maml:para>Specifies the time interval between each image evaluated for motion. This applies only to cameras streaming MJPEG.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Ms100</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Ms250</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Ms500</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Ms750</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Ms1000</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="11" aliases="none"> <maml:name>Threshold</maml:name> <maml:description> <maml:para>Specifies how many pixels must change in order to trigger a motion started event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="12" aliases="none"> <maml:name>UseExcludeRegions</maml:name> <maml:description> <maml:para>Specifies whether the ExcludeRegions mask should be applied so that changes in the masked areas of the image are ignored for motion detection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>A boolean value specifying whether motion detection should be enabled or disabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>ExcludeRegions</maml:name> <maml:description> <maml:para>A string of 0's and 1's representing the chosen grid size. Areas of the grid marked with a 1 will be excluded from motion detection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>GenerateMotionMetadata</maml:name> <maml:description> <maml:para>Specifies whether motion metadata used to support smart search capabilities will be generated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>GridSize</maml:name> <maml:description> <maml:para>The size of the grid representing the motion detection exclusion region. Supported values are Grid8X8 , Grid16X16 , Grid32X32 , Grid64X64 .</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Grid8X8</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Grid16X16</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Grid32X32</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Grid64X64</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>HardwareAccelerationMode</maml:name> <maml:description> <maml:para>Set the HardwareAccelerationMode to Automatic , or Off .</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "HardwareAcceleratedVMD"</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Automatic</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Off</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>KeyframesOnly</maml:name> <maml:description> <maml:para>Only evaluate keyframes for motion. By default, keyframes usually arrive once per second. They can be much farther apart when using a custom keyframe interval, or a "smart" codec with a dynamic GOP (group of pictures) length.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>ManualSensitivity</maml:name> <maml:description> <maml:para>A value between 0 and 300 representing how much an individual pixel must change before it is considered a changing pixel. Note that the Management Client user interface represents this number as a range of 0-100. In PowerShell you should see a number 3x larger than the number shown in Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none"> <maml:name>ManualSensitivityEnabled</maml:name> <maml:description> <maml:para>Specifies that the ManualSensitivity and Threshold parameters should be used to evaluate motion instead of using automatic motion detection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the camera object to the pipeline after updating motion detection settings.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Camera</maml:name> <maml:description> <maml:para>One or more cameras on which to update motion detection settings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Camera[]</command:parameterValue> <dev:type> <maml:name>Camera[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>DetectionMethod</maml:name> <maml:description> <maml:para>A value of Normal , Optimized , or Fast which represent 100%, 25%, and 12% detection resolution respectively. A DetectionMethod of Optimized would only evaluate every 4th pixel requiring less compute than 'Normal' or 100%.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>A boolean value specifying whether motion detection should be enabled or disabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>ExcludeRegions</maml:name> <maml:description> <maml:para>A string of 0's and 1's representing the chosen grid size. Areas of the grid marked with a 1 will be excluded from motion detection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>GenerateMotionMetadata</maml:name> <maml:description> <maml:para>Specifies whether motion metadata used to support smart search capabilities will be generated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>GridSize</maml:name> <maml:description> <maml:para>The size of the grid representing the motion detection exclusion region. Supported values are Grid8X8 , Grid16X16 , Grid32X32 , Grid64X64 .</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>HardwareAccelerationMode</maml:name> <maml:description> <maml:para>Set the HardwareAccelerationMode to Automatic , or Off .</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "HardwareAcceleratedVMD"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>KeyframesOnly</maml:name> <maml:description> <maml:para>Only evaluate keyframes for motion. By default, keyframes usually arrive once per second. They can be much farther apart when using a custom keyframe interval, or a "smart" codec with a dynamic GOP (group of pictures) length.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>ManualSensitivity</maml:name> <maml:description> <maml:para>A value between 0 and 300 representing how much an individual pixel must change before it is considered a changing pixel. Note that the Management Client user interface represents this number as a range of 0-100. In PowerShell you should see a number 3x larger than the number shown in Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none"> <maml:name>ManualSensitivityEnabled</maml:name> <maml:description> <maml:para>Specifies that the ManualSensitivity and Threshold parameters should be used to evaluate motion instead of using automatic motion detection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the camera object to the pipeline after updating motion detection settings.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="10" aliases="none"> <maml:name>ProcessTime</maml:name> <maml:description> <maml:para>Specifies the time interval between each image evaluated for motion. This applies only to cameras streaming MJPEG.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="11" aliases="none"> <maml:name>Threshold</maml:name> <maml:description> <maml:para>Specifies how many pixels must change in order to trigger a motion started event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>0</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="12" aliases="none"> <maml:name>UseExcludeRegions</maml:name> <maml:description> <maml:para>Specifies whether the ExcludeRegions mask should be applied so that changes in the masked areas of the image are ignored for motion detection.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Camera</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>$splat = @{ Enabled = $true HardwareAccelerationMode = 'Automatic' KeyframesOnly = $true DetectionMethod = 'Fast' ProcessTime = 'Ms500' GenerateMotionMetadata = $true ManualSensitivityEnabled = $false UseExcludeRegions = $false GridSize = 'Grid16X16' ExcludeRegions = '0' * (16*16) } Get-VmsCamera | Set-VmsCameraMotion @splat -Verbose -WhatIf</dev:code> <dev:remarks> <maml:para>Updates all cameras to the default motion detection settings when the -WhatIf switch is removed.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsCameraMotion/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsCameraStream</command:name> <command:verb>Set</command:verb> <command:noun>VmsCameraStream</command:noun> <maml:description> <maml:para>Sets properties of one or more video stream.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Use this cmdlet to update specific properties of a video stream such as the framerate, resolution, or codec, as well as to specify how the VMS should use the stream. For example, if a stream should no longer be used by the VMS, you may disable it. Or if you wish to enable a stream, and configure it as the new default live stream, you may enable it and indicate that it should be the LiveDefault stream from now on.</maml:para> <maml:para>When viewing camera settings in Management Client, there are two tabs for configuring stream settings. The "Settings" tab shows general settings that may apply to all streams or control general streaming behavior of the camera, as well as one or more video streams each with a set of properties exclusive to that stream.</maml:para> <maml:para>The "Streams" tab is where you can indicate which of the available streams from the camera to use, and how they should be used. By default, a single stream usage is present in the Streams tab, and it usually is associated with "Video stream 1". This stream is both the LiveDefault and the Recorded stream, and the LiveMode may be "WhenNeeded" or "Always".</maml:para> <maml:para>This cmdlet consolidates both the Settings tab, and the Streams tab, to simplify the configuration of all properties associated with streams and how they are used by the VMS.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsCameraStream</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Disabled</maml:name> <maml:description> <maml:para>Specifies that the stream should be disabled. This is the same as clicking the "Delete" button in the Streams tab for a camera in Management Client.</maml:para> <maml:para>Note that while Management Client will automatically reassign the "LiveDefault" and "Record" properties to another video stream when the deleted stream was the default live, and/or recorded stream, this cmdlet will not. If the stream to be disabled is the recorded, or default live stream, you must re-assign those responsibilities to another stream first.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Stream</maml:name> <maml:description> <maml:para>Accepts a VmsCameraStreamConfig as is returned by the Get-VmsCameraStream cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">VmsCameraStreamConfig[]</command:parameterValue> <dev:type> <maml:name>VmsCameraStreamConfig[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Set-VmsCameraStream</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisplayName</maml:name> <maml:description> <maml:para>Specifies a new name to be displayed to users when selecting streams in client applications. Specifying this parameter is the same as entering an new name in the "Name" column in the Streams tab in Management Client.</maml:para> <maml:para>Note: Specifying a value for this parameter will automatically add the stream to the Streams tab if it is not already enabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiveDefault</maml:name> <maml:description> <maml:para>Specifies that the stream should be used by default for live viewing.</maml:para> <maml:para>Note: Specifying a value for this parameter will automatically add the stream to the Streams tab if it is not already enabled.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiveMode</maml:name> <maml:description> <maml:para>Specifies the LiveMode for the stream which can be either Always, Never, or WhenNeeded.</maml:para> <maml:para>A value of "Always" means the recording server will request a live stream from the camera at all times, even when that stream is not requested by a client.</maml:para> <maml:para>A value of "WhenNeeded" means the recording server will only request a live stream from the camera when required, such as when a client is requesting that stream, or when that stream is required by a recording rule.</maml:para> <maml:para>Note: Specifying a value for this parameter will automatically add the stream to the Streams tab if it is not already enabled.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Always</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Never</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">WhenNeeded</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PlaybackDefault</maml:name> <maml:description> <maml:para>Specifies that the stream should be the default stream used for playback. The adaptive playback feature can then switch to the other recorded stream if available based on the size of the camera tile.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "MultistreamRecording"</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recorded</maml:name> <maml:description> <maml:para>Deprecated as of 2023 R2. For compatibility, using the `-Recorded` switch parameter has the same effect as using `-RecordingTrack Primary -PlaybackDefault` unless one or both of these parameters are also specified.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RecordingTrack</maml:name> <maml:description> <maml:para>Specifies which recording track to save the stream to.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Primary</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Secondary</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">None</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Settings</maml:name> <maml:description> <maml:para>Accepts a hashtable of settings used to update the properties of a given stream. A warning will be issued if a key does not match known settings for the stream. Settings may be changed on disabled video streams without enabling them.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Stream</maml:name> <maml:description> <maml:para>Accepts a VmsCameraStreamConfig as is returned by the Get-VmsCameraStream cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">VmsCameraStreamConfig[]</command:parameterValue> <dev:type> <maml:name>VmsCameraStreamConfig[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseEdge</maml:name> <maml:description> <maml:para>Specifies that the device's edge storage should be used, if available. Operators can then mark a segment of video in the timeline and retrieve the edge storage which might have higher quality than the recorded stream.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Disabled</maml:name> <maml:description> <maml:para>Specifies that the stream should be disabled. This is the same as clicking the "Delete" button in the Streams tab for a camera in Management Client.</maml:para> <maml:para>Note that while Management Client will automatically reassign the "LiveDefault" and "Record" properties to another video stream when the deleted stream was the default live, and/or recorded stream, this cmdlet will not. If the stream to be disabled is the recorded, or default live stream, you must re-assign those responsibilities to another stream first.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisplayName</maml:name> <maml:description> <maml:para>Specifies a new name to be displayed to users when selecting streams in client applications. Specifying this parameter is the same as entering an new name in the "Name" column in the Streams tab in Management Client.</maml:para> <maml:para>Note: Specifying a value for this parameter will automatically add the stream to the Streams tab if it is not already enabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiveDefault</maml:name> <maml:description> <maml:para>Specifies that the stream should be used by default for live viewing.</maml:para> <maml:para>Note: Specifying a value for this parameter will automatically add the stream to the Streams tab if it is not already enabled.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>LiveMode</maml:name> <maml:description> <maml:para>Specifies the LiveMode for the stream which can be either Always, Never, or WhenNeeded.</maml:para> <maml:para>A value of "Always" means the recording server will request a live stream from the camera at all times, even when that stream is not requested by a client.</maml:para> <maml:para>A value of "WhenNeeded" means the recording server will only request a live stream from the camera when required, such as when a client is requesting that stream, or when that stream is required by a recording rule.</maml:para> <maml:para>Note: Specifying a value for this parameter will automatically add the stream to the Streams tab if it is not already enabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PlaybackDefault</maml:name> <maml:description> <maml:para>Specifies that the stream should be the default stream used for playback. The adaptive playback feature can then switch to the other recorded stream if available based on the size of the camera tile.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "MultistreamRecording"</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Recorded</maml:name> <maml:description> <maml:para>Deprecated as of 2023 R2. For compatibility, using the `-Recorded` switch parameter has the same effect as using `-RecordingTrack Primary -PlaybackDefault` unless one or both of these parameters are also specified.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RecordingTrack</maml:name> <maml:description> <maml:para>Specifies which recording track to save the stream to.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Settings</maml:name> <maml:description> <maml:para>Accepts a hashtable of settings used to update the properties of a given stream. A warning will be issued if a key does not match known settings for the stream. Settings may be changed on disabled video streams without enabling them.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>Stream</maml:name> <maml:description> <maml:para>Accepts a VmsCameraStreamConfig as is returned by the Get-VmsCameraStream cmdlet.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">VmsCameraStreamConfig[]</command:parameterValue> <dev:type> <maml:name>VmsCameraStreamConfig[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseEdge</maml:name> <maml:description> <maml:para>Specifies that the device's edge storage should be used, if available. Operators can then mark a segment of video in the timeline and retrieve the edge storage which might have higher quality than the recorded stream.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VmsCameraStreamConfig</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $stream = $camera | Get-VmsCameraStream -LiveDefault $settings = @{ FPS = 10 Codec = 'h265' } $stream | Set-VmsCameraStream -Settings $settings -Verbose <# OUTPUT VERBOSE: Performing the operation "Changing FPS from 15 to 10" on target "Video stream 1 on Cam Lab Camera". VERBOSE: Performing the operation "Save changes" on target "Video stream 1 on Cam Lab Camera". #></dev:code> <dev:remarks> <maml:para>After ensuring that we are connected to the Management Server, and prompting to select a camera, we select the default live stream for the camera. Next, a hashtable with the settings we want to apply is created, and we pass that hashtable to Set-VmsCameraStream.</maml:para> <maml:para>With the "-Verbose" switch present, we get detailed output which tells us exactly which changes were made. In this case, the FPS was changed from 15 to 10, but the codec wasn't changed because it was already set to h265.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>foreach ($camera in Select-Camera -AllowFolders -RemoveDuplicates) { $streams = $camera | Get-VmsCameraStream $streams | Where-Object LiveMode -eq 'Never' | Set-VmsCameraStream -LiveMode WhenNeeded $streams[0] | Set-VmsCameraStream -LiveDefault -RecordingTrack Primary -PlaybackDefault if ($streams.Count -gt 1 ) { $streams[1..($streams.Count - 1)] | Set-VmsCameraStream -Disabled } }</dev:code> <dev:remarks> <maml:para>Disable all except for one stream on the selected cameras. Before making the first stream the default live stream, and primary recorded stream, we ensure that none of the streams have a LiveMode value of "Never" by switching all enabled streams to a LiveMode value of "WhenNeeded".</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>$camera = Select-Camera -SingleSelect -Title 'Select a camera (double-click)' $streams = $camera | Get-VmsCameraStream | Select-Object -First 2 $streams[0] | Set-VmsCameraStream -LiveMode WhenNeeded -LiveDefault -PlaybackDefault -RecordingTrack Primary -DisplayName "Primary stream" $streams[1] | Set-VmsCameraStream -LiveMode WhenNeeded -LiveDefault -PlaybackDefault -RecordingTrack Secondary -DisplayName "Secondary stream" $camera | Get-VmsCameraStream -Recorded:$false | Set-VmsCameraStream -Disabled Get-VmsCamera | get-vmsCameraStream <# OUTPUT Camera Name DisplayName Enabled LiveMode LiveDefault Recorded RecordingTrack PlaybackDefault UseEdge ------ ---- ----------- ------- -------- ----------- -------- -------------- --------------- ------- Camera 1 Video stream 1 Primary stream True WhenNeeded False True Primary recording False False Camera 1 Video stream 2 Secondary stream True WhenNeeded True True Secondary recording True False #></dev:code> <dev:remarks> <maml:para>Configures the first two streams for adaptive streaming and adaptive playback. The first stream is recorded to the primary recording track, the second stream is recorded to the secondary recording track, and all other streams, if present, are disabled.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsCameraStream/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsClientProfile</command:name> <command:verb>Set</command:verb> <command:noun>VmsClientProfile</command:noun> <maml:description> <maml:para>Updates the name, description, or priority of an existing smart client profile.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsClientProfile` cmdlet updates the name, description, or priority of an existing smart client profile. The priority of a client profile is not available as a property on the `ClientProfile` object, but the order in which the profiles are returned by `Get-VmsClientProfile` should reflect the same order and priority shown in Management Client.</maml:para> <maml:para>If a profile should have the highest, most "important" priority and be assigned first when a user is a member of multiple roles with different smart client profiles, that profile should be given a low priority number with "1" as the lowest value. By assigning a priority of "1" to a client profile, that profile should move to the top of the smart client profile list in Management Client.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsClientProfile</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new, unique name for the smart client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Priority</maml:name> <maml:description> <maml:para>Specifies a new priority from 1 to `[int]::MaxValue`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated client profile should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new, unique name for the smart client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated client profile should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Priority</maml:name> <maml:description> <maml:para>Specifies a new priority from 1 to `[int]::MaxValue`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$clientProfiles = Get-VmsClientProfile -DefaultProfile:$false $clientProfiles | Set-VmsClientProfile -Priority (Get-Random -Minimum 1 -Maximum ($clientProfiles.Count + 1)) -Verbose -WhatIf</dev:code> <dev:remarks> <maml:para>Randomly re-prioritize smart client profiles.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Import-VmsClientProfile -Path .\clientprofile.json | Set-VmsClientProfile -Priority 1 -Description "Imported with Import-VmsClientProfile."</dev:code> <dev:remarks> <maml:para>Import one or more profiles from a local `clientprofile.json` file. If more than one client profile are defined in the file, they will all be imported and they will all be given the same description. However, only the last profile in the file will have priority "1". Each time a profile is given a new priority, it is moved up or down the list as needed.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsClientProfile/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsClientProfileAttributes</command:name> <command:verb>Set</command:verb> <command:noun>VmsClientProfileAttributes</command:noun> <maml:description> <maml:para>Updates a smart client profile with the provided attributes for one or more namespaces.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsClientProfileAttributes` cmdlet updates a smart client profile with the provided attributes for one or more namespaces. This can be used to make large or small configuration changes to one or more smart client profiles without using `Export-VmsClientProfile` and `Import-VmsClientProfile` to export and import changes from a file on disk.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "SmartClientProfiles"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsClientProfileAttributes</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Attributes</maml:name> <maml:description> <maml:para>A dictionary or hashtable where the keys match one or more client profile attribute names for a given namespace, and the values are either a string, or a `[pscustomobject]` with a Value property of type `[string]` and optional Locked property of type `[bool]`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IDictionary</command:parameterValue> <dev:type> <maml:name>IDictionary</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Namespace</maml:name> <maml:description> <maml:para>Specifies one or more existing client profile attribute namespaces. When the dictionary provided for the `Attributes` parameter contains a key named `Namespace` this namespace parameter can be omitted. If the namespace name isn't provided in the attributes dictionary, then the Namespace parameter is required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Attributes</maml:name> <maml:description> <maml:para>A dictionary or hashtable where the keys match one or more client profile attribute names for a given namespace, and the values are either a string, or a `[pscustomobject]` with a Value property of type `[string]` and optional Locked property of type `[bool]`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IDictionary</command:parameterValue> <dev:type> <maml:name>IDictionary</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies a smart client profile. The value can be either a ClientProfile object as returned by Get-VmsClientProfile, or it can be the name of an existing client profile.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Namespace</maml:name> <maml:description> <maml:para>Specifies one or more existing client profile attribute namespaces. When the dictionary provided for the `Attributes` parameter contains a key named `Namespace` this namespace parameter can be omitted. If the namespace name isn't provided in the attributes dictionary, then the Namespace parameter is required.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ClientProfile</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$general = Get-VmsClientProfile -DefaultProfile | Get-VmsClientProfileAttributes -Namespace General $general.ApplicationAutoLogin.Value = 'Unavailable' Get-VmsClientProfile -DefaultProfile | Set-VmsClientProfileAttributes $general -Verbose</dev:code> <dev:remarks> <maml:para>Set the "Auto-login" general setting in the default smart client profile to "Unavailable".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsClientProfileAttributes/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsConnectionString</command:name> <command:verb>Set</command:verb> <command:noun>VmsConnectionString</command:noun> <maml:description> <maml:para>Sets the SQL connection string for the specified VMS component.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The Set-VmsConnectionString cmdlet sets the connection string value for the specified VMS component. The connection strings are stored in the registry key HKLM:\SOFTWARE\VideoOS\Server\ConnectionString.</maml:para> <maml:para>If there is no existing registry value matching the specified component name, one can be created by including the -Force switch. Under normal circumstances it should never be necessary to create new registry values in this way, but if, for some reason, a registry key is removed or missing, it can be recreated this way.</maml:para> <maml:para>After changing a SQL connection string, it will be necessary to restart the related Windows Service(s) and IIS application pools where applicable.</maml:para> <maml:para>IMPORTANT: It is not recommended, or supported, to manipulate data in the SQL database(s) used by Milestone XProtect products. The database schema is not documented, and may change without warning between product versions.</maml:para> <maml:para>However, it is occasionally useful to read or modify database contents. If you choose to do so, it is at your own risk. Please be sure to create a configuration backup from Management Client, or a SQL database backup, before making any changes.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsConnectionString</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Component</maml:name> <maml:description> <maml:para>Specifies the name of an existing connection string value, or a new connection string value to be created. Existing values include include EventServer, IDP, IncidentManager, LogServer, ManagementServer, ReportServer, and ServerService.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ConnectionString</maml:name> <maml:description> <maml:para>A Microsoft SQL connection string.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the connection string value should be created if it doesn't exist.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Component</maml:name> <maml:description> <maml:para>Specifies the name of an existing connection string value, or a new connection string value to be created. Existing values include include EventServer, IDP, IncidentManager, LogServer, ManagementServer, ReportServer, and ServerService.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>ConnectionString</maml:name> <maml:description> <maml:para>A Microsoft SQL connection string.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the connection string value should be created if it doesn't exist.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Set-VmsConnectionString -Component ManagementServer -ConnectionString "Data Source=sql01;Initial Catalog=Surveillance;Integrated Security=True;Max Pool Size=1000;Encrypt=True;TrustServerCertificate=True"</dev:code> <dev:remarks> <maml:para>Sets the ManagementServer SQL connection string to use the SQL server "sql01". Under normal circumstances, all databases used by the VMS are on the same SQL server and some components should use the same connection string since they use some of the same database tables.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsConnectionString/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsDeviceEvent</command:name> <command:verb>Set</command:verb> <command:noun>VmsDeviceEvent</command:noun> <maml:description> <maml:para>Used to enable, disable, or modify device events provided by hardware added to a recording server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsDeviceEvent` cmdlet is used to "add" or "remove" an event on a Hardware, Camera, Microphone, Speaker, Input, Output, or Metadata device, by setting the value of `Used` to `$true` or `$false` respectively. Events that are "used" can then be enabled or disabled by setting the `Enabled` property accordingly.</maml:para> <maml:para>Some events, such as some hardware-based motion detection events, have an `EventIndex` property which can provide additional information like the ID of a motion detection window. This setting can be modified with the `Index` parameter when needed.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsDeviceEvent</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>DeviceEvent</maml:name> <maml:description> <maml:para>Specifies the device event to modify use `Get-VmsDeviceEvent` to retrieve a list of available DeviceEvents.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">HardwareDeviceEventChildItem</command:parameterValue> <dev:type> <maml:name>HardwareDeviceEventChildItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Used</maml:name> <maml:description> <maml:para>Specifies a new value for the EventUsed property on the device event. When the value is set to `$true` the event is "added" on the device. If this value was previously `$false`, the Enabled property is automatically set to `$true` to match the behavior of the management client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies a new value for the Enabled property on the device event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Index</maml:name> <maml:description> <maml:para>Specifies a new value for the EventIndex property on the device event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Returns each device event back to the pipeline whether it was modified or not.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>DeviceEvent</maml:name> <maml:description> <maml:para>Specifies the device event to modify use `Get-VmsDeviceEvent` to retrieve a list of available DeviceEvents.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">HardwareDeviceEventChildItem</command:parameterValue> <dev:type> <maml:name>HardwareDeviceEventChildItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies a new value for the Enabled property on the device event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Index</maml:name> <maml:description> <maml:para>Specifies a new value for the EventIndex property on the device event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Returns each device event back to the pipeline whether it was modified or not.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Used</maml:name> <maml:description> <maml:para>Specifies a new value for the EventUsed property on the device event. When the value is set to `$true` the event is "added" on the device. If this value was previously `$false`, the Enabled property is automatically set to `$true` to match the behavior of the management client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.HardwareDeviceEventChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.HardwareDeviceEventChildItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsCamera | Get-VmsDeviceEvent -Name 'Motion St*ed (HW)' | Set-VmsDeviceEvent -Used $true -Enabled $true -WhatIf</dev:code> <dev:remarks> <maml:para>Add and enable the hardware-based motion started/stopped events on all enabled cameras on the Milestone server. Note that the `-WhatIf` switch parameter should be removed from the `Set-VmsDeviceEvent` command if you want the changed to be made on the server.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsCamera | Get-VmsDeviceEvent -Name '*tripwire*' | Set-VmsDeviceEvent -Used $false -WhatIf</dev:code> <dev:remarks> <maml:para>Disable any "\ tripwire\ " events available on all enabled cameras.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code># On selected cameras, ensure recording is enabled, and disable the prebuffer as it isn't useful for cameras that only stream on motion. # Then add/enable the "Motion Started (HW)" and "Motion Stopped (HW)" events on each of the selected cameras. $selectedCameras = Select-Camera -AllowFolders -AllowServers -RemoveDuplicates -Title 'Select cameras to configure for edge-based motion detection' $selectedCameras | Set-VmsCamera -RecordingEnabled $true -PrebufferEnabled $false -PassThru | Get-VmsDeviceEvent -Name 'Motion*(HW)' | Set-VmsDeviceEvent -Used $true -Enabled $true -Index 1 -PassThru # Create a rule to start camera feeds on edge-based motion detection events, and to retrieve the previous 15 seconds of recordings from the camera's edge storage if available. $ruleArgs = @{ Name = 'Start Feed and Record on Motion Started (HW)' Properties = @{ 'Description' = 'Start live stream, start recording, and retrieve last 15 seconds from edge storage when camera detects motion.' 'StartRuleType' = 'Event' 'StartEventGroup' = 'DeviceConfigurable' 'StartEventType' = 'a7bd4b94-6eb0-4b5d-92d9-23f69bd23824' 'StartEventSources' = 'CameraGroup[0e1b0ad3-f67c-4d5f-b792-4bd6c3cf52f8]' 'StopRuleType' = 'Event' 'StopEventGroup' = 'DeviceConfigurable' 'StopEventType' = 'e3dd8ed6-cf93-410d-818a-6c474414d885' 'StopEventSources' = 'CameraGroup[0e1b0ad3-f67c-4d5f-b792-4bd6c3cf52f8]' 'StartActions' = 'StartRecording;StartFeed;RetrieveEdgeStorage' 'Start.StartRecording.Delay' = 0 'Start.StartRecording.DeviceIds' = 'Camera[00000000-0000-0000-0000-000000000000]' 'Start.StartFeed.DeviceIds' = 'Camera[00000000-0000-0000-0000-000000000000]' 'Start.RetrieveEdgeStorage.Delay' = 0 'Start.RetrieveEdgeStorage.DeviceIds' = 'Camera[00000000-0000-0000-0000-000000000000]' 'Start.RetrieveEdgeStorage.RetrieveSecondsBefore' = '-15' 'StopActions' = 'StopRecording;StopFeed' 'Stop.StopRecording.Delay' = '15' 'Stop.StopFeed.Delay' = '15' } } New-VmsRule @ruleArgs -Verbose</dev:code> <dev:remarks> <maml:para>This example demonstrates how you can enable the hardware-based or edge motion started/stopped events on many cameras at once, combined with creating a rule to start camera feeds on the "Motion Started (HW)" events and retrieving the previous 15 seconds of recordings from edge storage if available.</maml:para> <maml:para>Note that the "Default Start Feed Rule" should be disabled if you do not want the camera to stream to the recording server all the time.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsDeviceEvent/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsDeviceGroup</command:name> <command:verb>Set</command:verb> <command:noun>VmsDeviceGroup</command:noun> <maml:description> <maml:para>Sets the name or description property of the specified device group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Sets the name or description property of the specified device group. This cmdlet would be used primary to rename a device group or to modify the description of the group.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsDeviceGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies the device group. The value for this parameter is returned from Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the provided device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional device group description.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified device group should be returned after applying changes.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional device group description.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Group</maml:name> <maml:description> <maml:para>Specifies the device group. The value for this parameter is returned from Get-VmsDeviceGroup.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: CameraGroup, MicrophoneGroup, MetadataGroup, SpeakerGroup, InputEventGroup, OutputGroup</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem</command:parameterValue> <dev:type> <maml:name>IConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the provided device group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified device group should be returned after applying changes.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.IConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$group = Get-VmsDeviceGroup 'Camera Models' $params = @{ Name = "Cameras by Model" Description = "Auto-generated device group with cameras organized by model." } $group | Set-VmsDeviceGroup @params -PassThru <# RESULT DisplayName ItemCategory Path ParentPath ----------- ------------ ---- ---------- Cameras by Model Item CameraGroup[807dfed2-57a5-4416-9be9-315eb04e0f6a] /CameraGroupFolder #></dev:code> <dev:remarks> <maml:para>Renames the root camera group "Camera Models" to "Cameras by Model" and updates the description, passing the modified device group to the terminal in the end.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsDeviceGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsDeviceStorage</command:name> <command:verb>Set</command:verb> <command:noun>VmsDeviceStorage</command:noun> <maml:description> <maml:para>Set the target storage configuration for a device in XProtect.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsDeviceStorage` cmdlet sets the target storage configuration for a device in XProtect.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsDeviceStorage</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>One or more devices returned by the `Get-VmsCamera`, `Get-VmsMicrophone`, `Get-VmsSpeaker`, or `Get-VmsMetadata` cmdlets.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Destination</maml:name> <maml:description> <maml:para>The display name, or the Configuration API Path for the target storage configuration. If the device is already recording to the destination, the operation should complete without errors.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Pass the Device(s) back to the pipeline after a move operation is completed.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Destination</maml:name> <maml:description> <maml:para>The display name, or the Configuration API Path for the target storage configuration. If the device is already recording to the destination, the operation should complete without errors.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Device</maml:name> <maml:description> <maml:para>One or more devices returned by the `Get-VmsCamera`, `Get-VmsMicrophone`, `Get-VmsSpeaker`, or `Get-VmsMetadata` cmdlets.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IConfigurationItem[]</command:parameterValue> <dev:type> <maml:name>IConfigurationItem[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Pass the Device(s) back to the pipeline after a move operation is completed.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>Previous versions of XProtect supported a `moveData` boolean (true/false) option, but this was deprecated in MIP SDK and no longer has any effect. Previous recordings will not be moved to the new storage configuration. They will remain in the old storage configuration and will be deleted over time as recordings reach the maximum retention time of that original storage configuration.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsHardware | Get-VmsCamera | Set-VmsDeviceStorage -Destination 'Longterm Storage' -PassThru</dev:code> <dev:remarks> <maml:para>Get all enabled cameras on all recording servers and update them to record to the storage configuration with the name 'Longterm Storage'. If the storage does not exist, an error will be thrown. If the storage exists and the device is already assigned to it, no error will be thrown. Each camera will be returned to the pipeline after the operation completes thanks to the "-PassThru" switch.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>$storageName = 'Longterm storage' Get-VmsHardware | ForEach-Object { $_ | Get-VmsCamera -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName $_ | Get-VmsMicrophone -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName $_ | Get-VmsSpeaker -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName $_ | Get-VmsMetadata -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName }</dev:code> <dev:remarks> <maml:para>Gets all cameras, microphones, speakers, and metadata devices from all hardware on all recording servers and assigns them all to a storage configuration named "Longterm storage" if it exists.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>$storageName = 'Longterm storage' $recorders = Get-VmsRecordingServer | Out-GridView -OutputMode Multiple $recorders | Get-VmsHardware | ForEach-Object { $_ | Get-VmsCamera -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName $_ | Get-VmsMicrophone -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName $_ | Get-VmsSpeaker -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName $_ | Get-VmsMetadata -EnableFilter All | Set-VmsDeviceStorage -Destination $storageName }</dev:code> <dev:remarks> <maml:para>Prompts for a selection of one or more recording servers, then proceeds assign all cameras, microphones, speakers, and metadata to a storage configuration named "Longterm storage" if it exists.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsDeviceStorage/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsFailoverGroup</command:name> <command:verb>Set</command:verb> <command:noun>VmsFailoverGroup</command:noun> <maml:description> <maml:para>Updates the settings of the specifies failover group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsFailoverGroup` cmdlet updates the settings of the specifies failover group. Only name and description properties are present on failover groups at this time.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsFailoverGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a failover group object as is returned by `Get-VmsFailoverGroup`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated failover group should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>FailoverGroup</maml:name> <maml:description> <maml:para>Specifies a failover group object as is returned by `Get-VmsFailoverGroup`</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the failover group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated failover group should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsFailoverGroup | Set-VmsFailoverGroup -Description "Contact helpdesk@vms.local before making any changes to failover groups."</dev:code> <dev:remarks> <maml:para>This example adds a notice to the failover group description informing administrators not to change failover settings without talking to someone first.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsFailoverGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsFailoverRecorder</command:name> <command:verb>Set</command:verb> <command:noun>VmsFailoverRecorder</command:noun> <maml:description> <maml:para>Updates the settings of a failover recording server.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsFailoverRecorder` cmdlet updates the settings for a failover recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.2</maml:para> <maml:para>- Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsFailoverRecorder</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>FailoverRecorder</maml:name> <maml:description> <maml:para>Specifies the failover recorder to be updated. Use `Get-VmsFailoverRecorder` to retrieve failover recorders.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder</command:parameterValue> <dev:type> <maml:name>FailoverRecorder</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new display name for the failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the failover recorder should be enabled. A failover recorder might be disabled during maintenance for example.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>DatabasePath</maml:name> <maml:description> <maml:para>Specifies a new, absolute file path for the failover recording server to use when recording video on behalf of another recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>UdpPort</maml:name> <maml:description> <maml:para>Specifies which UDP port to use for status messages shared between failover recorders.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>MulticastServerAddress</maml:name> <maml:description> <maml:para>Specifies a new multicast server address for the failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>PublicAccessEnabled</maml:name> <maml:description> <maml:para>Specifies that public access (from an unrecognized IP subnet) should be enabled. Enabling this will make it possible for "remote" connections to use a different hostname or IP address than "local" connections.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>PublicWebserverHostName</maml:name> <maml:description> <maml:para>Specifies the hostname, fully-qualified domain name, or IP address for clients to use when connecting from IP subnets that are not considered "local" by the management server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none"> <maml:name>PublicWebserverPort</maml:name> <maml:description> <maml:para>Specifies a TCP port for clients to use when connecting from IP subnets that are not considered "local" by the management server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated failover recorder should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Unassigned</maml:name> <maml:description> <maml:para>Specifies that the failover recorder should be unassigned from the failover group it is currently a member of.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>DatabasePath</maml:name> <maml:description> <maml:para>Specifies a new, absolute file path for the failover recording server to use when recording video on behalf of another recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the failover recorder should be enabled. A failover recorder might be disabled during maintenance for example.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>FailoverRecorder</maml:name> <maml:description> <maml:para>Specifies the failover recorder to be updated. Use `Get-VmsFailoverRecorder` to retrieve failover recorders.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder</command:parameterValue> <dev:type> <maml:name>FailoverRecorder</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>MulticastServerAddress</maml:name> <maml:description> <maml:para>Specifies a new multicast server address for the failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new display name for the failover recorder.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated failover recorder should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>PublicAccessEnabled</maml:name> <maml:description> <maml:para>Specifies that public access (from an unrecognized IP subnet) should be enabled. Enabling this will make it possible for "remote" connections to use a different hostname or IP address than "local" connections.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>PublicWebserverHostName</maml:name> <maml:description> <maml:para>Specifies the hostname, fully-qualified domain name, or IP address for clients to use when connecting from IP subnets that are not considered "local" by the management server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none"> <maml:name>PublicWebserverPort</maml:name> <maml:description> <maml:para>Specifies a TCP port for clients to use when connecting from IP subnets that are not considered "local" by the management server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>UdpPort</maml:name> <maml:description> <maml:para>Specifies which UDP port to use for status messages shared between failover recorders.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Unassigned</maml:name> <maml:description> <maml:para>Specifies that the failover recorder should be unassigned from the failover group it is currently a member of.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverRecorder</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.FailoverRecorder</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$allFailoverRecorders = Get-VmsFailoverRecorder -Recurse $allFailoverRecorders | Set-VmsFailoverRecorder -Enabled $true -DatabasePath D:\MediaDB</dev:code> <dev:remarks> <maml:para>Retrieve all failover recording servers, including failover recorders in a failover group, failover recorders acting as hot standby recorders, and unassigned failover recorders and store them in the variable `$allFailoverRecorders`. Then, set all failover recorder "Enabled" properties to `$true`, and set the media database paths on all failover recorders to "D:\MediaDB".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsFailoverRecorder/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsHardware</command:name> <command:verb>Set</command:verb> <command:noun>VmsHardware</command:noun> <maml:description> <maml:para>Updates one or more properties of a hardware device.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsHardware` cmdlet updates one or more properties of a hardware device including name, address, username, password, description, and whether or not the hardware should be enabled.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsHardware</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies the hardware object to modify. Use Get-VmsHardware to retrieve hardware objects.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the hardware should be enabled or disabled. Provide `$true` to enable the hardware if it is not already enabled, and `$false` to disable the hardware if it is not already disabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new value for the hardware name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies the new hardware address in URI format. For example: http://192.168.1.101, or http://192.168.1.101:8080 when using a non-default HTTP port.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>UserName</maml:name> <maml:description> <maml:para>Specifies a new UserName value to use to authenticate with the hardware device.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="NewPassword"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies a new hardware password. If the password is supplied as a plain text string, it will automatically be converted to a `[securestring]`. Note that extra care should be used if passwords are exposed in plain text in a terminal, powershell command history, or files on disk.</maml:para> <maml:para>REQUIREMENTS - Requires VMS version 11.3</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new value for the hardware description.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the hardware object to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateRemoteHardware</maml:name> <maml:description> <maml:para>Specifies that the value provided in the Password parameter will be used to update the password both in the Milestone VMS and on the remote hardware device. Note that the hardware and device pack driver must support password changes on the device, and Milestone requires passwords to be a maximum of 64 characters with at least one upper-case character, one lower-case character, and one number. Only the characters a-z, A-Z, and numbers 0.9 are allowed.</maml:para> <maml:para>REQUIREMENTS - Requires VMS version 23.2</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies the new hardware address in URI format. For example: http://192.168.1.101, or http://192.168.1.101:8080 when using a non-default HTTP port.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new value for the hardware description.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the hardware should be enabled or disabled. Provide `$true` to enable the hardware if it is not already enabled, and `$false` to disable the hardware if it is not already disabled.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies the hardware object to modify. Use Get-VmsHardware to retrieve hardware objects.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new value for the hardware name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the hardware object to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="NewPassword"> <maml:name>Password</maml:name> <maml:description> <maml:para>Specifies a new hardware password. If the password is supplied as a plain text string, it will automatically be converted to a `[securestring]`. Note that extra care should be used if passwords are exposed in plain text in a terminal, powershell command history, or files on disk.</maml:para> <maml:para>REQUIREMENTS - Requires VMS version 11.3</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UpdateRemoteHardware</maml:name> <maml:description> <maml:para>Specifies that the value provided in the Password parameter will be used to update the password both in the Milestone VMS and on the remote hardware device. Note that the hardware and device pack driver must support password changes on the device, and Milestone requires passwords to be a maximum of 64 characters with at least one upper-case character, one lower-case character, and one number. Only the characters a-z, A-Z, and numbers 0.9 are allowed.</maml:para> <maml:para>REQUIREMENTS - Requires VMS version 23.2</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>UserName</maml:name> <maml:description> <maml:para>Specifies a new UserName value to use to authenticate with the hardware device.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$password = Read-Host -Prompt 'Password for hardware' -AsSecureString foreach ($hw in Get-VmsHardware) { $hw | Set-VmsHardware -Enabled $true -UserName 'vms' -Password $password -WhatIf foreach ($cam in $hw | Get-VmsCamera -EnableFilter All) { $cam | Set-VmsCamera -Enabled ($cam.Channel -eq 0) -WhatIf } }</dev:code> <dev:remarks> <maml:para>In this example we prompt for a new password for the VMS to use with all hardware. Next, all hardware is enabled and the username and password is updated (in the VMS only), and we ensure only the first camera channel (channel 0) is enabled on every device. Because of the presence of the `-WhatIf` parameter, you will see what would happen without making any modifications.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsHardware -PipelineVariable hw | Foreach-Object { $hostAddress = (([uri]$hw.Address).Host -split '\.')[-1] $hw | Set-VmsHardware -Address "http://172.16.100.$hostAddress" -WhatIf -Verbose }</dev:code> <dev:remarks> <maml:para>This example demonstrates one way you might update the IP addresses of all cameras in the VMS if, for example, the network subnet changed from 192.168.1.0/24 to 172.16.100.0/24, and the 4th octet for all cameras will remain the same, but the first three octets must be updated to match the new subnet.</maml:para> <maml:para>The example assumes all camera addresses are currently set to an IPv4 address, splits the IP address for each hardware by the "." separating the octets, and stores the last octet in the `$hostAddress` variable. The new address for all cameras will start with "http://172.16.100." followed by the value of `$hostAddress`.</maml:para> <maml:para>Because the `-WhatIf` parameter is present, no change will be made to the hardware settings in the VMS.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsHardware/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsHardwareDriver</command:name> <command:verb>Set</command:verb> <command:noun>VmsHardwareDriver</command:noun> <maml:description> <maml:para>Sets the hardware driver to use for an existing hardware device.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsHardwareDriver` cmdlet is used to invoke the "ReplaceHardware" configuration api method ID on a `Hardware` object. This method ID was introduced in XProtect VMS version 2023 R1, and this cmdlet is compatible only with version 2023 R1 and later.</maml:para> <maml:para>This cmdlet may be used to perform a "hardware replacement" which has traditionally only been possible to do through the "Replace Hardware Wizard" in the management client. In some cases you might perform this action to "refresh" an existing camera without changing the driver - for example, many cameras have a dynamic set of events available depending on settings or plugins on the camera itself. A hardware replacement procedure would force the recording server to re-discover the available features on the camera.</maml:para> <maml:para>You may also use this cmdlet to change the driver used for a camera. For example, you may wish to switch from an ONVIF driver to a dedicated driver. To do so, you can supply a hardware driver object, driver number, or a driver name for the `Driver` parameter.</maml:para> <maml:para>If a hardware replacement fails, the TargetObject property of the `ErrorRecord` will contain an object of type `ReplaceHardwareTaskInfo`. This error record can be used to help determine which hardware replacements failed when performing many operations in bulk. See the examples for reference.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsHardwareDriver</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more hardware objects returned by `Get-VmsHardware` on which to perform the hardware replacement.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies the new hardware address in URI format. For example: http://192.168.1.101</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies new credentials to use for the specified hardware device. If the credentials have not changed, the current username and password will be used automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Driver</maml:name> <maml:description> <maml:para>Specifies the new HardwareDriver object to use with the hardware device, or the driver number, or the full driver name. When supplying a driver name or number, it will be automatically translated to a HardwareDriver object for ease of use.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">HardwareDriver</command:parameterValue> <dev:type> <maml:name>HardwareDriver</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>CustomDriverData</maml:name> <maml:description> <maml:para>Reserved for future use.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowDeletingDisabledDevices</maml:name> <maml:description> <maml:para>Specifies that if the resulting hardware configuration has fewer camera, microphone, speaker, input, output, or metadata channels than the number of enabled channels prior to hardware replacement, the disabled device channels may be deleted in order to complete the hardware replacement. If there are more enabled device channels than available in the resulting hardware configuration, the hardware replacement will not proceed.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Pass the updated hardware object back to the pipeline on a successful hardware replacement.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies the new hardware address in URI format. For example: http://192.168.1.101</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowDeletingDisabledDevices</maml:name> <maml:description> <maml:para>Specifies that if the resulting hardware configuration has fewer camera, microphone, speaker, input, output, or metadata channels than the number of enabled channels prior to hardware replacement, the disabled device channels may be deleted in order to complete the hardware replacement. If there are more enabled device channels than available in the resulting hardware configuration, the hardware replacement will not proceed.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies new credentials to use for the specified hardware device. If the credentials have not changed, the current username and password will be used automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue> <dev:type> <maml:name>PSCredential</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>CustomDriverData</maml:name> <maml:description> <maml:para>Reserved for future use.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Driver</maml:name> <maml:description> <maml:para>Specifies the new HardwareDriver object to use with the hardware device, or the driver number, or the full driver name. When supplying a driver name or number, it will be automatically translated to a HardwareDriver object for ease of use.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">HardwareDriver</command:parameterValue> <dev:type> <maml:name>HardwareDriver</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Hardware</maml:name> <maml:description> <maml:para>Specifies one or more hardware objects returned by `Get-VmsHardware` on which to perform the hardware replacement.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hardware[]</command:parameterValue> <dev:type> <maml:name>Hardware[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Pass the updated hardware object back to the pipeline on a successful hardware replacement.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware[]</maml:name> </dev:type> <maml:description> <maml:para>This cmdlet accepts one or more Hardware objects from the pipeline, or by named parameter.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Hardware</maml:name> </dev:type> <maml:description> <maml:para>When invoked with the `-PassThru` switch parameter, this cmdlet returns the updated hardware object(s).</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$hardware = Get-VmsHardware | Out-GridView -OutputMode Single -Title "Select a hardware device" $hardware | Set-VmsHardwareDriver -PassThru -Confirm:$false -Verbose</dev:code> <dev:remarks> <maml:para>Prompts for a hardware device selection, and then performs a hardware replacement without modifying the driver. If the resulting hardware change would result in a different number of camera channels connected to the hardware, the replace will fail since "AllowDeletingDisabledDevices" was not specified.</maml:para> <maml:para>Since `-Confirm:$false` is present, no confirmation will be required before continuing.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$hardware = Get-VmsHardware | Out-GridView -OutputMode Single -Title "Select a hardware device" $hardware | Set-VmsHardwareDriver -PassThru -Driver AXIS</dev:code> <dev:remarks> <maml:para>Prompts for a hardware device selection, and then performs a hardware replacement with the "AXIS" driver, driver number 806. You could also specify the integer 806 instead of "AXIS", as a custom argument transformation will take care of converting either the name or driver number to the corresponding hardware driver object as is returned by `Get-VmsHardwareDriver`.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>$hardware = Get-VmsHardware | Out-GridView -OutputMode Single -Title "Select a hardware device" $hardware | Set-VmsHardwareDriver -Driver 421 -Credential (Get-Credential) -AllowDeletingDisabledDevices -WhatIf</dev:code> <dev:remarks> <maml:para>Prompts for a hardware device selection, and then informs what would happen if you attempted to set the hardware driver to driver number 421, "Universal 1 channel driver". Remove the `-WhatIf` switch to execute the hardware driver change.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>$hardware = Get-VmsHardware | Out-GridView -OutputMode Single -Title "Select a hardware device" $hardware | Set-VmsHardwareDriver -Driver 605 -ErrorVariable replaceHardwareErrors foreach ($e in $replaceHardwareErrors.TargetObject) { $e }</dev:code> <dev:remarks> <maml:para>Prompts for a hardware device selection, and then attempts to replace the driver with the "Axis One-click" driver. Assuming this fails, the `$replaceHardwareErrors` `ArrayList` will be populated with an `ErrorRecord`, and the `TargetObject` property of that record will be an object with the HardwareName, HardwarePath, RecorderPath, and Task properties. This information can be used to produce a report of hardware replacements that have failed and might need to be retried or performed manually.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsHardwareDriver/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsLicense</command:name> <command:verb>Set</command:verb> <command:noun>VmsLicense</command:noun> <maml:description> <maml:para>Sets the Milestone XProtect VMS software license code to a new software license code.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Useful for changing the software license code. You may do this when moving from a pilot license to a production license, or when upgrading or downgrading the licensed VMS edition.</maml:para> <maml:para>If you're importing a new "initial license file" for the same software license code, or importing an activated software license file downloaded from My Milestone, it is recommended to use Import-VmsLicense instead.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsLicense</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to an existing license file on disk. Typically this file has a .LIC extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the path to an existing license file on disk. Typically this file has a .LIC extension.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInformation</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LicenseInformation</maml:name> </dev:type> <maml:description> <maml:para>Support for license management in Milestone's MIP SDK / Configuration API was introduced in version 2020 R2. If the Management Server version is earlier than 2020 R2, this function will not work.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Set-VmsLicense -Path C:\path\to\license.lic</dev:code> <dev:remarks> <maml:para>Invokes the ChangeLicense method in Configuration API to import license.lic.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsLicense/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsLoginProvider</command:name> <command:verb>Set</command:verb> <command:noun>VmsLoginProvider</command:noun> <maml:description> <maml:para>Sets the specified properties of an existing external login provider.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsLoginProvider` cmdlet is used to update the settings of an existing external login provider.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsLoginProvider</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider to be updated. If the name is provided, the login provider object will be retrieved automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the display name for the external login provider. This value will be displayed in the list of authentication options in supported clients including Smart Client, Web Client, Mobile Client, and Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ClientId</maml:name> <maml:description> <maml:para>Specifies the client id value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>ClientSecret</maml:name> <maml:description> <maml:para>Specifies the client secret value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>CallbackPath</maml:name> <maml:description> <maml:para>Specifies the path to which users will be redirected after completing the login process with the external login provider. The CallbackPath value represents the portion of the management server URI that comes after the dns name and port. The default value is '/signin-oidc' and the value is not normally changed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>Authority</maml:name> <maml:description> <maml:para>Specifies the URI for the external login provider to which VMS users will be redirected for authentication.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>UserNameClaim</maml:name> <maml:description> <maml:para>Specifies the claim name to use to generate a unique user name for the user in the VMS. See the Unique user names for external IDP users (https://doc.milestonesys.com/latest/en-US/standard_features/sf_mc/sf_systemoverview/mc_external_idpexplained.htm#Unique_user_names_for_external_IDP_users_)documentation for more information about how user names are created within the VMS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>Scopes</maml:name> <maml:description> <maml:para>Use scopes to limit the number of claims that you get from an external IDP. If you know that the claims that are relevant for your VMS are in a specific scope, you can use the scope to limit the number of claims that you get from the external IDP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>PromptForLogin</maml:name> <maml:description> <maml:para>Specify to the external IDP if the user should stay logged in or if a verification of the user is required. Depending on the external IDP, the verification can include a password verification or a full log-in.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the external login provider should be enabled immediately.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated login provider object should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>Authority</maml:name> <maml:description> <maml:para>Specifies the URI for the external login provider to which VMS users will be redirected for authentication.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>CallbackPath</maml:name> <maml:description> <maml:para>Specifies the path to which users will be redirected after completing the login process with the external login provider. The CallbackPath value represents the portion of the management server URI that comes after the dns name and port. The default value is '/signin-oidc' and the value is not normally changed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ClientId</maml:name> <maml:description> <maml:para>Specifies the client id value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>ClientSecret</maml:name> <maml:description> <maml:para>Specifies the client secret value unique to the external login provider.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue> <dev:type> <maml:name>SecureString</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies whether the external login provider should be enabled immediately.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>LoginProvider</maml:name> <maml:description> <maml:para>Specifies the login provider to be updated. If the name is provided, the login provider object will be retrieved automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">LoginProvider</command:parameterValue> <dev:type> <maml:name>LoginProvider</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the display name for the external login provider. This value will be displayed in the list of authentication options in supported clients including Smart Client, Web Client, Mobile Client, and Management Client.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated login provider object should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none"> <maml:name>PromptForLogin</maml:name> <maml:description> <maml:para>Specify to the external IDP if the user should stay logged in or if a verification of the user is required. Depending on the external IDP, the verification can include a password verification or a full log-in.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none"> <maml:name>Scopes</maml:name> <maml:description> <maml:para>Use scopes to limit the number of claims that you get from an external IDP. If you know that the claims that are relevant for your VMS are in a specific scope, you can use the scope to limit the number of claims that you get from the external IDP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>UserNameClaim</maml:name> <maml:description> <maml:para>Specifies the claim name to use to generate a unique user name for the user in the VMS. See the Unique user names for external IDP users (https://doc.milestonesys.com/latest/en-US/standard_features/sf_mc/sf_systemoverview/mc_external_idpexplained.htm#Unique_user_names_for_external_IDP_users_)documentation for more information about how user names are created within the VMS.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.LoginProvider</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Set-VmsLoginProvider -LoginProvider Auth0 -ClientSecret (Read-Host -Prompt 'Secret' -AsSecureString) -Verbose</dev:code> <dev:remarks> <maml:para>If a login provider named 'Auth0' is present, the secret will be requested, and then updated in the VMS configuration.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsLoginProvider/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsLoginProviderClaim</command:name> <command:verb>Set</command:verb> <command:noun>VmsLoginProviderClaim</command:noun> <maml:description> <maml:para>Sets the name or display name of an existing registered claim on a login provider.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsLoginProviderClaim` cmdlet updates the name, or display name of a claim registered on the specific login provider.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 22.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsLoginProviderClaim</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Claim</maml:name> <maml:description> <maml:para>Specifies the registered claim to be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RegisteredClaim</command:parameterValue> <dev:type> <maml:name>RegisteredClaim</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the new name for the provided registered claim.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>DisplayName</maml:name> <maml:description> <maml:para>Specifies the desired display name for the specified claim name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated registered claim record should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Claim</maml:name> <maml:description> <maml:para>Specifies the registered claim to be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RegisteredClaim</command:parameterValue> <dev:type> <maml:name>RegisteredClaim</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>DisplayName</maml:name> <maml:description> <maml:para>Specifies the desired display name for the specified claim name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the new name for the provided registered claim.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated registered claim record should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.RegisteredClaim</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.RegisteredClaim</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsLoginProviderClaim -LoginProvider 'Auth0' -Name 'vms_role' | Set-VmsLoginProviderClaim -DisplayName 'Roles' -Verbose</dev:code> <dev:remarks> <maml:para>Sets the display name for the 'vms_role' claim on the 'Auth0' external login provider to 'Roles'.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsLoginProviderClaim/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsRecordingServer</command:name> <command:verb>Set</command:verb> <command:noun>VmsRecordingServer</command:noun> <maml:description> <maml:para>Sets properties of one or more recording servers.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Sets properties of one or more recording servers.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsRecordingServer</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="Recorder"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the recording server to modify, either by object or by name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisableFailover</maml:name> <maml:description> <maml:para>Specifies that failover features should be disabled for this recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FailoverPort</maml:name> <maml:description> <maml:para>Specifies a TCP port value for the recording server to use when listening for status messages from failover recorders.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HotStandbyFailoverRecorder</maml:name> <maml:description> <maml:para>Specifies an unassigned failover recording server to designate as the hot standby failover for the recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder</command:parameterValue> <dev:type> <maml:name>FailoverRecorder</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>MulticastServerAddress</maml:name> <maml:description> <maml:para>Specifies a multicast server address to use when clients should receive live video from the recording server using multicast instead of unicast.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new display name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the modified object to the caller or the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PrimaryFailoverGroup</maml:name> <maml:description> <maml:para>Specifies the failover group to use as the primary failover server group for the recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>PublicAccessEnabled</maml:name> <maml:description> <maml:para>Specifies that the recording server should advertise a different address for users connecting from any network not considered by the management server to be "local". This means any client logging in to the management server with a source IP address (from the management server's perspective) that does not fall within the subnet of one of the management server's network interfaces, or within one of the local network ranges defined in Management Client under Tools > Options > Network, will be considered "external" and they will be provided with the "public" address for all recording servers instead of the "Local web server address".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>PublicWebserverHostName</maml:name> <maml:description> <maml:para>Specifies the public hostname, IP, or DNS name for clients to use when connecting from a "non-local" network IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PublicWebserverPort</maml:name> <maml:description> <maml:para>Specifies the public TCP port for clients to use when connecting from a "non-local" network IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SecondaryFailoverGroup</maml:name> <maml:description> <maml:para>Specifies the failover group to use as the secondary failover server group for the recording server. If all failover servers in the primary failover group are busy or unavailable, the first available failover server in the secondary failover group will assume responsibility for the recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ShutdownOnStorageFailure</maml:name> <maml:description> <maml:para>Specifies that the recording server should shut down when there is a storage failure resulting in an inability to record. This may be important when you have a failover recording server that should take over during such an event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the recording server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DisableFailover</maml:name> <maml:description> <maml:para>Specifies that failover features should be disabled for this recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>FailoverPort</maml:name> <maml:description> <maml:para>Specifies a TCP port value for the recording server to use when listening for status messages from failover recorders.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HotStandbyFailoverRecorder</maml:name> <maml:description> <maml:para>Specifies an unassigned failover recording server to designate as the hot standby failover for the recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverRecorder</command:parameterValue> <dev:type> <maml:name>FailoverRecorder</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>MulticastServerAddress</maml:name> <maml:description> <maml:para>Specifies a multicast server address to use when clients should receive live video from the recording server using multicast instead of unicast.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new display name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the modified object to the caller or the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PrimaryFailoverGroup</maml:name> <maml:description> <maml:para>Specifies the failover group to use as the primary failover server group for the recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>PublicAccessEnabled</maml:name> <maml:description> <maml:para>Specifies that the recording server should advertise a different address for users connecting from any network not considered by the management server to be "local". This means any client logging in to the management server with a source IP address (from the management server's perspective) that does not fall within the subnet of one of the management server's network interfaces, or within one of the local network ranges defined in Management Client under Tools > Options > Network, will be considered "external" and they will be provided with the "public" address for all recording servers instead of the "Local web server address".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>PublicWebserverHostName</maml:name> <maml:description> <maml:para>Specifies the public hostname, IP, or DNS name for clients to use when connecting from a "non-local" network IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PublicWebserverPort</maml:name> <maml:description> <maml:para>Specifies the public TCP port for clients to use when connecting from a "non-local" network IP.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="Recorder"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies the recording server to modify, either by object or by name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>SecondaryFailoverGroup</maml:name> <maml:description> <maml:para>Specifies the failover group to use as the secondary failover server group for the recording server. If all failover servers in the primary failover group are busy or unavailable, the first available failover server in the secondary failover group will assume responsibility for the recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS feature "RecordingServerFailover"</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">FailoverGroup</command:parameterValue> <dev:type> <maml:name>FailoverGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>ShutdownOnStorageFailure</maml:name> <maml:description> <maml:para>Specifies that the recording server should shut down when there is a storage failure resulting in an inability to record. This may be important when you have a failover recording server that should take over during such an event.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.RecordingServer[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.RecordingServer</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$recorder | Set-VmsRecordingServer -PublicAccessEnabled $true -PublicWebserverPort 7563 -PublicWebserverHostName demo.milestonesys.com</dev:code> <dev:remarks> <maml:para>Enables public access for a recording server, and sets the public hostname/fqdn and port.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsRecordingServer/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsRestrictedMedia</command:name> <command:verb>Set</command:verb> <command:noun>VmsRestrictedMedia</command:noun> <maml:description> <maml:para>Updates properties of an existing media restriction.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsRestrictedMedia` cmdlet updates properties of an existing media restriction. It is used to change the header (title), description, start and end timestamps, and add or remove devices to the media restriction.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> <maml:para>- Requires VMS feature "RestrictedMedia"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsRestrictedMedia</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies a media restriction object as returned by `Get-VmsRestrictedMedia`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RestrictedMedia</command:parameterValue> <dev:type> <maml:name>RestrictedMedia</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>IncludeDeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices, by Id, to include in the specified media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ExcludeDeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices, by Id, to exclude from the specified media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Header</maml:name> <maml:description> <maml:para>Specifies the title of the media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the video playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the start of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the end of the period for which the media retriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the updated media restriction to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the video playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the end of the period for which the media retriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>ExcludeDeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices, by Id, to exclude from the specified media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Header</maml:name> <maml:description> <maml:para>Specifies the title of the media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>IncludeDeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices, by Id, to include in the specified media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Specifies a media restriction object as returned by `Get-VmsRestrictedMedia`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RestrictedMedia</command:parameterValue> <dev:type> <maml:name>RestrictedMedia</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Return the updated media restriction to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the start of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMedia</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMedia</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$restriction = Get-VmsRestrictedMedia | Select-Object -First 1 $splat = @{ Header = 'New header value' Description = 'Updated description' StartTime = $restriction.StartTime.AddHours(-1) EndTime = $restriction.StartTime.AddHours(1) PassThru = $true } $restriction | Set-VmsRestrictedMedia @splat</dev:code> <dev:remarks> <maml:para>This example updates the first discovered media restriction with a new header, and description. It also expands the restricted period by one hour on both ends of the existing restricted time period.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsRestrictedMedia/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsRole</command:name> <command:verb>Set</command:verb> <command:noun>VmsRole</command:noun> <maml:description> <maml:para>Sets properties of an existing VMS role.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Sets properties of an existing VMS role. Permissions for roles are modified using other cmdlets such as `Set-VmsRoleOverallSecurity`.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsRole</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="RoleClientLogOnTimeProfile"> <maml:name>ClientLogOnTimeProfile</maml:name> <maml:description> <maml:para>Specifies the time profile within which members of this role are allowed to logon.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="RoleDefaultTimeProfile"> <maml:name>DefaultTimeProfile</maml:name> <maml:description> <maml:para>Specifies the default time profile to use for permissions such as when members are allowed to play back recordings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies which smart client profile to use with the specified role. Use `Get-VmsClientProfile` to retrieve smart client profile objects, or enter the client profile by name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowMobileClientLogOn</maml:name> <maml:description> <maml:para>Specifies that the role is allowed to logon using a mobile client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowSmartClientLogOn</maml:name> <maml:description> <maml:para>Specifies that the role is allowed to logon with Smart Client.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowWebClientLogOn</maml:name> <maml:description> <maml:para>Specifies that the role is allowed to logon with a web browser.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DualAuthorizationRequired</maml:name> <maml:description> <maml:para>Specifies that members of the role require dual authorization.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MakeUsersAnonymousDuringPTZSession</maml:name> <maml:description> <maml:para>Specifies that PTZ operations should not be attributed to a specific user for members of the role.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified role should be returned.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowMobileClientLogOn</maml:name> <maml:description> <maml:para>Specifies that the role is allowed to logon using a mobile client.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowSmartClientLogOn</maml:name> <maml:description> <maml:para>Specifies that the role is allowed to logon with Smart Client.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>AllowWebClientLogOn</maml:name> <maml:description> <maml:para>Specifies that the role is allowed to logon with a web browser.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="RoleClientLogOnTimeProfile"> <maml:name>ClientLogOnTimeProfile</maml:name> <maml:description> <maml:para>Specifies the time profile within which members of this role are allowed to logon.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none"> <maml:name>ClientProfile</maml:name> <maml:description> <maml:para>Specifies which smart client profile to use with the specified role. Use `Get-VmsClientProfile` to retrieve smart client profile objects, or enter the client profile by name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ClientProfile</command:parameterValue> <dev:type> <maml:name>ClientProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="RoleDefaultTimeProfile"> <maml:name>DefaultTimeProfile</maml:name> <maml:description> <maml:para>Specifies the default time profile to use for permissions such as when members are allowed to play back recordings.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">TimeProfile</command:parameterValue> <dev:type> <maml:name>TimeProfile</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DualAuthorizationRequired</maml:name> <maml:description> <maml:para>Specifies that members of the role require dual authorization.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>MakeUsersAnonymousDuringPTZSession</maml:name> <maml:description> <maml:para>Specifies that PTZ operations should not be attributed to a specific user for members of the role.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified role should be returned.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role[]</command:parameterValue> <dev:type> <maml:name>Role[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula -Force -DisableAutoLogin -PassThru Set-VmsRole -Role "Operators" -Name "Security" -DualAuthorizationRequired -AllowWebClientLogOn:$false</dev:code> <dev:remarks> <maml:para>Prompts the user to login to a management server, then changes the "Operators" role name to "Security" and enables dual authorization on the role, if it was not already enabled. It also removes permission to logon with the web client if the privilege had previously been granted.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsRole/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsRoleOverallSecurity</command:name> <command:verb>Set</command:verb> <command:noun>VmsRoleOverallSecurity</command:noun> <maml:description> <maml:para>Sets the overall security permissions for the given Role and SecurityNamespace.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Sets the overall security permissions for the given Role and SecurityNamespace. the easiest way to build a script to automate permission updates is to retrieve the permissions of a role that has already been defined, and inspect the names of the permissions first.</maml:para> <maml:para>The hashtable provided for the "Permissions" parameter can contain just one permission, or all available permissions. Only the permissions specified in the hashtable will be updated on the role.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsRoleOverallSecurity</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>SecurityNamespace</maml:name> <maml:description> <maml:para>Specifies the name or ID of an existing security namespace.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Permissions</maml:name> <maml:description> <maml:para>Specifies a hashtable where the keys match one or more permissions associated with the specifies SecurityNamespace, and the values are one of "Allow", "Deny", or "None".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none"> <maml:name>Permissions</maml:name> <maml:description> <maml:para>Specifies a hashtable where the keys match one or more permissions associated with the specifies SecurityNamespace, and the values are one of "Allow", "Deny", or "None".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="RoleName"> <maml:name>Role</maml:name> <maml:description> <maml:para>Specifies the role object, or the name of the role.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Role</command:parameterValue> <dev:type> <maml:name>Role</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>SecurityNamespace</maml:name> <maml:description> <maml:para>Specifies the name or ID of an existing security namespace.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.Role</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Collections.Hashtable</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$permissions = Get-VmsRoleOverallSecurity -Role 'Operators' -SecurityNamespace Cameras $permissions.GENERIC_READ = 'Allow' $permissions.VIEW_LIVE = 'Allow' $permissions.PLAYBACK = 'Allow' $permissions.EXPORT = 'Deny' Set-VmsRoleOverallSecurity -Permissions $permissions</dev:code> <dev:remarks> <maml:para>Gets the "Cameras" overall security permissions for the role "Operators", and grants permission to read, view live, and playback all cameras, but denies permission to export video.</maml:para> <maml:para>Since the output of Get-VmsRoleOverallSecurity is a hashtable which includes the "Path" value of the Role, and the SecurityNamespace ID, the Set-VmsRoleOverallSecurity cmdlet does not need explicit values for the Role and SecurityNamespace parameters.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsRole -RoleType UserDefined | Set-VmsRoleOverallSecurity -SecurityNamespace Sites -Permissions @{ GENERIC_READ = 'Allow' } -Verbose</dev:code> <dev:remarks> <maml:para>This example updates the Sites overall security settings to give all user-defined roles "GENERIC_READ" rights on sites, which will make child sites in a Milestone Federated Hierarchy (MFA) visible to members of those roles.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsRoleOverallSecurity/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsRule</command:name> <command:verb>Set</command:verb> <command:noun>VmsRule</command:noun> <maml:description> <maml:para>Sets one or more properties of an existing VMS rule.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsRule` cmdlet sets one or more properties of an existing VMS rule.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsRule</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Rule</maml:name> <maml:description> <maml:para>Specifies one or more rules returned by Get-VmsRule. When omitted, all rules will be exported. Rules may be provided by name and names will be tab-completed.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Rule</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name / display name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies a new desired enabled-state - either `$true` or `$false`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies a collection of properties either as a hashtable, or as list of objects, each having a Key and a Value property. For example, you can pass in the `Properties` collection from the result of `Get-VmsRule` and the Key/Value properties from each of the properties in the collection will be automatically converted to a hashtable when calling `New-VmsRule`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated rule should be returned to the pipeline. When used with the `-WhatIf` switch, the unmodified rule will be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Enabled</maml:name> <maml:description> <maml:para>Specifies a new desired enabled-state - either `$true` or `$false`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue> <dev:type> <maml:name>Boolean</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name / display name.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated rule should be returned to the pipeline. When used with the `-WhatIf` switch, the unmodified rule will be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Properties</maml:name> <maml:description> <maml:para>Specifies a collection of properties either as a hashtable, or as list of objects, each having a Key and a Value property. For example, you can pass in the `Properties` collection from the result of `Get-VmsRule` and the Key/Value properties from each of the properties in the collection will be automatically converted to a hashtable when calling `New-VmsRule`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue> <dev:type> <maml:name>Hashtable</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>Rule</maml:name> <maml:description> <maml:para>Specifies one or more rules returned by Get-VmsRule. When omitted, all rules will be exported. Rules may be provided by name and names will be tab-completed.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Rule</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ConfigurationItem</command:parameterValue> <dev:type> <maml:name>ConfigurationItem</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRule | Foreach-Object { $_ | Set-VmsRule -Name "Renamed - $($_.DisplayName)" -Enabled $false -Verbose -WhatIf }</dev:code> <dev:remarks> <maml:para>Renames and disables all rules supported by Configuration API if the `-WhatIf` switch is removed.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsRule/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsSiteInfo</command:name> <command:verb>Set</command:verb> <command:noun>VmsSiteInfo</command:noun> <maml:description> <maml:para>Sets the value for one Site Information property such as name, address, or administrator contact number.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This cmdlet is used to add or update values displayed in the Management Client under Site / Basics / Site Information, just under the License Information node.</maml:para> <maml:para>There are several predefined property names with keys like "address.Name", and the VMS allows you to add one or more values for the same field. For example, you could add multiple entries, or lines, for address, or phone number. Each line can be up to 256 characters in length.</maml:para> <maml:para>The lines are returned by Get-VmsSiteInfo and displayed in the Management Client in the order they were created. If you want to add a second value for a given property, you can include the `-Append` switch (see the examples.)</maml:para> <maml:para>In order for this command to remain flexible in the event the available fields change in the future, the parameters are simplified and accept a property name, and a value. The valid property names are available with tab or list completion, so you may type "-Property " and then press tab, or CTRL+Space, and the supported property names will be displayed. The currently available values as of XProtect VMS version 2022 R2 are...</maml:para> <maml:para>address.Name, address.Address, address.State, address.Phone, address.Country, address.ZipCode, admin.Name, admin.Address, admin.Phone, additional.AdditionalInfo</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 20.2</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsSiteInfo</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Property</maml:name> <maml:description> <maml:para>Specifies the property name to add or update. The available property names are dynamically discovered from the Management Server and provided as argument completions using tab, or CTRL+Space.</maml:para> <maml:para>The values as of 2022 R2 are: address.Name, address.Address, address.State, address.Phone, address.Country, address.ZipCode, admin.Name, admin.Address, admin.Phone, additional.AdditionalInfo</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none"> <maml:name>Value</maml:name> <maml:description> <maml:para>Specifies the value for the given property name. The value can be any string up to 256 characters in length.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Append</maml:name> <maml:description> <maml:para>Specifies that if a value already exists for the specified Property, an additional line should be added for the same property name. This allows you to have two Address lines, and more than one phone number associated with a site.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Append</maml:name> <maml:description> <maml:para>Specifies that if a value already exists for the specified Property, an additional line should be added for the same property name. This allows you to have two Address lines, and more than one phone number associated with a site.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Property</maml:name> <maml:description> <maml:para>Specifies the property name to add or update. The available property names are dynamically discovered from the Management Server and provided as argument completions using tab, or CTRL+Space.</maml:para> <maml:para>The values as of 2022 R2 are: address.Name, address.Address, address.State, address.Phone, address.Country, address.ZipCode, admin.Name, admin.Address, admin.Phone, additional.AdditionalInfo</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none"> <maml:name>Value</maml:name> <maml:description> <maml:para>Specifies the value for the given property name. The value can be any string up to 256 characters in length.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula Clear-VmsSiteInfo -Verbose Set-VmsSiteInfo -Property address.Name -Value 'Milestone Systems' -Verbose Set-VmsSiteInfo -Property address.Address -Value '5300 Meadows Rd STE 400' -Verbose Set-VmsSiteInfo -Property address.Address -Value 'Lake Oswego, OR 97035' -Append -Verbose Set-VmsSiteInfo -Property address.Country -Value 'United States' -Verbose Set-VmsSiteInfo -Property address.Phone -Value '+1 503-350-1100' -Verbose</dev:code> <dev:remarks> <maml:para>After connecting to the Management Server, we clear the site information and set the name, address, and phone number for the site. Notice that instead of using the address.State and address.ZipCode fields, we chose to enter the city, state and zipcode as a second address.Address property by including the -Append switch. Without the -Append switch, the second address.Address value would have replaced the first.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code># Export current site's site info to csv Get-VmsSiteInfo | Export-Csv ~\Desktop\siteinfo.csv # Update the site info on a different site to be identical Clear-VmsSiteInfo -Verbose Import-Csv ~\Desktop\siteinfo.csv | Set-VmsSiteInfo -Append -Verbose</dev:code> <dev:remarks> <maml:para>This example shows how you might export the site information, and then import that information on a different site. On the new site, we first use Clear-VmsSiteInfo to ensure that we don't add new data to existing site info properties. Then we import the rows from the csv file which as the columns "DisplayName", "Property", and "Value" by default because that is the name of the properties returned by Get-VmsSiteInfo.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsSiteInfo/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsView</command:name> <command:verb>Set</command:verb> <command:noun>VmsView</command:noun> <maml:description> <maml:para>Sets properties of an existing XProtect Smart Client view.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Sets properties of an existing view.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsView</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies the view to be updated. It is recommended to use Get-VmsView to retrieve a value for this parameter.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View</command:parameterValue> <dev:type> <maml:name>View</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name of the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Shortcut</maml:name> <maml:description> <maml:para>Specifies a numeric shortcut for accessing the view in XProtect Smart Client using the keyboard shortcut "* [shortcut] ENTER".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>ViewItemDefinition</maml:name> <maml:description> <maml:para>Specifies an array of strings containing the ViewItemDefinitionXml content to place in the respective view item within the view. It is recommended to inspect existing views using Get-VmsView to determine the necessary XML schema for the view item definitions.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified view should be passed through to the pipeline or out to the terminal.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name of the view.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified view should be passed through to the pipeline or out to the terminal.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Shortcut</maml:name> <maml:description> <maml:para>Specifies a numeric shortcut for accessing the view in XProtect Smart Client using the keyboard shortcut "* [shortcut] ENTER".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>View</maml:name> <maml:description> <maml:para>Specifies the view to be updated. It is recommended to use Get-VmsView to retrieve a value for this parameter.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">View</command:parameterValue> <dev:type> <maml:name>View</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>ViewItemDefinition</maml:name> <maml:description> <maml:para>Specifies an array of strings containing the ViewItemDefinitionXml content to place in the respective view item within the view. It is recommended to inspect existing views using Get-VmsView to determine the necessary XML schema for the view item definitions.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.View</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula foreach ($view in Get-VmsView) { $updateView = $false foreach ($viewItem in $view.ViewItemChildItems) { $xml = [xml]$viewItem.ViewItemDefinitionXml if ($xml.viewitem.type -ne 'VideoOS.RemoteClient.Application.Data.ContentTypes.CameraContentType.CameraViewItem, VideoOS.RemoteClient.Application') { continue } $attribNode = $xml.viewitem.iteminfo.Attributes['imagequality'] if ($null -ne $attribNode -and $attribNode.Value -ne '100') { $attribNode.Value = '100' $updateView = $true } $propNode = $xml.viewitem.properties.property | Where-Object name -eq 'imagequality' if ($null -ne $propNode -and $propNode.Value -ne '100') { $propNode.Value = '100' $updateView = $true } $viewItem.ViewItemDefinitionXml = $xml.OuterXml } if ($updateView) { $view | Set-VmsView -ViewItemDefinition $view.ViewItemChildItems.ViewItemDefinitionXml -Verbose } }</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we enumerate through all views in all public view groups (and the current user's private view group) recursively. If any views are found with one or more view items with an image quality other than "Full", the quality is reset to 100 or "Full" and the view is updated.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsView/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsViewGroup</command:name> <command:verb>Set</command:verb> <command:noun>VmsViewGroup</command:noun> <maml:description> <maml:para>Sets properties of an existing XProtect Smart Client view group.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>This command is used to update the name or description of any top-level or child view group. Note that the description is currently only displayed in Management Client for top-level view groups. The descriptions of nested child view groups are not used by XProtect Smart Client.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsViewGroup</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>The view group to be updated. Typically retrieved using Get-VmsViewGroup.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified view group should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies a new description for the view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies a new name for the view group.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the modified view group should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroup</maml:name> <maml:description> <maml:para>The view group to be updated. Typically retrieved using Get-VmsViewGroup.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ViewGroup</command:parameterValue> <dev:type> <maml:name>ViewGroup</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Platform.ConfigurationItems.ViewGroup</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $viewGroup = New-VmsViewGroup -Name 'MilestonePSTools Example' -Force $viewGroup | Set-VmsViewGroup -Name 'Example 1' -PassThru $viewGroup | Remove-VmsViewGroup</dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we create a view group to test with. On the third line, the view group is renamed and thanks to the -PassThru switch, we see the updated view group properties in the terminal.</maml:para> <maml:para>Finally, we clean up by removing the newly created view group.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsViewGroup/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsViewGroupAcl</command:name> <command:verb>Set</command:verb> <command:noun>VmsViewGroupAcl</command:noun> <maml:description> <maml:para>Sets the security permissions for one or more XProtect Smart Client view groups.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The permissions for a role on a given view group can be retrieved using the `Get-VmsViewGroupAcl` command. After modifying the SecurityAttributes property of the VmsViewGroupAcl object (see examples), you can pass the ACL to this command to push the changes to the Management Server.</maml:para> <maml:para>"GENERIC_READ" enables the right to see the view group in the clients, Management Client, or through MIP integrations such as MilestonePSTools.</maml:para> <maml:para>"GENERIC_WRITE" enables the right to edit properties of view groups in Management Client, or through MIP integrations such as MilestonePSTools.</maml:para> <maml:para>"DELETE" enables the right to delete view groups in Management Client, or through MIP integrations such as MilestonePSTools.</maml:para> <maml:para>"OPERATE" enables the right to modify view groups in XProtect Smart Client such as to create and delete subgroups and views.</maml:para> <maml:para>Note: Permissions on private view groups can not be modified.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 21.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsViewGroupAcl</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroupAcl</maml:name> <maml:description> <maml:para>The modified object returned from calling Get-VmsViewGroupAcl.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">VmsViewGroupAcl[]</command:parameterValue> <dev:type> <maml:name>VmsViewGroupAcl[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none"> <maml:name>ViewGroupAcl</maml:name> <maml:description> <maml:para>The modified object returned from calling Get-VmsViewGroupAcl.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">VmsViewGroupAcl[]</command:parameterValue> <dev:type> <maml:name>VmsViewGroupAcl[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Connect-Vms -ShowDialog -AcceptEula $role = Get-VmsRole -Name 'MilestonePSTools' -ErrorAction Ignore if ($null -eq $role) { $role = New-VmsRole -Name 'MilestonePSTools' } $viewGroup = New-VmsViewGroup -Name 'MilestonePSTools' -Force $acl = $viewGroup | Get-VmsViewGroupAcl -Role $role foreach ($key in @($acl.SecurityAttributes.Keys)) { $acl.SecurityAttributes[$key] = 'True' } $acl | Set-VmsViewGroupAcl -Verbose <# OUTPUT VERBOSE: Performing the operation "Updating security permissions for role MilestonePSTools" on target "View group "MilestonePSTools"". VERBOSE: Performing the operation "Changing OPERATE from False to True" on target "View group "MilestonePSTools"". VERBOSE: Performing the operation "Changing GENERIC_READ from False to True" on target "View group "MilestonePSTools"". VERBOSE: Performing the operation "Changing DELETE from False to True" on target "View group "MilestonePSTools"". VERBOSE: Performing the operation "Changing GENERIC_WRITE from False to True" on target "View group "MilestonePSTools"". VERBOSE: Performing the operation "Saving security permission changes for role MilestonePSTools" on target "View group "MilestonePSTools"". #></dev:code> <dev:remarks> <maml:para>After ensuring there is an open connection to the Management Server, we retrieve a role named "MilestonePSTools" or create one if it doesn't exist. Then we create a new view group with the same name. If it already exists, no changes are made and we return the existing view group. Next, we get the ACL for the MilestonePSTools view group and the matching role, and ensure all security attributes are set to 'True' before updating the permissions for the view group on the Management Server.</maml:para> <maml:para>With verbose output, we can see each modification made, if any. If no changes need to be made, you will see only the "Updating securiy permissions..." message.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>$role = Get-VmsRole -Name 'MilestonePSTools' -ErrorAction Ignore if ($null -eq $role) { $role = New-VmsRole -Name 'MilestonePSTools' } foreach ($viewGroup in Get-VmsViewGroup) { if ($viewGroup.DisplayName -eq 'Private') { # We can not modify private view group permissions continue } $acl = $viewGroup | Get-VmsViewGroupAcl -Role $role $acl.SecurityAttributes.GENERIC_READ = 'True' $acl.SecurityAttributes.OPERATE = 'True' $acl.SecurityAttributes.GENERIC_WRITE = 'False' $acl.SecurityAttributes.DELETE = 'False' $acl | Set-VmsViewGroupAcl -Verbose }</dev:code> <dev:remarks> <maml:para>In this example we get, or create a role named "MilestonePSTools", and give the role permission to see and modify the contents of all view groups in XProtect Smart Client. At the same time, we ensure the role cannot rename or delete the top-level view group.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsViewGroupAcl/</maml:uri> </maml:navigationLink> <maml:navigationLink> <maml:linkText>View Group Permissions</maml:linkText> <maml:uri>https://doc.milestonesys.com/latest/en-us/standard_features/sf_mc/sf_ui/mc_roles_security.htm#ViewGrouptabroles</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-VmsWebhook</command:name> <command:verb>Set</command:verb> <command:noun>VmsWebhook</command:noun> <maml:description> <maml:para>Updates the settings of an existing webhook on a Milestone XProtect VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Set-VmsWebhook` cmdlet updates the specified properties of an existing webhook on a Milestone XProtect VMS.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.1</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-VmsWebhook</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the webhook to update with new settings. Wildcard characters in the name will not be evaluated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies a new web url for the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies a new display name for the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated webhook should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Token</maml:name> <maml:description> <maml:para>Specifies a new token value to use when signing HTTP messages from the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Set-VmsWebhook</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies a new web url for the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies a new display name for the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated webhook should be returned to the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Configuration API path for the webhook to be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Token</maml:name> <maml:description> <maml:para>Specifies a new token value to use when signing HTTP messages from the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies a new web url for the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue> <dev:type> <maml:name>Uri</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="DisplayName"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the webhook to update with new settings. Wildcard characters in the name will not be evaluated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>NewName</maml:name> <maml:description> <maml:para>Specifies a new display name for the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the updated webhook should be returned to the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Configuration API path for the webhook to be updated.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Token</maml:name> <maml:description> <maml:para>Specifies a new token value to use when signing HTTP messages from the matching webhook.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.Uri</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>MilestonePSTools.Webhook</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Supported on Milestone XProtect VMS versions 2023 R1 and later.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsWebhook -Name 'Test webhook' | Set-VmsWebhook -NewName 'My Test Webhook'</dev:code> <dev:remarks> <maml:para>Gets all webhooks named "Test webhook" and updates the name to "My Test Webhook"</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Import-Csv -Path ~\webhooks.csv | Set-VmsWebhook -ErrorAction SilentlyContinue -PassThru</dev:code> <dev:remarks> <maml:para>Imports webhook settings from a CSV file and updates any matching webhooks, returning the updated webhooks to the pipeline.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-VmsWebhook/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Set-XProtectCertificate</command:name> <command:verb>Set</command:verb> <command:noun>XProtectCertificate</command:noun> <maml:description> <maml:para>Sets the certificate to use for a given Milestone XProtect VMS service</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Sets the certificate to use for a given Milestone XProtect VMS service. Compatible Milestone components include XProtect Management Server, Recording Server, and Mobile Server.</maml:para> <maml:para>The Milestone Server Configurator CLI is used to apply the certificate, and CLI support was introduced in version 2020 R3. If you're running an older version of Milestone XProtect software, you must upgrade to at least version 2020 R3 to use this function.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> <maml:para>- Requires elevated privileges (run as Administrator)</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-XProtectCertificate</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Disable</maml:name> <maml:description> <maml:para>Specifies that encryption for the specified Milestone XProtect service should be disabled</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the Server Configurator process should be terminated if it's currently running</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ServerConfiguratorPath</maml:name> <maml:description> <maml:para>Specifies the path to the Milestone Server Configurator executable. The default location is C:\Program Files\Milestone\Server Configurator\ServerConfigurator.exe</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>C:\Program Files\Milestone\Server Configurator\ServerConfigurator.exe</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>VmsComponent</maml:name> <maml:description> <maml:para>Specifies the Milestone component on which to update the certificate - Server: Applies to communication between Management Server and Recording Server, as well as client connections to the HTTPS port for the Management Server.</maml:para> <maml:para>- StreamingMedia: Applies to all connections to Recording Servers.</maml:para> <maml:para>Typically on port 7563. - MobileServer: Applies to HTTPS connections to the Milestone Mobile Server.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Server</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">StreamingMedia</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">MobileServer</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">EventServer</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Set-XProtectCertificate</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the Server Configurator process should be terminated if it's currently running</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveOldCert</maml:name> <maml:description> <maml:para>Specifies that all certificates issued to</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ServerConfiguratorPath</maml:name> <maml:description> <maml:para>Specifies the path to the Milestone Server Configurator executable. The default location is C:\Program Files\Milestone\Server Configurator\ServerConfigurator.exe</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>C:\Program Files\Milestone\Server Configurator\ServerConfigurator.exe</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Thumbprint</maml:name> <maml:description> <maml:para>Specifies the thumbprint of the certificate to apply to Milestone XProtect service</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UserName</maml:name> <maml:description> <maml:para>Specifies the Windows user account for which read access to the private key is required</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>VmsComponent</maml:name> <maml:description> <maml:para>Specifies the Milestone component on which to update the certificate - Server: Applies to communication between Management Server and Recording Server, as well as client connections to the HTTPS port for the Management Server.</maml:para> <maml:para>- StreamingMedia: Applies to all connections to Recording Servers.</maml:para> <maml:para>Typically on port 7563. - MobileServer: Applies to HTTPS connections to the Milestone Mobile Server.</maml:para> </maml:description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Server</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">StreamingMedia</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">MobileServer</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">EventServer</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Disable</maml:name> <maml:description> <maml:para>Specifies that encryption for the specified Milestone XProtect service should be disabled</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Force</maml:name> <maml:description> <maml:para>Specifies that the Server Configurator process should be terminated if it's currently running</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>RemoveOldCert</maml:name> <maml:description> <maml:para>Specifies that all certificates issued to</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ServerConfiguratorPath</maml:name> <maml:description> <maml:para>Specifies the path to the Milestone Server Configurator executable. The default location is C:\Program Files\Milestone\Server Configurator\ServerConfigurator.exe</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>C:\Program Files\Milestone\Server Configurator\ServerConfigurator.exe</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"> <maml:name>Thumbprint</maml:name> <maml:description> <maml:para>Specifies the thumbprint of the certificate to apply to Milestone XProtect service</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UserName</maml:name> <maml:description> <maml:para>Specifies the Windows user account for which read access to the private key is required</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>VmsComponent</maml:name> <maml:description> <maml:para>Specifies the Milestone component on which to update the certificate - Server: Applies to communication between Management Server and Recording Server, as well as client connections to the HTTPS port for the Management Server.</maml:para> <maml:para>- StreamingMedia: Applies to all connections to Recording Servers.</maml:para> <maml:para>Typically on port 7563. - MobileServer: Applies to HTTPS connections to the Milestone Mobile Server.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf"> <maml:name>Confirm</maml:name> <maml:description> <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi"> <maml:name>WhatIf</maml:name> <maml:description> <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para>Use the Verbose switch to see the command-line arguments provided to the Server Configurator utility.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Set-XProtectCertificate -VmsComponent MobileServer -Thumbprint $thumbprint -RemoveOldCert -Force</dev:code> <dev:remarks> <maml:para>Sets the Milestone Mobile Server to use the certificate with thumbprint matching the string in the $thumbprint variable and if successfull, it removes any other certificates with a matching subject name from the Cert:\LocalMachine\My certificate store. Since the Force switch is provided, the Server Configurator will be closed if it's currently open.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Set-XProtectCertificate -VmsComponent MobileServer -Disable -Force</dev:code> <dev:remarks> <maml:para>Kills the Server Configurator process if it's currently running, then disables encryption for the Milestone Mobile Server.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Set-XProtectCertificate/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Split-VmsConfigItemPath</command:name> <command:verb>Split</command:verb> <command:noun>VmsConfigItemPath</command:noun> <maml:description> <maml:para>Returns the specified part of the Milestone Configuration API path.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Split-VmsConfigItemPath` cmdlet returns the specified part of the provided Milestone Configuration API path. These paths usually look like "Hardware[7abcfcdc-7d6f-4a1a-b7a3-f77607806169]" or "CameraGroup[81258601-71ef-41e7-bd59-41946e16fc5a]/CameraGroupFolder" where "Hardware" and "CameraGroupFolder" are the ItemType values, and in the case of the second example, "CameraGroup" is the ParentItemType.</maml:para> <maml:para>REQUIREMENTS - None specified</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Split-VmsConfigItemPath</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone XProtect Configuration API path from which the specified part should be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies that the value returned from the configuration item path should be the Id, if present.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Split-VmsConfigItemPath</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone XProtect Configuration API path from which the specified part should be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies that the value returned from the configuration item path should be the ItemType.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Split-VmsConfigItemPath</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone XProtect Configuration API path from which the specified part should be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ParentItemType</maml:name> <maml:description> <maml:para>Specifies that the value returned from the configuration item path should be the ParentItemType, if present. This applies typically only to "Folder" items as the ParentItemType isn't described in the configuration item path for a normal "item".</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Id</maml:name> <maml:description> <maml:para>Specifies that the value returned from the configuration item path should be the Id, if present.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ItemType</maml:name> <maml:description> <maml:para>Specifies that the value returned from the configuration item path should be the ItemType.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ParentItemType</maml:name> <maml:description> <maml:para>Specifies that the value returned from the configuration item path should be the ParentItemType, if present. This applies typically only to "Folder" items as the ParentItemType isn't described in the configuration item path for a normal "item".</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Milestone XProtect Configuration API path from which the specified part should be returned.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsHardware | Get-Random | Split-VmsConfigItemPath</dev:code> <dev:remarks> <maml:para>Returns the Id of a given Hardware device based on the `Path` property of the hardware object.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Get-VmsHardware | Get-Random | Split-VmsConfigItemPath -ItemType</dev:code> <dev:remarks> <maml:para>Returns the ItemType value "Hardware".</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Split-VmsConfigItemPath/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Split-VmsDeviceGroupPath</command:name> <command:verb>Split</command:verb> <command:noun>VmsDeviceGroupPath</command:noun> <maml:description> <maml:para>Splits a "unix-style" device group path into an array of strings representing each node in the hierarchy.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Splits a "unix-style" device group path into an array of strings representing each node in the hierarchy.</maml:para> <maml:para>The *VmsDeviceGroup cmdlets implement their own method of describing a Milestone device group hierarchy which simplifies automation. The Split-VmsDeviceGroupPath and Resolve-VmsDeviceGroupPath cmdlets are provided as utility functions for performing operations on device groups to determine their "path" or to split a path up to perform your own operations as needed.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Split-VmsDeviceGroupPath</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a full unix-style path to the desired device group. See the examples for reference.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies a full unix-style path to the desired device group. See the examples for reference.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.String[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Split-VmsDeviceGroupPath -Path "/Level 1/Level 2/Level 3"</dev:code> <dev:remarks> <maml:para>Splits the specified path into the parts "Level 1", "Level 2", and "Level 3"</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>Split-VmsDeviceGroupPath -Path '/Group/Subgroup1`/Childgroup/Subgroup2'</dev:code> <dev:remarks> <maml:para>Splits the specified path into the parts "Group", "Subgroup1/Childgroup", and "Subgroup2". Note the use of the "backtick" symbol as an escape character for the forward-slash between "Subgroup1" and "Childgroup". If a device group needs to have a forward-slash symbol in the name, it needs to be escaped in PowerShell so that the VmsDeviceGroup cmdlets understand that it isn't supposed to be a path separator.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Split-VmsDeviceGroupPath/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Start-VmsHardwareScan</command:name> <command:verb>Start</command:verb> <command:noun>VmsHardwareScan</command:noun> <maml:description> <maml:para>Starts either an express, or a manual hardware scan on one or more recording servers</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The hardware scan process allows you to discover cameras using the "Express" parameter, or check specific camera IPs or ranges to see if any cameras matching one or more drivers/credentials are found. The resulting VmsHardwareScanResult object contains all the information needed for Add-VmsHardware to add the camera to the recording server.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Start-VmsHardwareScan</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies the IP or HTTP/HTTPS URI to scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri[]</command:parameterValue> <dev:type> <maml:name>Uri[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@()</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Cidr</maml:name> <maml:description> <maml:para>Specifies a range of IPv4 or IPv6 addresses to scan in CIDR notation. Example: 192.168.1.0/24 for 192.168.1.1 - 192.168.1.254.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies the credential to use when scanning for cameras.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential[]</command:parameterValue> <dev:type> <maml:name>PSCredential[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DriverFamily</maml:name> <maml:description> <maml:para>Specifies a device driver group name or "family" such as "Axis", "Bosch" or "Milestone". All applicable device driver ID's will be discovered automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DriverNumber</maml:name> <maml:description> <maml:para>Specifies one or more Milestone device drivers to scan for. It's recommended to always provide at least one driver and the fewer the better/faster the scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32[]</command:parameterValue> <dev:type> <maml:name>Int32[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@()</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>End</maml:name> <maml:description> <maml:para>Specifies the end of an IPv4 or IPv6 range to scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IPAddress</command:parameterValue> <dev:type> <maml:name>IPAddress</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HttpPort</maml:name> <maml:description> <maml:para>Specifies an alternate HTTP/HTTPS port to use in case you don't use the defaults of 80/443.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>80</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the Milestone "Tasks" should be returned to the pipeline immediately instead of the default behavior of waiting for all scan operations to complete and returning a VmsHardwareScanResult object.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server objects on which to run hardware scans. Scans on multiple recorders can be run in parallel.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Start</maml:name> <maml:description> <maml:para>Specifies the start of an IPv4 or IPv6 range to scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IPAddress</command:parameterValue> <dev:type> <maml:name>IPAddress</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseDefaultCredentials</maml:name> <maml:description> <maml:para>Specifies to use the driver default credentials if applicable.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseHttps</maml:name> <maml:description> <maml:para>Specifies that a secure HTTPS connection should be made to cameras during the scan instead of an HTTP connection. If you provide a full uri like https://192.168.1.1 in the Address parameter, then this property is redundant. However if you choose to perform a range scan, this is how you would specify which HTTP scheme to use during the scan.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Start-VmsHardwareScan</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies the credential to use when scanning for cameras.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential[]</command:parameterValue> <dev:type> <maml:name>PSCredential[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Express</maml:name> <maml:description> <maml:para>Specifies that the Express hardware scan option should be used. This can be considerably faster than a range scan, but it can also fail to discover cameras under certian network conditions.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the Milestone "Tasks" should be returned to the pipeline immediately instead of the default behavior of waiting for all scan operations to complete and returning a VmsHardwareScanResult object.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server objects on which to run hardware scans. Scans on multiple recorders can be run in parallel.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseDefaultCredentials</maml:name> <maml:description> <maml:para>Specifies to use the driver default credentials if applicable.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseHttps</maml:name> <maml:description> <maml:para>Specifies that a secure HTTPS connection should be made to cameras during the scan instead of an HTTP connection. If you provide a full uri like https://192.168.1.1 in the Address parameter, then this property is redundant. However if you choose to perform a range scan, this is how you would specify which HTTP scheme to use during the scan.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Address</maml:name> <maml:description> <maml:para>Specifies the IP or HTTP/HTTPS URI to scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Uri[]</command:parameterValue> <dev:type> <maml:name>Uri[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@()</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Cidr</maml:name> <maml:description> <maml:para>Specifies a range of IPv4 or IPv6 addresses to scan in CIDR notation. Example: 192.168.1.0/24 for 192.168.1.1 - 192.168.1.254.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Credential</maml:name> <maml:description> <maml:para>Specifies the credential to use when scanning for cameras.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">PSCredential[]</command:parameterValue> <dev:type> <maml:name>PSCredential[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DriverFamily</maml:name> <maml:description> <maml:para>Specifies a device driver group name or "family" such as "Axis", "Bosch" or "Milestone". All applicable device driver ID's will be discovered automatically.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DriverNumber</maml:name> <maml:description> <maml:para>Specifies one or more Milestone device drivers to scan for. It's recommended to always provide at least one driver and the fewer the better/faster the scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32[]</command:parameterValue> <dev:type> <maml:name>Int32[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>@()</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>End</maml:name> <maml:description> <maml:para>Specifies the end of an IPv4 or IPv6 range to scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IPAddress</command:parameterValue> <dev:type> <maml:name>IPAddress</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Express</maml:name> <maml:description> <maml:para>Specifies that the Express hardware scan option should be used. This can be considerably faster than a range scan, but it can also fail to discover cameras under certian network conditions.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HttpPort</maml:name> <maml:description> <maml:para>Specifies an alternate HTTP/HTTPS port to use in case you don't use the defaults of 80/443.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>80</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>Specifies that the Milestone "Tasks" should be returned to the pipeline immediately instead of the default behavior of waiting for all scan operations to complete and returning a VmsHardwareScanResult object.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>RecordingServer</maml:name> <maml:description> <maml:para>Specifies one or more Recording Server objects on which to run hardware scans. Scans on multiple recorders can be run in parallel.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">RecordingServer[]</command:parameterValue> <dev:type> <maml:name>RecordingServer[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Start</maml:name> <maml:description> <maml:para>Specifies the start of an IPv4 or IPv6 range to scan.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">IPAddress</command:parameterValue> <dev:type> <maml:name>IPAddress</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseDefaultCredentials</maml:name> <maml:description> <maml:para>Specifies to use the driver default credentials if applicable.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>UseHttps</maml:name> <maml:description> <maml:para>Specifies that a secure HTTPS connection should be made to cameras during the scan instead of an HTTP connection. If you provide a full uri like https://192.168.1.1 in the Address parameter, then this property is redundant. However if you choose to perform a range scan, this is how you would specify which HTTP scheme to use during the scan.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VmsHardwareScanResult</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Get-VmsRecordingServer | Out-GridView -OutputMode Single | Start-VmsHardwareScan -Express</dev:code> <dev:remarks> <maml:para>Prompts the user to select one Recording Server from a list, and then initiates an express hardware scan from that Recording Server. The results when displayed in a PowerShell terminal will appear as follows. Note that there are additional properties available that are not displayed by the default formatter.</maml:para> <maml:para>HardwareAddress UserName MacAddress Validated ExistsLocally ExistsGlobally RecordingServer --------------- -------- ---------- --------- ------------- -------------- --------------- http://192.168.1.1/ admin 123456789123 True True False TestServer http://192.168.1.2/ admin 123456789124 True False False TestServer http://192.168.1.3/ admin 123456789125 False False False TestServer</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>$recorder | Start-VmsHardwareScan -Start 192.168.1.1 -End 192.168.1.10 -DriverFamily Axis -Credential (Get-Credential), (Get-Credential) -UseDefaultCredentials</dev:code> <dev:remarks> <maml:para>Prompts the user for two sets of credentials to try against a range of 10 cameras on the recording server in the $recorder variable. All drivers under the Axis group name will be tried. A result for each address scanned will be returned to the pipeline even if no camera was found. The results will look similar to Example #1 for cameras that are found, while the entries for unresponsive IP addresses will look like the following table.</maml:para> <maml:para>HardwareAddress UserName MacAddress Validated ExistsLocally ExistsGlobally RecordingServer --------------- -------- ---------- --------- ------------- -------------- --------------- False False False TestServer False False False TestServer False False False TestServer</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title> <dev:code>$recorder | Start-VmsHardwareScan -Cidr 192.168.1.0/30 -DriverNumber 707 -UseDefaultCredentials</dev:code> <dev:remarks> <maml:para>A range of 4 IP addresses is defined using CIDR notation and the default driver credentials for the "Infinova G/T/H PTZ Series" driver will be used against each IP. The first and last IP of the CIDR range will be skipped since those represent the network address and broadcast address for the subnet.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Start-VmsHardwareScan/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Start-VmsRestrictedLiveMode</command:name> <command:verb>Start</command:verb> <command:noun>VmsRestrictedLiveMode</command:noun> <maml:description> <maml:para>Starts a new live media restriction for one or more devices.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Start-VmsRestrictedLiveMode` cmdlet starts a new live media restriction for one or more devices.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> <maml:para>- Requires VMS feature "RestrictedMedia"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Start-VmsRestrictedLiveMode</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices for which to create a live media restriction. By default, related devices are automatically included.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the time at which the restriction should begin. For example, if an incident occurred 30 minutes ago, you might set `StartTime` to a timestamp 5-10 minutes earlier than that.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IgnoreRelatedDevices</maml:name> <maml:description> <maml:para>Specifies that the restrictions should apply only on the devices specified and not on related devices (microphones, speakers, and metadata).</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices for which to create a live media restriction. By default, related devices are automatically included.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>IgnoreRelatedDevices</maml:name> <maml:description> <maml:para>Specifies that the restrictions should apply only on the devices specified and not on related devices (microphones, speakers, and metadata).</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the time at which the restriction should begin. For example, if an incident occurred 30 minutes ago, you might set `StartTime` to a timestamp 5-10 minutes earlier than that.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.Guid[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMediaLive</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>$cameras = Select-Camera -AllowFolders -AllowServers -RemoveDuplicates $cameras | Start-VmsRestrictedLiveMode -StartTime (Get-Date).AddMinutes(-30)</dev:code> <dev:remarks> <maml:para>This example prompts the user to select one or more cameras, and then creates a live media restriction on all selected cameras with a `StartTime` of one half hour ago.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Start-VmsRestrictedLiveMode/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Stop-VmsRestrictedLiveMode</command:name> <command:verb>Stop</command:verb> <command:noun>VmsRestrictedLiveMode</command:noun> <maml:description> <maml:para>Stops one or more live media restrictions and converts them into a media playback restriction.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Stop-VmsRestrictedLiveMode` cmdlet stops one or more live media restrictions and converts them into a media playback restriction.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> <maml:para>- Requires VMS version 23.2</maml:para> <maml:para>- Requires VMS feature "RestrictedMedia"</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Stop-VmsRestrictedLiveMode</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices with live media restrictions to include in a new playback media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the start of the period for which the new media playback restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the end of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Header</maml:name> <maml:description> <maml:para>Specifies the title of the new media playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the video playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none"> <maml:name>Description</maml:name> <maml:description> <maml:para>Specifies an optional description for the video playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="Id"> <maml:name>DeviceId</maml:name> <maml:description> <maml:para>Specifies one or more devices with live media restrictions to include in a new playback media restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Guid[]</command:parameterValue> <dev:type> <maml:name>Guid[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none"> <maml:name>EndTime</maml:name> <maml:description> <maml:para>Specifies the end of the period for which the media restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none"> <maml:name>Header</maml:name> <maml:description> <maml:para>Specifies the title of the new media playback restriction.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>StartTime</maml:name> <maml:description> <maml:para>Specifies the start of the period for which the new media playback restriction should apply.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue> <dev:type> <maml:name>DateTime</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.Guid[]</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>System.DateTime</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>VideoOS.Common.Proxy.Server.WCF.RestrictedMedia</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Get-VmsRestrictedMedia -Live | Stop-VmsRestrictedLiveMode -Header 'Accident' -EndTime (Get-Date)</dev:code> <dev:remarks> <maml:para>In this example, all current live media restrictions are combined into one media playback restriction. The result is that there will no longer be any live media restrictions, and there will be a new playback restriction with the header "Accident" with an end time of "now" and the start time will automatically be set to the `StartTime` value of the last live media restriction returned by `Get-VmsRestrictedMedia -Live`.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Stop-VmsRestrictedLiveMode/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Test-VmsConnection</command:name> <command:verb>Test</command:verb> <command:noun>VmsConnection</command:noun> <maml:description> <maml:para>Tests whether there is an active connection to a Milestone XProtect VMS in the current PowerShell session.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Test-VmsConnection` cmdlet tests whether there is an active connection to a Milestone XProtect VMS in the current PowerShell session. If `Connect-Vms` or `Connect-ManagementServer` has been used to successfully login to a Milestone XProtect VMS in the current PowerShell session, the command returns `$true`.</maml:para> <maml:para>REQUIREMENTS - Does not require a VMS connection</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Test-VmsConnection</maml:name> </command:syntaxItem> </command:syntax> <command:parameters /> <command:inputTypes> <command:inputType> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>if (Test-VmsConnection) { Disconnect-Vms Connect-Vms -ShowDialog }</dev:code> <dev:remarks> <maml:para>If currently logged in to a VMS, logout, and then present a login dialog. Since `Connect-Vms` is used with `-ShowDialog`, and not `-Name 'MyVmsProfileName'`, a named connection profile will not be created and saved to disk for this connection.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Test-VmsConnection/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Test-VmsLicensedFeature</command:name> <command:verb>Test</command:verb> <command:noun>VmsLicensedFeature</command:noun> <maml:description> <maml:para>Tests whether the provided feature name is available on the connected Milestone XProtect VMS.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>The `Test-VmsLicensedFeature` cmdlet tests whether the provided feature name is available on the connected Milestone XProtect VMS. The feature names available on the current site can be returned using `(Get-VmsSystemLicense).FeatureFlags` or by using the MIP SDK components directly with `[MilestonePSTools.Connection.MilestoneConnection]::Instance.SystemLicense.FeatureFlags`.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Test-VmsLicensedFeature</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the licensed feature to test. There is no public document listing all possible feature names, and the list grows over time. You can see which features are available on your VMS using `(Get-VmsSystemLicense).FeatureFlags`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>Name</maml:name> <maml:description> <maml:para>Specifies the name of the licensed feature to test. There is no public document listing all possible feature names, and the list grows over time. You can see which features are available on your VMS using `(Get-VmsSystemLicense).FeatureFlags`.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Boolean</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>The MIP SDK documentation doesn't yet clarify how the underlying `VideoOS.Platform.License.SystemLicense` class works in a Milestone Federated Hierarchy. The current assumption is that this cmdlet will provide information about the parent site and not detailed information about which features are available when logged directly into child sites.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>Test-VmsLicensedFeature -Name 'SmartMap'</dev:code> <dev:remarks> <maml:para>Returns `$true` if the Smart Maps feature is available.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>if ($false -in ('EdgeStorage', 'AdaptiveStreaming' | Test-VmsLicensedFeature)) { Write-Error "One or more required features are unavailable on site $(Get-VmsSite)" }</dev:code> <dev:remarks> <maml:para>If either the "EdgeStorage" or "AdaptiveStreaming" feature are missing on the current site, an error is returned.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Test-VmsLicensedFeature/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Wait-VmsTask</command:name> <command:verb>Wait</command:verb> <command:noun>VmsTask</command:noun> <maml:description> <maml:para>Polls a Milestone XProtect Task item until the task completes.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Some long running operations like hardware scans and adding hardware return a "Task" item which provides status and progress information, and when the status of the task reaches either Error or Success, the properties of the task will contain useful information about a new item or other data depending on the operation. Or if there was an error, the ErrorCode and ErrorText properties will be filled in.</maml:para> <maml:para>Wait-VmsTask provides you with a way to monitor one or more tasks simultaneously, and block until all tasks have completed. If $ProgressPreference is set to Continue (default) then you will also get a progress bar showing a rough % complete and estimated remaining time value.</maml:para> <maml:para>REQUIREMENTS - Requires VMS connection and will attempt to connect automatically</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Wait-VmsTask</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Task path in Milestone's Configuration API format. Example: `Task[100]`.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Task</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Title</maml:name> <maml:description> <maml:para>Specifies the activity name to display in the progress bar. The default is "Waiting for VMS Task(s) to complete".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Cleanup</maml:name> <maml:description> <maml:para>Specifies whether the "TaskCleanup" method should be called on each task as it completes.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Cleanup</maml:name> <maml:description> <maml:para>Specifies whether the "TaskCleanup" method should be called on each task as it completes.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none"> <maml:name>Path</maml:name> <maml:description> <maml:para>Specifies the Task path in Milestone's Configuration API format. Example: `Task[100]`.</maml:para> <maml:para>REQUIREMENTS - Allowed item types: Task</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none"> <maml:name>Title</maml:name> <maml:description> <maml:para>Specifies the activity name to display in the progress bar. The default is "Waiting for VMS Task(s) to complete".</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes /> <command:returnValues /> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Wait-VmsTask -Path ($recorder | Start-VmsHardwareScan -Express -PassThru).Path -Cleanup</dev:code> <dev:remarks> <maml:para>Starts an "express" hardware scan on the Recording Server specified in the $recorder variable. The Start-VmsHardwareScan normally calls Wait-VmsTask for you, but with the PassThru parameter the scan will be started and the task returned to you. We then pass all the paths into the Path parameter on Wait-VmsTask and when the tasks complete, they will be cleaned up and returned to the pipeline for the next step.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Online Version:</maml:linkText> <maml:uri>https://www.milestonepstools.com/commands/en-US/Wait-VmsTask/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> </helpItems> |