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...
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 theConnect-ManagementServercommand when it creates an instance ofMilestoneConnection...The
IntegrationIdproperty is only set when usingConnect-ManagementServer -ShowDialogthough. We aren't setting the property in other scenarios like usingConnect-ManagementServer -ServerAddressor, for some reason,Connect-Vms -ShowDialog(I guessMyInvocation.MyCommand.Module.GuidisGuid.Emptywhen 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
IntegrationIdproperty from outside of theMilestoneConnectionclass...