Name update of interconnect cameras

Our XProtect Corporate server is linked to another site to import cameras using Interconnect. We found that if the camera description of the remote site changed, our site failed to update accordingly. Therefore I want to write a Powershell script to automate this. However, the problem is, how do I relate the camera appearing at our site to the one at the remote site? I thought their hardware IDs would be the same, but unfortunately this is not the case. I recalled that whenever I clicked “update hardware” on the remote server, the system was able to check which camera was updated. There should be some mechanism behind to correlate the cameras from the remote site to ours. Is it possible to simulate this trick in the Powershell?

Hi @Wai-chung Poon (Hong Kong Police)​,

I had a look at this today and found that each “interconnect” device has a read-only general setting property named “DeviceID” which matches the ID of the device on the remote site. This can be used to match the parent device to the child device.

I wrote an example Sync-InterconnectHardware function on GitHub for reference. It is designed to…

  1. Identify all Interconnect hardware on the current site (specifically only devices using the “Milestone XProtect VMS Interconnect” driver)
  2. Retrieve the specified properties from each device under the hardware. By default, only the description is selected, but all read/write properties can be specified.
  3. In a background job, a connection is made to each child site directly using MilestonePSTools and if the sync direction is “Up”, then any device with a property that is different on the child than on the parent will be updated on the parent site. If the direction is “Down” then any value that is different will result in a change on the child site instead.

It has only been tested on my local machine, so if you use it, please ensure that you test on a lab system.

Thanks for your effort! I will definitely give it a try.