/// <summary> /// 安装MP /// </summary> /// <param name="path"> /// The path. /// </param> public void InstallMp(string path) { var newMp = new ManagementPack(path); var criteria = new ManagementPackCriteria($"Name = '{newMp.Name}'"); var oldMp = this.ManagementPacks.GetManagementPacks(criteria).FirstOrDefault(); if (oldMp != null) { // 已安装则跳过 HWLogger.Install.Warn($"Skip install:{oldMp.Name}-{oldMp.Version} has Installed."); //// 已安装 // if (oldMp.Version != newMp.Version) // { // // 版本不一致则先进行卸载 // this.UnInstallMp(oldMp.Name); // this.ManagementPacks.ImportManagementPack(newMp); // Console.WriteLine($"Install {newMp.Name} Finish."); // } // else // { // HwLogger.Install.Warn($"Skip install:{newMp.Name}-{newMp.Version} has Installed."); // } } else { this.ManagementPacks.ImportManagementPack(newMp); HWLogger.Install.Warn($"Install {newMp.Name} Finish."); } }
//--------------------------------------------------------------------- private void MPBrowserDialog_Load(object sender, EventArgs e) { ReadOnlyCollection <ManagementPack> managementPacks; ManagementPackCriteria criteria = new ManagementPackCriteria("Sealed=0"); try { managementPacks = m_managementGroup.GetManagementPacks(criteria); } catch (Microsoft.EnterpriseManagement.Common.ServerDisconnectedException) { m_managementGroup.Reconnect(); managementPacks = m_managementGroup.GetManagementPacks(criteria); } lstManagementPacks.BeginUpdate(); foreach (ManagementPack mp in managementPacks) { ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = Common.GetBestManagementPackName(mp); listViewItem.Tag = mp; listViewItem.SubItems.Add(mp.Version.ToString()); lstManagementPacks.Items.Add(listViewItem); lstManagementPacks.Sort(); } lstManagementPacks.EndUpdate(); }
/// <summary> /// Installs the MPB. /// </summary> /// <param name="path">The path.</param> public void InstallMpb(string path) { var mpStore = new ManagementPackFileStore(); mpStore.AddDirectory(Path.GetDirectoryName(path)); var reader = ManagementPackBundleFactory.CreateBundleReader(); var bundle = reader.Read(path, mpStore); var newMp = bundle.ManagementPacks.FirstOrDefault(); if (newMp == null) { HWLogger.Install.Warn($"Install faild. can not find ManagementPack in the path :{path}"); return; } var criteria = new ManagementPackCriteria($"Name = '{newMp.Name}'"); var oldMp = this.ManagementPacks.GetManagementPacks(criteria).FirstOrDefault(); if (oldMp != null) { HWLogger.Install.Warn($"Skip install:{oldMp.Name}-{oldMp.Version} has Installed."); } else { this.ManagementPacks.ImportBundle(bundle); HWLogger.Install.Warn($"Install {newMp.Name} Finish."); } }
//--------------------------------------------------------------------- private void MPBrowserDialog_Load(object sender, EventArgs e) { ReadOnlyCollection<ManagementPack> managementPacks; ManagementPackCriteria criteria = new ManagementPackCriteria("Sealed=0"); try { managementPacks = m_managementGroup.GetManagementPacks(criteria); } catch (Microsoft.EnterpriseManagement.Common.ServerDisconnectedException) { m_managementGroup.Reconnect(); managementPacks = m_managementGroup.GetManagementPacks(criteria); } lstManagementPacks.BeginUpdate(); foreach (ManagementPack mp in managementPacks) { ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = Common.GetBestManagementPackName(mp); listViewItem.Tag = mp; listViewItem.SubItems.Add(mp.Version.ToString()); lstManagementPacks.Items.Add(listViewItem); lstManagementPacks.Sort(); } lstManagementPacks.EndUpdate(); }
public override bool SavePageConfig() { if (!DestinationManagementPack.References.ContainsKey("Windows")) { ManagementPackCriteria mpCriteria = new ManagementPackCriteria("Name='Microsoft.Windows.Library'"); IList <ManagementPack> managementPacks = ManagementGroup.ManagementPacks.GetManagementPacks(mpCriteria); DestinationManagementPack.References.Add("Windows", managementPacks[0]); mpCriteria = null; } if (!DestinationManagementPack.References.ContainsKey("Health")) { ManagementPackCriteria mpCriteria = new ManagementPackCriteria("Name='System.Health.Library'"); IList <ManagementPack> managementPacks = ManagementGroup.ManagementPacks.GetManagementPacks(mpCriteria); DestinationManagementPack.References.Add("Health", managementPacks[0]); mpCriteria = null; } if (!DestinationManagementPack.References.ContainsKey("SCDW")) { ManagementPackCriteria mpCriteria = new ManagementPackCriteria("Name='Microsoft.SystemCenter.DataWarehouse.Library'"); IList <ManagementPack> managementPacks = ManagementGroup.ManagementPacks.GetManagementPacks(mpCriteria); DestinationManagementPack.References.Add("SCDW", managementPacks[0]); mpCriteria = null; } return(base.SavePageConfig()); }
/// <summary> /// Uninstalls the mp. /// </summary> /// <param name="name"> /// The name. /// </param> public void UnInstallMp(string name) { var criteria = new ManagementPackCriteria($"Name = '{name}'"); var mp = this.ManagementPacks.GetManagementPacks(criteria).FirstOrDefault(); if (mp != null) { this.ManagementPacks.UninstallManagementPack(mp); } }
/// <summary> /// Initializes a new instance of the <see cref="ConfigurationPackConnector"/> class. /// Connects to the provided management server or URI /// </summary> public ConfigurationPackConnector() { Log.WriteTrace( EventType.UIActivity, "Connecting to configuration override Management Pack"); try { ManagementGroup managementGroupConnection = ManagementGroupConnector.CurrentManagementGroup; ManagementPackCriteria packCriteria = new ManagementPackCriteria("Name = 'Community.ManagementPackCatalog.Configuration'"); var packResults = managementGroupConnection.ManagementPacks.GetManagementPacks(packCriteria); if (packResults.Count == 1) { // Good news, we should only see one configurationOverridePack = packResults[0]; } else if (packResults.Count == 0) { // install the shell unsealed pack try { DialogResult installPack = System.Windows.Forms.MessageBox.Show( "A small unsealed MP is required to configure the alerting, can we create it now?" + Environment.NewLine + "Community.ManagementPackCatalog.Configuration will be created for alert configuration overrides." , "Create Override Pack?" , System.Windows.Forms.MessageBoxButtons.YesNo , System.Windows.Forms.MessageBoxIcon.Information); if (installPack == DialogResult.Yes) { InstallConfigurationPack(); } else { throw new Exception("The Settings pane cannot be used without the unsealed Configuration management pack."); } } catch (Exception ex) { Log.WriteError( EventType.UIActivity, "Unable to install management pack.", ex.Message); } } } catch (Exception ex) { Log.WriteError( EventType.ExternalDependency, "Unable to connect to Management Group and Get Override Pack", ex.Message); } }
public static ManagementPack GetManagementPackByName(string strManagementPackName, EnterpriseManagementGroup emg) { ManagementPack mpToReturn = null; ManagementPackCriteria mpc = new ManagementPackCriteria(String.Format("Name = '{0}'", strManagementPackName)); foreach (ManagementPack mp in emg.ManagementPacks.GetManagementPacks(mpc)) { mpToReturn = mp; } return(mpToReturn); }
public static ManagementPack GetManagementPackByName(string strName, EnterpriseManagementGroup emg) { ManagementPackCriteria mpc = new ManagementPackCriteria(String.Format("Name = '{0}'", strName)); IList <ManagementPack> ListManagementPacks = emg.ManagementPacks.GetManagementPacks(mpc); if (ListManagementPacks.Count > 0) { return(ListManagementPacks[0]); } else { return(null); } }
/// <summary> /// Uninstalls the mp. /// </summary> /// <param name="name"> /// The name. /// </param> public void UnInstallMp(string name) { var criteria = new ManagementPackCriteria($"Name = '{name}'"); var mp = this.ManagementPacks.GetManagementPacks(criteria).FirstOrDefault(); if (mp == null) { Console.WriteLine($"ManagementPack {name} is not installed."); } else { this.ManagementPacks.UninstallManagementPack(mp); Console.WriteLine($"Uninstall {name} Finish."); } }
/// <summary> /// The get management pack. /// </summary> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="ManagementPack"/>. /// </returns> public ManagementPack GetManagementPack(string name) { var criteria = new ManagementPackCriteria($"Name = '{name}'"); return(this.ManagementPacks.GetManagementPacks(criteria).FirstOrDefault()); }
/// <summary> /// 检查MP文件是否已安装 /// </summary> /// <param name="name"> /// The name. /// </param> /// <returns> /// <c>true</c> if XXXX, <c>false</c> otherwise. /// </returns> public bool CheckIsInstallMp(string name) { var criteria = new ManagementPackCriteria($"Name = '{name}'"); return(this.ManagementPacks.GetManagementPacks(criteria).Count > 0); }