-
Notifications
You must be signed in to change notification settings - Fork 1
Description
This is a minor issue, but the MIP integration id is an identifier used when a MIP integration connects to a Management Server. It is intended to be a unique ID associated with an XProtect integration and is used by Milestone for telemetry on use of integrations.
If I recall correctly, the Management Server takes note of the integration name, id, and version when a connection is made from another application. I think the name, version, and frequency of use is included when performing an online/offline license activation.
In MilestonePSTools, the module GUID is used for the IntegrationId and the property can be accessed using [MilestonePSTools.Connection.MilestoneConnection]::Instance.IntegrationId, but that property is set by the Connect-ManagementServer command when it creates an instance of MilestoneConnection...
var connection = new MilestoneConnection(loginSettings)
{
IncludeChildSites = IncludeChildSites,
IntegrationId = MyInvocation.MyCommand.Module.Guid,
IntegrationName = MyInvocation.MyCommand.Module.Name,
IntegrationVersion = MyInvocation.MyCommand.Module.Version.ToString(),
ManufacturerName = MyInvocation.MyCommand.Module.CompanyName,
SecureOnly = SecureOnly
};The IntegrationId property is only set when using Connect-ManagementServer -ShowDialog though. We aren't setting the property in other scenarios like using Connect-ManagementServer -ServerAddress or, for some reason, Connect-Vms -ShowDialog (I guess MyInvocation.MyCommand.Module.Guid is Guid.Empty when being invoked from outside the C# module?).
Ideally the module ID would always be used when connecting to a management server. Since the module ID should never change, I wonder if we should make it simple and just use a constant rather than worrying about setting the IntegrationId property from outside of the MilestoneConnection class...