Example #1
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="FullName">FullName of Virtual Center</param>
        /// <param name="Info">AboutInfo</param>
        public VirtualCenterSeed(string FullName)
        {
            // Get Key Property (MoRef)
            m_Key = FullName;

            // Create Virtual Center Management Pack Class
            ManagementPackClass mpc_VirtualCenterSeed = SCOM.GetManagementPackClass("AP.VMware.VirtualCenter.Seed");

            // Create New Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_VirtualCenterSeed);

            // Create Root Entity Class & Key Property
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            SCOM_Object[mpp_EntityDisplayName].Value = FullName;

            // Create Properties of VirtualCenter
            // FullName
            ManagementPackProperty mpp_FullName = mpc_VirtualCenterSeed.PropertyCollection["FullName"];

            SCOM_Object[mpp_FullName].Value = FullName;
            // ShortName
            ManagementPackProperty mpp_ShortName = mpc_VirtualCenterSeed.PropertyCollection["ShortName"];

            SCOM_Object[mpp_ShortName].Value = FullName.Split('.')[0];
            // IPAddress
            IPHostEntry            he            = Dns.GetHostEntry(FullName);
            ManagementPackProperty mpp_IPAddress = mpc_VirtualCenterSeed.PropertyCollection["IPAddress"];

            SCOM_Object[mpp_IPAddress].Value = he.AddressList[0].ToString();
        }
Example #2
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="dg"></param>
        /// <param name="FullName"></param>
        /// <param name="Description"></param>
        /// <param name="Port"></param>
        /// <param name="MonitorRule"></param>
        public PoolMember(SyncFailoverGroup dg, string PartitionName, string PoolFullName, string FullName, string Description, string Port, string MonitorRule)
        {
            // Get ShortName
            string ShortName = FullName.Substring(FullName.LastIndexOf("/") + 1);
            // Get Partition
            string Partition = FullName.Substring(1, FullName.LastIndexOf("/") - 1);

            // Create Pool Management Pack Class
            ManagementPackClass mpc_PoolMember = SCOM.GetManagementPackClass("AP.F5.LTM.PoolMember");

            // Create New NetworkInterface Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_PoolMember);

            // Create Root Entity Class & Key Property
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            SCOM_Object[mpp_EntityDisplayName].Value = ShortName;

            // Create SyncFailoverGroup Management Pack Class & Key Property
            ManagementPackClass    mpc_SyncFailoverGroup    = SCOM.GetManagementPackClass("AP.F5.LTM.SyncFailoverGroup");
            ManagementPackProperty mpp_SyncFailoverGroupKey = mpc_SyncFailoverGroup.PropertyCollection["Key"];

            SCOM_Object[mpp_SyncFailoverGroupKey].Value = dg.Key;

            // Create Partition Management Pack Class & Key Property
            ManagementPackClass    mpc_Partition     = SCOM.GetManagementPackClass("AP.F5.LTM.Partition");
            ManagementPackProperty mpp_PartitionName = mpc_Partition.PropertyCollection["Name"];

            SCOM_Object[mpp_PartitionName].Value = PartitionName;

            // Create Pool Management Pack Class
            ManagementPackClass    mpc_Pool    = SCOM.GetManagementPackClass("AP.F5.LTM.Pool");
            ManagementPackProperty mpp_PoolKey = mpc_Pool.PropertyCollection["FullName"];

            SCOM_Object[mpp_PoolKey].Value = PoolFullName;

            // Create PoolMember Management Pack Class & Properties
            ManagementPackProperty mpp_PoolMemberFullName = mpc_PoolMember.PropertyCollection["FullName"];

            SCOM_Object[mpp_PoolMemberFullName].Value = FullName;
            ManagementPackProperty mpp_PoolMemberName = mpc_PoolMember.PropertyCollection["Name"];

            SCOM_Object[mpp_PoolMemberName].Value = ShortName;
            ManagementPackProperty mpp_PoolMemberPartition = mpc_PoolMember.PropertyCollection["Partition"];

            SCOM_Object[mpp_PoolMemberPartition].Value = Partition;
            ManagementPackProperty mpp_PoolMemberPort = mpc_PoolMember.PropertyCollection["Port"];

            SCOM_Object[mpp_PoolMemberPort].Value = Port;
            ManagementPackProperty mpp_PoolMemberDescription = mpc_PoolMember.PropertyCollection["Description"];

            SCOM_Object[mpp_PoolMemberDescription].Value = Description;
            ManagementPackProperty mpp_PoolMemberMonitorRule = mpc_PoolMember.PropertyCollection["MonitorRule"];

            SCOM_Object[mpp_PoolMemberMonitorRule].Value = MonitorRule;
            ManagementPackProperty mpp_PoolMemberPoolName = mpc_PoolMember.PropertyCollection["PoolName"];

            SCOM_Object[mpp_PoolMemberPoolName].Value = PoolFullName;
        }
Example #3
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="SyncFailoverGroupKey"></param>
        /// <param name="PartitionName"></param>
        public Partition(string SyncFailoverGroupKey, string PartitionName)
        {
            // Create Partition Management Pack Class
            ManagementPackClass mpc_Partition = SCOM.GetManagementPackClass("AP.F5.LTM.Partition");

            // Create New NetworkInterface Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_Partition);

            // Create Root Entity Class & Key Property
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            SCOM_Object[mpp_EntityDisplayName].Value = PartitionName;

            // Create SyncFailoverGroup Management Pack Class & Key Property
            ManagementPackClass    mpc_SyncFailoverGroup    = SCOM.GetManagementPackClass("AP.F5.LTM.SyncFailoverGroup");
            ManagementPackProperty mpp_SyncFailoverGroupKey = mpc_SyncFailoverGroup.PropertyCollection["Key"];

            SCOM_Object[mpp_SyncFailoverGroupKey].Value = SyncFailoverGroupKey;

            // Create Properties of Partition
            ManagementPackProperty mpp_PartitionName = mpc_Partition.PropertyCollection["Name"];

            SCOM_Object[mpp_PartitionName].Value = PartitionName;
        }
Example #4
0
        /// <summary>
        /// Get Processors
        /// </summary>
        private void GetProcessors()
        {
            // Get
            var processors = SNMP.WalkSNMP(SNMP.sysMultiHostCpuIndex, Address, Port, Community);

            if (processors.Count > 0)
            {
                // Create Device Management Pack Class
                ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

                // Create Root Entity Class & Display Name Prop
                ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
                ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

                // Parent Device Key Property (IP Address)
                ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

                // Create Processors Group Object
                ManagementPackClass mpc_DeviceProcessorsGroup = SCOM_Functions.GetManagementPackClass("AP.F5.Device.ProcessorsGroup");
                SCOM_Object_ProcessorGroup = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DeviceProcessorsGroup);
                SCOM_Object_ProcessorGroup[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
                ManagementPackProperty mpp_DeviceProcessorsGroupName = mpc_DeviceProcessorsGroup.PropertyCollection["Name"];
                SCOM_Object_ProcessorGroup[mpp_DeviceProcessorsGroupName].Value = "Processors";


                // Create Management Pack Class Objects for Processor and Needed Properties
                ManagementPackClass    mpc_Processor      = SCOM_Functions.GetManagementPackClass(className: "AP.F5.Device.Processor");
                ManagementPackProperty mpp_ProcessorIndex = mpc_Processor.PropertyCollection["Index"];
                ManagementPackProperty mpp_ProcessorName  = mpc_Processor.PropertyCollection["Name"];

                // Set Processor-Group Relationship
                ManagementPackRelationship mpr_ProcessorsGroup = SCOM_Functions.GetManagementPackRelationship("AP.F5.Device.ProcessorsGroup.HostsProcessors");


                for (int i = 0; i < processors.Count; i++)
                {
                    Processor newProcessor = new Processor();
                    string    index        = "." + processors[i].Id.ToString();
                    index = index.Replace(SNMP.sysMultiHostCpuIndex, "");

                    // Create SCOM Fan Object
                    newProcessor.SCOM_Object_Processor = new CreatableEnterpriseManagementObject(SCOM_Functions.m_managementGroup, mpc_Processor);
                    // Set Key of Device
                    newProcessor.SCOM_Object_Processor[mpp_DeviceKey].Value = SystemNodeName;
                    // Set Key of Fans Group
                    newProcessor.SCOM_Object_Processor[mpp_DeviceProcessorsGroupName].Value = "Processors";
                    //Set Logical Entity Display Name
                    newProcessor.SCOM_Object_Processor[mpp_EntityDisplayName].Value = "CPU-" + i.ToString();
                    // Set Fan Properties
                    newProcessor.SCOM_Object_Processor[mpp_ProcessorIndex].Value = index;
                    newProcessor.SCOM_Object_Processor[mpp_ProcessorName].Value  = "CPU-" + i.ToString();

                    Processors.Add(newProcessor);
                }
            }
        }
Example #5
0
        /// <summary>
        /// Get DiskPartitions
        /// </summary>
        private void GetDiskPartitions()
        {
            // Get
            var diskPartitions = SNMP.WalkSNMP(SNMP.sysHostDiskPartition, Address, Port, Community);

            if (diskPartitions.Count > 0)
            {
                // Create Device Management Pack Class
                ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

                // Create Root Entity Class & Display Name Prop
                ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
                ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

                // Parent Device Key Property (IP Address)
                ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

                // Create DiskPartitions Group Object
                ManagementPackClass mpc_DiskPartitionGroup = SCOM_Functions.GetManagementPackClass("AP.F5.Device.DiskPartitionsGroup");
                SCOM_Object_DiskPartitionGroup = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DiskPartitionGroup);
                SCOM_Object_DiskPartitionGroup[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
                ManagementPackProperty mpp_DiskPartitionGroupName = mpc_DiskPartitionGroup.PropertyCollection["Name"];
                SCOM_Object_DiskPartitionGroup[mpp_DiskPartitionGroupName].Value = "Disks";


                // Create Management Pack Class Objects for DiskPartition and Needed Properties
                ManagementPackClass    mpc_DiskPartition           = SCOM_Functions.GetManagementPackClass(className: "AP.F5.Device.DiskPartition");
                ManagementPackProperty mpp_DiskPartitionIndex      = mpc_DiskPartition.PropertyCollection["Index"];
                ManagementPackProperty mpp_DiskPartitionMountpoint = mpc_DiskPartition.PropertyCollection["Mountpoint"];

                // Set DiskPartition-Group Relationship
                ManagementPackRelationship mpr_DiskPartitionsGroup = SCOM_Functions.GetManagementPackRelationship("AP.F5.Device.DiskPartitionsGroup.HostsDiskPartitions");


                for (int i = 0; i < diskPartitions.Count; i++)
                {
                    DiskPartition newDiskPartition = new DiskPartition();
                    string        index            = "." + diskPartitions[i].Id.ToString();
                    index = index.Replace(SNMP.sysHostDiskPartition, "");

                    // Create SCOM Fan Object
                    newDiskPartition.SCOM_Object_DiskPartition = new CreatableEnterpriseManagementObject(SCOM_Functions.m_managementGroup, mpc_DiskPartition);
                    // Set Key of Device
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DeviceKey].Value = SystemNodeName;
                    // Set Key of DiskPartitions Group
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DiskPartitionGroupName].Value = "Disks";
                    //Set Logical Entity Display Name
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_EntityDisplayName].Value = diskPartitions[i].Data.ToString();
                    // Set Fan Properties
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DiskPartitionIndex].Value      = index;
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DiskPartitionMountpoint].Value = diskPartitions[i].Data.ToString();

                    DiskPartitions.Add(newDiskPartition);
                }
            }
        }
Example #6
0
        /// <summary>
        /// Get Fans
        /// </summary>
        private void GetFans()
        {
            // Get Count of Fans
            int fanCount = Convert.ToInt32(SNMP.GetSNMP(SNMP.sysChassisFanNumber, Address, Port, Community)[0].Data.ToString());

            // If There Are Fans Then Create FanGroup and Relationship
            if (fanCount > 0)
            {
                // Create Device Group Management Pack Class
                ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

                // Create Root Entity Class & Display Name Prop
                ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
                ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

                // Parent Device Key Property (IP Address)
                ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

                // Create FanGroup Object
                ManagementPackClass mpc_DeviceFanGroup = SCOM_Functions.GetManagementPackClass("AP.F5.Device.FansGroup");
                SCOM_Object_FanGroup = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DeviceFanGroup);
                SCOM_Object_FanGroup[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
                ManagementPackProperty mpp_DeviceFansGroupName = mpc_DeviceFanGroup.PropertyCollection["Name"];
                SCOM_Object_FanGroup[mpp_DeviceFansGroupName].Value = "Fans";


                // Create Management Pack Class Objects for Fan and Needed Properties
                ManagementPackClass    mpc_Fan      = SCOM_Functions.GetManagementPackClass(className: "AP.F5.Device.Fan");
                ManagementPackProperty mpp_FanIndex = mpc_Fan.PropertyCollection["Index"];
                ManagementPackProperty mpp_FanName  = mpc_Fan.PropertyCollection["Name"];

                // Set Fan-Group Relationship
                ManagementPackRelationship mpr_FanGroup = SCOM_Functions.GetManagementPackRelationship("AP.F5.Device.FansGroup.HostsFans");

                // Create Fans
                for (int i = 1; i <= fanCount; i++)
                {
                    Fan newfan = new Fan();

                    // Create SCOM Fan Object
                    newfan.SCOM_Object_Fan = new CreatableEnterpriseManagementObject(SCOM_Functions.m_managementGroup, mpc_Fan);
                    // Set Key of Device
                    newfan.SCOM_Object_Fan[mpp_DeviceKey].Value = SystemNodeName;
                    // Set Key of Fans Group
                    newfan.SCOM_Object_Fan[mpp_DeviceFansGroupName].Value = "Fans";
                    //Set Logical Entity Display Name
                    newfan.SCOM_Object_Fan[mpp_EntityDisplayName].Value = "Fan-" + i.ToString();
                    // Set Fan Properties
                    newfan.SCOM_Object_Fan[mpp_FanIndex].Value = Convert.ToInt32(SNMP.GetSNMP(SNMP.sysChassisFanIndex + i.ToString(), Address, Port, Community)[0].Data.ToString());;
                    newfan.SCOM_Object_Fan[mpp_FanName].Value  = "Fan-" + i.ToString();

                    Fans.Add(newfan);
                }
            }
        }
Example #7
0
        /// <summary>
        /// Get Power Supplies
        /// </summary>
        private void GetPowerSupplies()
        {
            // Get Count of PowerSupplies
            int powerSupplyCount = Convert.ToInt16(SNMP.GetSNMP(SNMP.sysChassisPowerSupplyNumber, Address, Port, Community)[0].Data.ToString());

            // If There are Fans Then Continue
            if (powerSupplyCount > 0)
            {
                // Create Device Group Management Pack Class
                ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

                // Create Root Entity Class & Display Name Prop
                ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
                ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

                // Parent Device Key Property (IP Address)
                ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

                // Create PowerSuppliesGroup Object
                ManagementPackClass mpc_DevicePowerSupplyGroup = SCOM_Functions.GetManagementPackClass("AP.F5.Device.PowerSuppliesGroup");
                SCOM_Object_PowerSupplyGroup = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DevicePowerSupplyGroup);
                SCOM_Object_PowerSupplyGroup[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
                ManagementPackProperty mpp_DevicePowerSuppliesGroupName = mpc_DevicePowerSupplyGroup.PropertyCollection["Name"];
                SCOM_Object_PowerSupplyGroup[mpp_DevicePowerSuppliesGroupName].Value = "PSUs";

                // Create Management Pack Class Objects for PowerSupply and Needed Properties
                ManagementPackClass    mpc_PowerSupply      = SCOM_Functions.GetManagementPackClass(className: "AP.F5.Device.PowerSupply");
                ManagementPackProperty mpp_PowerSupplyIndex = mpc_PowerSupply.PropertyCollection["Index"];
                ManagementPackProperty mpp_PowerSupplyName  = mpc_PowerSupply.PropertyCollection["Name"];

                // Set PowerSupply-Group Relationship
                ManagementPackRelationship mpr_PowerSuppliesGroup = SCOM_Functions.GetManagementPackRelationship("AP.F5.Device.PowerSuppliesGroup.HostsPowerSupplies");


                for (int i = 1; i <= powerSupplyCount; i++)
                {
                    PowerSupply newpsu = new PowerSupply();

                    // Create SCOM  Object
                    newpsu.SCOM_Object_PowerSupply = new CreatableEnterpriseManagementObject(SCOM_Functions.m_managementGroup, mpc_PowerSupply);
                    // Set Key of Device
                    newpsu.SCOM_Object_PowerSupply[mpp_DeviceKey].Value = SystemNodeName;
                    // Set Key of Fans Group
                    newpsu.SCOM_Object_PowerSupply[mpp_DevicePowerSuppliesGroupName].Value = "PSUs";
                    //Set Logical Entity Display Name
                    newpsu.SCOM_Object_PowerSupply[mpp_EntityDisplayName].Value = "PSU-" + i.ToString();
                    // Set Fan Properties
                    newpsu.SCOM_Object_PowerSupply[mpp_PowerSupplyIndex].Value = Convert.ToInt32(SNMP.GetSNMP(SNMP.sysChassisPowerSupplyIndex + i.ToString(), Address, Port, Community)[0].Data.ToString());
                    newpsu.SCOM_Object_PowerSupply[mpp_PowerSupplyName].Value  = "PSU-" + i.ToString();

                    PowerSupplies.Add(newpsu);
                }
            }
        }
Example #8
0
        /// <summary>
        /// Get Temp Sensor
        /// </summary>
        private void GetTempSensors()
        {
            // Get Count of Temperature Sensors
            int TempSensorCount = Convert.ToInt16(SNMP.GetSNMP(SNMP.sysChassisTempNumber, Address, Port, Community)[0].Data.ToString());

            // If we have Temperature Sensors
            if (TempSensorCount > 0)
            {
                // Create Device Group Management Pack Class
                ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

                // Create Root Entity Class & Display Name Prop
                ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
                ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

                // Parent Device Key Property (IP Address)
                ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

                // Create FanGroup Object
                ManagementPackClass mpc_DeviceTempSensorsGroup = SCOM_Functions.GetManagementPackClass("AP.F5.Device.TempSensorsGroup");
                SCOM_Object_TempSensorsGroup = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DeviceTempSensorsGroup);
                SCOM_Object_TempSensorsGroup[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
                ManagementPackProperty mpp_DeviceTempSensorsGroupName = mpc_DeviceTempSensorsGroup.PropertyCollection["Name"];
                SCOM_Object_TempSensorsGroup[mpp_DeviceTempSensorsGroupName].Value = "Temp. Sensors";

                // Create Management Pack Class Objects for TempSensor and Needed Properties
                ManagementPackClass    mpc_TempSensor      = SCOM_Functions.GetManagementPackClass(className: "AP.F5.Device.TempSensor");
                ManagementPackProperty mpp_TempSensorIndex = mpc_TempSensor.PropertyCollection["Index"];
                ManagementPackProperty mpp_TempSensorName  = mpc_TempSensor.PropertyCollection["Name"];

                // Set Fan-Group Relationship
                ManagementPackRelationship mpr_TempSensorsGroup = SCOM_Functions.GetManagementPackRelationship("AP.F5.Device.TempSensorsGroup.HostsTempSensors");

                // Create Temp Sensors
                for (int i = 1; i <= TempSensorCount; i++)
                {
                    TempSensor newTempSensor = new TempSensor();

                    // Create SCOM TempSensor Object
                    newTempSensor.SCOM_Object_TempSensor = new CreatableEnterpriseManagementObject(SCOM_Functions.m_managementGroup, mpc_TempSensor);
                    // Set Key of Device
                    newTempSensor.SCOM_Object_TempSensor[mpp_DeviceKey].Value = SystemNodeName;
                    // Set Key of Fans Group
                    newTempSensor.SCOM_Object_TempSensor[mpp_DeviceTempSensorsGroupName].Value = "Temp. Sensors";
                    //Set Logical Entity Display Name
                    newTempSensor.SCOM_Object_TempSensor[mpp_EntityDisplayName].Value = "TempSensor-" + i.ToString();
                    // Set Fan Properties
                    newTempSensor.SCOM_Object_TempSensor[mpp_TempSensorIndex].Value = Convert.ToInt32(SNMP.GetSNMP(SNMP.sysChassisTempIndex + i.ToString(), Address, Port, Community)[0].Data.ToString());
                    newTempSensor.SCOM_Object_TempSensor[mpp_TempSensorName].Value  = "TempSensor-" + i.ToString();

                    TempSensors.Add(newTempSensor);
                }
            }
        }
Example #9
0
        /// <summary>
        /// Create SCOM Object
        /// </summary>
        public void CreateDeviceGroupScomObject()
        {
            // Create Root Entity Class & Display Name Prop
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            // Create Correct Group Management Pack Class
            ManagementPackClass mpc_DeviceGroup;

            if (Type == "Sync-Failover")
            {
                mpc_DeviceGroup = SCOM.GetManagementPackClass("AP.F5.LTM.SyncFailoverGroup");
            }
            else
            {
                mpc_DeviceGroup = SCOM.GetManagementPackClass("AP.F5.LTM.SyncOnlyGroup");
            }

            // Create Sync-Failover Group Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_DeviceGroup);
            // Display Name of Parent (KEY Property)
            SCOM_Object[mpp_EntityDisplayName].Value = Name;

            // Set Properties of Device Group
            // Name (Key Property)
            ManagementPackProperty mpp_Name = mpc_DeviceGroup.PropertyCollection["Name"];

            SCOM_Object[mpp_Name].Value = Name;
            // Key
            ManagementPackProperty mpp_Key = mpc_DeviceGroup.PropertyCollection["Key"];

            SCOM_Object[mpp_Key].Value = Key;
            // Standalone
            ManagementPackProperty mpp_Standalone = mpc_DeviceGroup.PropertyCollection["Standalone"];

            SCOM_Object[mpp_Standalone].Value = Standalone;
            // Devices
            ManagementPackProperty mpp_Devices = mpc_DeviceGroup.PropertyCollection["Devices"];

            SCOM_Object[mpp_Devices].Value = Devices;
            // Monitor Address
            ManagementPackProperty mpp_MonitorAddress = mpc_DeviceGroup.PropertyCollection["Addresses"];

            SCOM_Object[mpp_MonitorAddress].Value = Addresses;
            // Monitor Port
            ManagementPackProperty mpp_MonitorPort = mpc_DeviceGroup.PropertyCollection["Ports"];

            SCOM_Object[mpp_MonitorPort].Value = Ports;
            // Monitor Community
            ManagementPackProperty mpp_MonitorCommunity = mpc_DeviceGroup.PropertyCollection["Communities"];

            SCOM_Object[mpp_MonitorCommunity].Value = Communities;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="EnclosureConnector" /> class.
        /// </summary>
        public EnclosureConnector()
        {
            this.EnclosureClass = MGroup.Instance.GetManagementPackClass(EntityTypeConst.Enclosure.MainName);

            this.EnclosureKey = this.EnclosureClass.PropertyCollection["UnionId"];

            this.MontioringConnector = MGroup.Instance.GetConnector(MGroup.Instance.EnclosureConnectorGuid);
            if (!this.MontioringConnector.Initialized)
            {
                this.MontioringConnector.Initialize();
            }
        }
Example #11
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="FullName"></param>
        /// <param name="Description"></param>
        /// <param name="MonitorRule"></param>
        /// <param name="TotalMembers"></param>
        /// <param name="ActiveMembers"></param>
        public Pool(SyncFailoverGroup dg, string PartitionName, string FullName, string ShortName, string Description, string MonitorRule, long TotalMembers, long ActiveMembers)
        {
            // Set Partition
            string Partition = FullName.Substring(1, FullName.LastIndexOf("/") - 1);

            // Create Pool Management Pack Class
            ManagementPackClass mpc_Pool = SCOM.GetManagementPackClass("AP.F5.LTM.Pool");

            // Create New NetworkInterface Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_Pool);

            // Create Root Entity Class & Key Property
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            SCOM_Object[mpp_EntityDisplayName].Value = ShortName;

            // Create SyncFailoverGroup Management Pack Class & Key Property
            ManagementPackClass    mpc_SyncFailoverGroup    = SCOM.GetManagementPackClass("AP.F5.LTM.SyncFailoverGroup");
            ManagementPackProperty mpp_SyncFailoverGroupKey = mpc_SyncFailoverGroup.PropertyCollection["Key"];

            SCOM_Object[mpp_SyncFailoverGroupKey].Value = dg.Key;

            // Create Partition Management Pack Class & Key Property
            ManagementPackClass    mpc_Partition     = SCOM.GetManagementPackClass("AP.F5.LTM.Partition");
            ManagementPackProperty mpp_PartitionName = mpc_Partition.PropertyCollection["Name"];

            SCOM_Object[mpp_PartitionName].Value = PartitionName;

            // Create Properties of Pool
            ManagementPackProperty mpp_PoolFullName = mpc_Pool.PropertyCollection["FullName"];

            SCOM_Object[mpp_PoolFullName].Value = FullName;
            ManagementPackProperty mpp_PoolName = mpc_Pool.PropertyCollection["Name"];

            SCOM_Object[mpp_PoolName].Value = ShortName;
            ManagementPackProperty mpp_PoolPartition = mpc_Pool.PropertyCollection["Partition"];

            SCOM_Object[mpp_PoolPartition].Value = Partition;
            ManagementPackProperty mpp_PoolTotalMembers = mpc_Pool.PropertyCollection["TotalMembers"];

            SCOM_Object[mpp_PoolTotalMembers].Value = TotalMembers;
            ManagementPackProperty mpp_PoolActiveMembers = mpc_Pool.PropertyCollection["ActiveMembers"];

            SCOM_Object[mpp_PoolActiveMembers].Value = ActiveMembers;
            ManagementPackProperty mpp_PoolDescription = mpc_Pool.PropertyCollection["Description"];

            SCOM_Object[mpp_PoolDescription].Value = Description;
            ManagementPackProperty mpp_PoolMonitorRule = mpc_Pool.PropertyCollection["MonitorRule"];

            SCOM_Object[mpp_PoolMonitorRule].Value = MonitorRule;
        }
Example #12
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="dg"></param>
        /// <param name="FullName"></param>
        /// <param name="Description"></param>
        /// <param name="CertFileName"></param>
        public ProfileServerSSL(SyncFailoverGroup dg, string PartitionName, string FullName, string Description, string CertFileNames)
        {
            // Get ShortName
            string ShortName = FullName.Substring(FullName.LastIndexOf("/") + 1);
            // Get Partition
            string Partition = FullName.Substring(1, FullName.LastIndexOf("/") - 1);

            // Create Profile Management Pack Class
            ManagementPackClass mpc_Profile = SCOM.GetManagementPackClass("AP.F5.LTM.ProfileServerSSL");

            // Create New NetworkInterface Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_Profile);

            // Create Root Entity Class & Key Property
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            SCOM_Object[mpp_EntityDisplayName].Value = ShortName;

            // Create SyncFailoverGroup Management Pack Class & Key Property
            ManagementPackClass    mpc_SyncFailoverGroup    = SCOM.GetManagementPackClass("AP.F5.LTM.SyncFailoverGroup");
            ManagementPackProperty mpp_SyncFailoverGroupKey = mpc_SyncFailoverGroup.PropertyCollection["Key"];

            SCOM_Object[mpp_SyncFailoverGroupKey].Value = dg.Key;

            // Create Partition Management Pack Class & Key Property
            ManagementPackClass    mpc_Partition     = SCOM.GetManagementPackClass("AP.F5.LTM.Partition");
            ManagementPackProperty mpp_PartitionName = mpc_Partition.PropertyCollection["Name"];

            SCOM_Object[mpp_PartitionName].Value = PartitionName;

            // Now We Can Create Profile Properties
            ManagementPackProperty mpp_ProfileName = mpc_Profile.PropertyCollection["Name"];

            SCOM_Object[mpp_ProfileName].Value = ShortName;
            ManagementPackProperty mpp_ProfileFullName = mpc_Profile.PropertyCollection["FullName"];

            SCOM_Object[mpp_ProfileFullName].Value = FullName;
            ManagementPackProperty mpp_ProfilePartition = mpc_Profile.PropertyCollection["Partition"];

            SCOM_Object[mpp_ProfilePartition].Value = Partition;
            ManagementPackProperty mpp_ProfileDeviceGroup = mpc_Profile.PropertyCollection["DeviceGroup"];

            SCOM_Object[mpp_ProfileDeviceGroup].Value = dg.Name;
            ManagementPackProperty mpp_ProfileDescription = mpc_Profile.PropertyCollection["Description"];

            SCOM_Object[mpp_ProfileDescription].Value = Description;
            ManagementPackProperty mpp_ProfileCertFileName = mpc_Profile.PropertyCollection["CertFileNames"];

            SCOM_Object[mpp_ProfileCertFileName].Value = CertFileNames;
        }
Example #13
0
        private void TestGettingIncidentsByEnumCriteria()
        {
            EnterpriseManagementGroup    emg = new EnterpriseManagementGroup(txtServerName.Text);
            ManagementPack               mpIncidentLibrary = Helper.GetManagementPackByName("System.WorkItem.Incident.Library", emg);
            ManagementPackClass          mpcIncident       = Helper.GetClassByName("System.WorkItem.Incident", emg);
            ManagementPackProperty       mppClassification = Helper.GetManagementPackClassPropertyByName("System.WorkItem.Incident", "Classification", emg);
            ManagementPackTypeProjection mptpIncident      = Helper.GetTypeProjectionByName("System.WorkItem.Incident.View.ProjectionType", emg);
            ManagementPackEnumeration    mpeClassificationEnterpriseApp = Helper.GetEnumerationByName("IncidentClassificationEnum.EnterpriseApplications", emg);
            string strCriteria = Helper.SearchObjectByEnumerationCriteriaXml(mpeClassificationEnterpriseApp, mpcIncident, mppClassification);

            IObjectProjectionReader <EnterpriseManagementObject> reader = Helper.GetBufferedObjectProjectionReader(strCriteria, 40, mptpIncident, emg);

            MessageBox.Show(reader.Count.ToString());
        }
Example #14
0
        public Node(string SyncFailoverGroupKey, string PartitionName, string NodeFullName, string NodeShortName, string Address, string Description, string MonitorRules)
        {
            // Set Partition
            string Partition = NodeFullName.Substring(1, NodeFullName.LastIndexOf("/") - 1);

            // Create Node Management Pack Class
            ManagementPackClass mpc_Node = SCOM.GetManagementPackClass("AP.F5.LTM.Node");

            // Create New NetworkInterface Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_Node);

            // Create Root Entity Class & Key Property
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            SCOM_Object[mpp_EntityDisplayName].Value = NodeShortName;

            // Create SyncFailoverGroup Management Pack Class & Key Property
            ManagementPackClass    mpc_SyncFailoverGroup    = SCOM.GetManagementPackClass("AP.F5.LTM.SyncFailoverGroup");
            ManagementPackProperty mpp_SyncFailoverGroupKey = mpc_SyncFailoverGroup.PropertyCollection["Key"];

            SCOM_Object[mpp_SyncFailoverGroupKey].Value = SyncFailoverGroupKey;

            // Create Partition Management Pack Class & Key Property
            ManagementPackClass    mpc_Partition     = SCOM.GetManagementPackClass("AP.F5.LTM.Partition");
            ManagementPackProperty mpp_PartitionName = mpc_Partition.PropertyCollection["Name"];

            SCOM_Object[mpp_PartitionName].Value = PartitionName;

            // Set Node Properties
            // Create our Virtual Server Properties
            ManagementPackProperty mpp_Name = mpc_Node.PropertyCollection["Name"];

            SCOM_Object[mpp_Name].Value = NodeShortName;
            ManagementPackProperty mpp_FullName = mpc_Node.PropertyCollection["FullName"];

            SCOM_Object[mpp_FullName].Value = NodeFullName;
            ManagementPackProperty mpp_Description = mpc_Node.PropertyCollection["Description"];

            SCOM_Object[mpp_Description].Value = Description;
            ManagementPackProperty mpp_Address = mpc_Node.PropertyCollection["Address"];

            SCOM_Object[mpp_Address].Value = Address;
            ManagementPackProperty mpp_Partition = mpc_Node.PropertyCollection["Partition"];

            SCOM_Object[mpp_Partition].Value = Partition;
            ManagementPackProperty mpp_MonitorRule = mpc_Node.PropertyCollection["MonitorRules"];

            SCOM_Object[mpp_MonitorRule].Value = MonitorRules;
        }
Example #15
0
 private static bool IsBrowsableProperty(ManagementPackProperty mpProperty)
 {
     if (mpProperty.Id == IDs.FullyQualifiedDomainNameClassProperties.FullyQualifiedDomainNamePropertyId) // parent key
     {
         return(false);
     }
     if (mpProperty.Id == IDs.FullyQualifiedDomainNameClassProperties.TargetIndexPropertyId) // parent key
     {
         return(false);
     }
     if (mpProperty.Id == IDs.TestBaseClassProperties.TestIdPropertyId) // key
     {
         return(false);
     }
     return(true);
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ApplianceConnector"/> class.
        /// </summary>
        public ApplianceConnector()
        {
            this.ApplianceClass                = MGroup.Instance.GetManagementPackClass(ApplianceConst.MainName);
            this.EnclosureCollectionClass      = MGroup.Instance.GetManagementPackClass(ApplianceConst.EnclosureCollection);
            this.ServerCollectionClass         = MGroup.Instance.GetManagementPackClass(ApplianceConst.ServerCollection);
            this.EventCollectionClass          = MGroup.Instance.GetManagementPackClass(ApplianceConst.EventCollection);
            this.PerformanceCollectionClass    = MGroup.Instance.GetManagementPackClass(ApplianceConst.PerformanceCollection);
            this.FusionDirectorCollectionClass = MGroup.Instance.GetManagementPackClass(ApplianceConst.FusionDirectorCollection);

            this.ApplianceKey = this.ApplianceClass.PropertyCollection["HostName"];

            this.MontioringConnector = MGroup.Instance.GetConnector(MGroup.Instance.ApplianceConnectorGuid);
            if (!this.MontioringConnector.Initialized)
            {
                this.MontioringConnector.Initialize();
            }
        }
Example #17
0
        /// <summary>
        /// Create Memory SCOM Object and Relationship Object
        /// </summary>
        private void CreateMemoryScomObjects()
        {
            // Create Device Group Management Pack Class
            ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

            // Parent Device Key Property (IP Address)
            ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

            // Create FailoverState Object
            ManagementPackClass mpc_DeviceMemory = SCOM_Functions.GetManagementPackClass("AP.F5.Device.Memory");

            SCOM_Object_Memory = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DeviceMemory);
            SCOM_Object_Memory[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
            ManagementPackProperty mpp_DeviceMemoryName = mpc_DeviceMemory.PropertyCollection["Name"];

            SCOM_Object_Memory[mpp_DeviceMemoryName].Value = "Memory";
        }
Example #18
0
        public static object GetSCOMClassInstancePropertyValue(MonitoringObject classInstance, string properyName)
        {
            var allClasses = classInstance.GetClasses();
            ManagementPackProperty myProperty = null;

            foreach (var objectClass in allClasses)
            {
                if (objectClass.TryGetProperty(properyName, out myProperty))
                {
                    break;
                }
            }
            if (myProperty == null)
            {
                throw new KeyNotFoundException("Cannot find class property.");
            }
            return(classInstance[myProperty].Value);
        }
Example #19
0
 private static string PropertyCategoryName(ManagementPackProperty mpProperty)
 {
     if (mpProperty.Id == IDs.TestBaseClassProperties.TemplateReferencePropertyId)
     {
         return("Template Settings");
     }
     else if (mpProperty.ParentElement.Id == SystemId.EntityClassId)
     {
         return("Generic");
     }
     else if (mpProperty.ParentElement.Id == IDs.TestBaseClassId)
     {
         return("Common Monitoring Settings");
     }
     else
     {
         return("Test Specific Parameters");
     }
 }
Example #20
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="dg">Hosting Device Group</param>
        /// <param name="Name">name of Traffic Group</param>
        public void CreateScomObject()
        {
            // Create Traffic Group Management Pack Class
            ManagementPackClass mpc_Trafficgroup = SCOM.GetManagementPackClass("AP.F5.LTM.TrafficGroup");

            // Create Traffic Group Object
            SCOM_Object = new CreatableEnterpriseManagementObject(SCOM.m_managementGroup, mpc_Trafficgroup);

            // Create Root Entity Class & Display Name Prop
            ManagementPackClass    mpc_Entity            = SCOM.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            SCOM_Object[mpp_EntityDisplayName].Value = Name;

            // Add in Key Property of Hosting DeviceGroup
            ManagementPackClass    mpc_DeviceGroup          = SCOM.GetManagementPackClass("AP.F5.LTM.SyncFailoverGroup");
            ManagementPackProperty mpp_SyncFailoverGroupKey = mpc_DeviceGroup.PropertyCollection["Key"];

            // Set parent Cluster Property
            SCOM_Object[mpp_SyncFailoverGroupKey].Value = DeviceGroup.Key;


            // Key (Key Property)
            ManagementPackProperty mpp_TrafficGroupKey = mpc_Trafficgroup.PropertyCollection["Key"];

            SCOM_Object[mpp_TrafficGroupKey].Value = Key;
            // Name
            ManagementPackProperty mpp_TrafficGroupName = mpc_Trafficgroup.PropertyCollection["Name"];

            SCOM_Object[mpp_TrafficGroupName].Value = Name;
            // FullName
            ManagementPackProperty mpp_TrafficGroupFullName = mpc_Trafficgroup.PropertyCollection["FullName"];

            SCOM_Object[mpp_TrafficGroupFullName].Value = FullName;
            // Devices
            ManagementPackProperty mpp_TrafficGroupDevices = mpc_Trafficgroup.PropertyCollection["Devices"];

            SCOM_Object[mpp_TrafficGroupDevices].Value = Devices;
            // DeviceGroup
            ManagementPackProperty mpp_TrafficGroupDeviceGroup = mpc_Trafficgroup.PropertyCollection["DeviceGroup"];

            SCOM_Object[mpp_TrafficGroupDeviceGroup].Value = DeviceGroup.Name;
        }
Example #21
0
        private static Attribute[] GetAttibuteList(ManagementPackProperty mpProperty, Type editorType = null)
        {
            List <Attribute> result = new List <Attribute>
            {
                new BrowsableAttribute(IsBrowsableProperty(mpProperty)),
                new CategoryAttribute(PropertyCategoryName(mpProperty)),
                new DescriptionAttribute(mpProperty.Description)
            };

            if (editorType != null)
            {
                result.Add(new EditorAttribute(editorType, typeof(System.Drawing.Design.UITypeEditor)));
            }
            if (mpProperty.SystemType == typeof(Enum))
            {
                result.Add(new EditorAttribute(typeof(SCOMEnumEditor), typeof(UITypeEditor)));
                //result.Add(new TypeConverterAttribute(typeof(SCOMEnumConverter)));
            }

            return(result.ToArray());
        }
Example #22
0
        private static string ConstructUpdateCriteria(string strMPAlias, ManagementPackClass mpc, ManagementPackProperty mpp)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<UpdateInstance>");
            sb.Append("<Criteria>");
            sb.Append("<Expression>");
            sb.Append("<SimpleExpression>");
            sb.Append("<ValueExpression>");
            sb.Append(String.Format("<Property State=\"Pre\">$Context/Property[Type='{0}!{1}']/{2}$</Property>", strMPAlias, mpc.Name, mpp.Name));
            sb.Append("</ValueExpression>");
            sb.Append("<Operator>NotEqual</Operator>");
            sb.Append("<ValueExpression>");
            sb.Append(String.Format("<Property State=\"Post\">$Context/Property[Type='{0}!{1}']/{2}$</Property>", strMPAlias, mpc.Name, mpp.Name));
            sb.Append("</ValueExpression>");
            sb.Append("</SimpleExpression>");
            sb.Append("</Expression>");
            sb.Append("</Criteria>");
            sb.Append("</UpdateInstance>");

            return(sb.ToString());
        }
        private static void CreateQueue(ManagementPackClass mpc, ManagementPackEnumeration mpe, string strMPAlias, ManagementPackProperty mpp, ref ManagementPack mp, EnterpriseManagementGroup emg)
        {
            string strQueueDisplayName = String.Format("{0}: {1}", mpc.DisplayName, mpe.DisplayName);
            string strCriteria         = ConstructCriteria(strMPAlias, mpc, mpp, mpe);

            Helper.CreateQueue(strQueueDisplayName, Helper.MakeMPElementSafeName(strQueueDisplayName), strCriteria, mpc, ref mp, emg);
        }
        private static string ConstructCriteria(string strMPAlias, ManagementPackClass mpc, ManagementPackProperty mppp, ManagementPackEnumeration mpe)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<Expression>");
            sb.Append("<SimpleExpression>");
            sb.Append("<ValueExpression>");
            sb.Append(String.Format("<Property>$Context/Property[Type='{0}!{1}']/{2}$</Property>", strMPAlias, mpc.Name, mppp.Name));
            //sb.Append(String.Format("<Property>$Context/Property[Type='{0}']/{1}$</Property>", mpc.Id.ToString(), mppp.Id.ToString()));
            sb.Append("</ValueExpression>");
            sb.Append("<Operator>Equal</Operator>");
            sb.Append("<ValueExpression>");
            sb.Append(String.Format("<Value>{{{0}}}</Value>", mpe.Id.ToString()));
            sb.Append("</ValueExpression>");
            sb.Append("</SimpleExpression>");
            sb.Append("</Expression>");
            return(sb.ToString());
        }
Example #25
0
        /// <summary>
        /// Create Scom Object
        /// </summary>
        private void CreateDeviceScomObject()
        {
            // Create Root Entity Class & Display Name Prop
            ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
            ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

            // Create Device Group Management Pack Class
            ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

            // Create New Device Group Object
            SCOM_Object_Device = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_Device);
            // Display Name of Parent (KEY Property)
            SCOM_Object_Device[mpp_EntityDisplayName].Value = SystemNodeName;

            // Set Properties of Device
            // IPAddress
            ManagementPackProperty mpp_DeviceAddress = mpc_Device.PropertyCollection["IPAddress"];

            SCOM_Object_Device[mpp_DeviceAddress].Value = Address;
            // Name (Key Property)
            ManagementPackProperty mpp_DeviceName = mpc_Device.PropertyCollection["DeviceName"];

            SCOM_Object_Device[mpp_DeviceName].Value = SystemNodeName;
            // Type
            ManagementPackProperty mpp_DeviceType = mpc_Device.PropertyCollection["Type"];

            SCOM_Object_Device[mpp_DeviceType].Value = Type;
            // Port
            ManagementPackProperty mpp_DevicePort = mpc_Device.PropertyCollection["Port"];

            SCOM_Object_Device[mpp_DevicePort].Value = Port;
            // Community
            ManagementPackProperty mpp_DeviceCommunity = mpc_Device.PropertyCollection["Community"];

            SCOM_Object_Device[mpp_DeviceCommunity].Value = Community;
            // SystemOID
            ManagementPackProperty mpp_DeviceSystemOID = mpc_Device.PropertyCollection["SystemOID"];

            SCOM_Object_Device[mpp_DeviceSystemOID].Value = SystemOID;
            // Location
            ManagementPackProperty mpp_DeviceLocation = mpc_Device.PropertyCollection["Location"];

            SCOM_Object_Device[mpp_DeviceLocation].Value = Location;
            // Contact
            ManagementPackProperty mpp_DeviceContact = mpc_Device.PropertyCollection["Contact"];

            SCOM_Object_Device[mpp_DeviceContact].Value = Contact;
            // Model
            ManagementPackProperty mpp_DeviceModel = mpc_Device.PropertyCollection["Model"];

            SCOM_Object_Device[mpp_DeviceModel].Value = Model;
            // Vendor
            ManagementPackProperty mpp_DeviceVendor = mpc_Device.PropertyCollection["Vendor"];

            SCOM_Object_Device[mpp_DeviceVendor].Value = "F5 Networks, Inc.";
            // Version
            ManagementPackProperty mpp_DeviceVersion = mpc_Device.PropertyCollection["Version"];

            SCOM_Object_Device[mpp_DeviceVersion].Value = SoftwareVersion;
            // Build
            ManagementPackProperty mpp_DeviceBuild = mpc_Device.PropertyCollection["Build"];

            SCOM_Object_Device[mpp_DeviceBuild].Value = SoftwareBuild;
            // HotFix
            ManagementPackProperty mpp_DeviceHotFix = mpc_Device.PropertyCollection["HotFix"];

            SCOM_Object_Device[mpp_DeviceHotFix].Value = SoftwareHotFix;
            // SerialNumber
            ManagementPackProperty mpp_DeviceSerialNumber = mpc_Device.PropertyCollection["SerialNumber"];

            SCOM_Object_Device[mpp_DeviceSerialNumber].Value = SerialNumber;
            // Standalone
            ManagementPackProperty mpp_DeviceStandalone = mpc_Device.PropertyCollection["Standalone"];

            SCOM_Object_Device[mpp_DeviceStandalone].Value = Standalone;
        }
Example #26
0
 public EnterpriseManagementSimpleObject this[ManagementPackProperty managementPackProperty] => BaseObject[managementPackProperty];
Example #27
0
 public EnterpriseManagementSimpleObject this[ManagementPackProperty managementPackProperty] => MonitoringObject[managementPackProperty];
Example #28
0
        private static void CreateUpdateNotificationRule(ManagementPackClass mpc, string strMPAlias, ManagementPackProperty mpp, ref ManagementPack mp, EnterpriseManagementObject emoUser, ManagementPackObjectTemplate mpot, EnterpriseManagementGroup emg)
        {
            string strRuleDisplayName = String.Format("{0}: Update: {1}", mpc.DisplayName, mpp.DisplayName);
            string strCriteria        = ConstructUpdateCriteria(strMPAlias, mpc, mpp);

            Helper.CreateNotificationRule(strRuleDisplayName, Helper.MakeMPElementSafeName(strRuleDisplayName), strCriteria, emoUser, mpc, mpot, ref mp, emg);
        }
        private void btnCreate_Click(object sender, EventArgs e)
        {
            EnterpriseManagementGroup emg                 = new EnterpriseManagementGroup(txtManagementServer.Text);
            ManagementPackEnumeration mpeSRAreaBase       = Helper.GetEnumerationByName("ServiceRequestAreaEnum", emg);
            ManagementPackEnumeration mpeCRAreaBase       = Helper.GetEnumerationByName("ChangeAreaEnum", emg);
            ManagementPackEnumeration mpeProblemAreaBase  = Helper.GetEnumerationByName("ProblemClassificationEnum", emg);
            ManagementPackEnumeration mpeIncidentAreaBase = Helper.GetEnumerationByName("IncidentClassificationEnum", emg);

            IList <ManagementPackEnumeration> listSRAreaEnums       = emg.EntityTypes.GetChildEnumerations(mpeSRAreaBase.Id, TraversalDepth.Recursive);
            IList <ManagementPackEnumeration> listCRAreaEnums       = emg.EntityTypes.GetChildEnumerations(mpeCRAreaBase.Id, TraversalDepth.Recursive);
            IList <ManagementPackEnumeration> listProblemAreaEnums  = emg.EntityTypes.GetChildEnumerations(mpeProblemAreaBase.Id, TraversalDepth.Recursive);
            IList <ManagementPackEnumeration> listIncidentAreaEnums = emg.EntityTypes.GetChildEnumerations(mpeIncidentAreaBase.Id, TraversalDepth.Recursive);

            ManagementPackClass mpcServiceRequest = Helper.GetClassByName("System.WorkItem.ServiceRequest", emg);
            ManagementPackClass mpcChangeRequest  = Helper.GetClassByName("System.WorkItem.ChangeRequest", emg);
            ManagementPackClass mpcProblem        = Helper.GetClassByName("System.WorkItem.Problem", emg);
            ManagementPackClass mpcIncident       = Helper.GetClassByName("System.WorkItem.Incident", emg);

            ManagementPack mpServiceRequest = Helper.GetManagementPackByName("System.WorkItem.ServiceRequest.Library", emg);
            ManagementPack mpChangeRequest  = Helper.GetManagementPackByName("System.WorkItem.ChangeRequest.Library", emg);
            ManagementPack mpProblem        = Helper.GetManagementPackByName("System.WorkItem.Problem.Library", emg);
            ManagementPack mpIncident       = Helper.GetManagementPackByName("System.WorkItem.Incident.Library", emg);

            ManagementPackReference mprServiceRequest = new ManagementPackReference(mpServiceRequest);
            ManagementPackReference mprChangeRequest  = new ManagementPackReference(mpChangeRequest);
            ManagementPackReference mprProblem        = new ManagementPackReference(mpProblem);
            ManagementPackReference mprIncident       = new ManagementPackReference(mpIncident);

            ManagementPack mp = Helper.CreateNewManagementPackInMemory("Queues", "1.0.0.0", "Queues", "QUEUES", emg, true);

            string strMPAliasServiceRequestLibrary = Helper.MakeMPElementSafeName(mpServiceRequest.Name);
            string strMPAliasChangeRequestLibrary  = Helper.MakeMPElementSafeName(mpChangeRequest.Name);
            string strMPAliasProblemLibrary        = Helper.MakeMPElementSafeName(mpProblem.Name);
            string strMPAliasIncidentLibrary       = Helper.MakeMPElementSafeName(mpIncident.Name);

            mp.References.Add(strMPAliasServiceRequestLibrary, mprServiceRequest);
            mp.References.Add(strMPAliasChangeRequestLibrary, mprChangeRequest);
            mp.References.Add(strMPAliasProblemLibrary, mprProblem);
            mp.References.Add(strMPAliasIncidentLibrary, mprIncident);

            double dQueuesToCreate = listSRAreaEnums.Count + listCRAreaEnums.Count + listProblemAreaEnums.Count + listIncidentAreaEnums.Count;

            pbProgress.Show();
            pbProgress.Value = 0;
            double i = 0;

            foreach (ManagementPackEnumeration mpeSRArea in listSRAreaEnums)
            {
                i++;
                ManagementPackProperty mppArea = Helper.GetManagementPackClassPropertyByName("System.WorkItem.ServiceRequest", "Area", emg);
                CreateQueue(mpcServiceRequest, mpeSRArea, strMPAliasServiceRequestLibrary, mppArea, ref mp, emg);
                pbProgress.Value = (int)(i / dQueuesToCreate * 100);
            }

            foreach (ManagementPackEnumeration mpeCRArea in listCRAreaEnums)
            {
                i++;
                ManagementPackProperty mppArea = Helper.GetManagementPackClassPropertyByName("System.WorkItem.ChangeRequest", "Area", emg);
                CreateQueue(mpcChangeRequest, mpeCRArea, strMPAliasChangeRequestLibrary, mppArea, ref mp, emg);
                pbProgress.Value = (int)(i / dQueuesToCreate * 100);
            }

            foreach (ManagementPackEnumeration mpeProblemClassification in listProblemAreaEnums)
            {
                i++;
                ManagementPackProperty mppClassification = Helper.GetManagementPackClassPropertyByName("System.WorkItem.Problem", "Classification", emg);
                CreateQueue(mpcProblem, mpeProblemClassification, strMPAliasProblemLibrary, mppClassification, ref mp, emg);
                pbProgress.Value = (int)(i / dQueuesToCreate * 100);
            }

            foreach (ManagementPackEnumeration mpeIncidentClassification in listIncidentAreaEnums)
            {
                i++;
                ManagementPackProperty mppClassification = Helper.GetManagementPackClassPropertyByName("System.WorkItem.Incident", "Classification", emg);
                CreateQueue(mpcIncident, mpeIncidentClassification, strMPAliasIncidentLibrary, mppClassification, ref mp, emg);
                pbProgress.Value = (int)(i / dQueuesToCreate * 100);
            }

            lblStatus.Text = "Importing Manamgeent Pack...";
            emg.ManagementPacks.ImportManagementPack(mp);
            lblStatus.Text = "Importing Manamgeent Pack...DONE!";
        }
Example #30
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            EnterpriseManagementGroup emg = new EnterpriseManagementGroup(txtManagementServer.Text);

            ManagementPackEnumeration mpeSRAreaBase = Helper.GetEnumerationByName("ServiceRequestAreaEnum", emg);
            ManagementPackEnumeration mpeCRAreaBase = Helper.GetEnumerationByName("ChangeAreaEnum", emg);
            ManagementPackEnumeration mpeProblemClassificationBase  = Helper.GetEnumerationByName("ProblemClassificationEnum", emg);
            ManagementPackEnumeration mpeIncidentClassificationBase = Helper.GetEnumerationByName("IncidentClassificationEnum", emg);

            IList <ManagementPackEnumeration> listSRAreaEnums       = emg.EntityTypes.GetChildEnumerations(mpeSRAreaBase.Id, TraversalDepth.Recursive);
            IList <ManagementPackEnumeration> listCRAreaEnums       = emg.EntityTypes.GetChildEnumerations(mpeCRAreaBase.Id, TraversalDepth.Recursive);
            IList <ManagementPackEnumeration> listProblemAreaEnums  = emg.EntityTypes.GetChildEnumerations(mpeProblemClassificationBase.Id, TraversalDepth.Recursive);
            IList <ManagementPackEnumeration> listIncidentAreaEnums = emg.EntityTypes.GetChildEnumerations(mpeIncidentClassificationBase.Id, TraversalDepth.Recursive);

            ManagementPackClass mpcServiceRequest = Helper.GetClassByName("System.WorkItem.ServiceRequest", emg);
            ManagementPackClass mpcChangeRequest  = Helper.GetClassByName("System.WorkItem.ChangeRequest", emg);
            ManagementPackClass mpcProblem        = Helper.GetClassByName("System.WorkItem.Problem", emg);
            ManagementPackClass mpcIncident       = Helper.GetClassByName("System.WorkItem.Incident", emg);

            ManagementPack mpServiceRequest = Helper.GetManagementPackByName("System.WorkItem.ServiceRequest.Library", emg);
            ManagementPack mpChangeRequest  = Helper.GetManagementPackByName("System.WorkItem.ChangeRequest.Library", emg);
            ManagementPack mpProblem        = Helper.GetManagementPackByName("System.WorkItem.Problem.Library", emg);
            ManagementPack mpIncident       = Helper.GetManagementPackByName("System.WorkItem.Incident.Library", emg);

            ManagementPackReference mprServiceRequest = new ManagementPackReference(mpServiceRequest);
            ManagementPackReference mprChangeRequest  = new ManagementPackReference(mpChangeRequest);
            ManagementPackReference mprProblem        = new ManagementPackReference(mpProblem);
            ManagementPackReference mprIncident       = new ManagementPackReference(mpIncident);

            ManagementPack mp = Helper.CreateNewManagementPackInMemory("NotificationRules", "1.0.0.0", "NotificationRules", "NOTIFICATION_RULES", emg, true);

            string strMPAliasServiceRequestLibrary = Helper.MakeMPElementSafeName(mpServiceRequest.Name);
            string strMPAliasChangeRequestLibrary  = Helper.MakeMPElementSafeName(mpChangeRequest.Name);
            string strMPAliasProblemLibrary        = Helper.MakeMPElementSafeName(mpProblem.Name);
            string strMPAliasIncidentLibrary       = Helper.MakeMPElementSafeName(mpIncident.Name);

            mp.References.Add(strMPAliasServiceRequestLibrary, mprServiceRequest);
            mp.References.Add(strMPAliasChangeRequestLibrary, mprChangeRequest);
            mp.References.Add(strMPAliasProblemLibrary, mprProblem);
            mp.References.Add(strMPAliasIncidentLibrary, mprIncident);

            ManagementPackObjectTemplate mpotNewIncident          = Helper.GetObjectTemplateByName(txtNewIncidentTemplate.Text, emg);
            ManagementPackObjectTemplate mpotUpdateIncident       = Helper.GetObjectTemplateByName(txtUpdateIncidentTemplate.Text, emg);
            ManagementPackObjectTemplate mpotNewServiceRequest    = Helper.GetObjectTemplateByName(txtNewServiceRequestTemplate.Text, emg);
            ManagementPackObjectTemplate mpotUpdateServiceRequest = Helper.GetObjectTemplateByName(txtUpdateServiceRequestTemplate.Text, emg);
            ManagementPackObjectTemplate mpotNewChangeRequest     = Helper.GetObjectTemplateByName(txtNewChangeRequestTemplate.Text, emg);
            ManagementPackObjectTemplate mpotUpdateChangeRequest  = Helper.GetObjectTemplateByName(txtUpdateChangeRequestTemplate.Text, emg);
            ManagementPackObjectTemplate mpotNewProblem           = Helper.GetObjectTemplateByName(txtNewProblemTemplate.Text, emg);
            ManagementPackObjectTemplate mpotUpdateProblem        = Helper.GetObjectTemplateByName(txtUpdateProblemTemplate.Text, emg);

            EnterpriseManagementObject emoUser = Helper.GetUserFromEmailAddress(txtEmailAddress.Text, emg);

            double dRulesToCreate = listSRAreaEnums.Count + listCRAreaEnums.Count + listProblemAreaEnums.Count + listIncidentAreaEnums.Count;

            pbProgress.Show();
            pbProgress.Value = 0;
            double i = 0;

            ManagementPackProperty mppSRArea = Helper.GetManagementPackClassPropertyByName("System.WorkItem.ServiceRequest", "Area", emg);
            ManagementPackProperty mppCRArea = Helper.GetManagementPackClassPropertyByName("System.WorkItem.ChangeRequest", "Area", emg);
            ManagementPackProperty mppProblemClassification  = Helper.GetManagementPackClassPropertyByName("System.WorkItem.Problem", "Classification", emg);
            ManagementPackProperty mppIncidentClassification = Helper.GetManagementPackClassPropertyByName("System.WorkItem.Incident", "Classification", emg);

            foreach (ManagementPackEnumeration mpeSRArea in listSRAreaEnums)
            {
                i++;
                CreateAddNotificationRule(mpcServiceRequest, mpeSRArea, strMPAliasServiceRequestLibrary, mppSRArea, ref mp, emoUser, mpotNewServiceRequest, emg);
                pbProgress.Value = (int)(i / dRulesToCreate * 100);
            }
            CreateUpdateNotificationRule(mpcServiceRequest, strMPAliasServiceRequestLibrary, mppSRArea, ref mp, emoUser, mpotUpdateServiceRequest, emg);

            foreach (ManagementPackEnumeration mpeCRArea in listCRAreaEnums)
            {
                i++;
                CreateAddNotificationRule(mpcChangeRequest, mpeCRArea, strMPAliasChangeRequestLibrary, mppCRArea, ref mp, emoUser, mpotNewChangeRequest, emg);
                pbProgress.Value = (int)(i / dRulesToCreate * 100);
            }
            CreateUpdateNotificationRule(mpcChangeRequest, strMPAliasChangeRequestLibrary, mppCRArea, ref mp, emoUser, mpotUpdateChangeRequest, emg);


            foreach (ManagementPackEnumeration mpeProblemClassification in listProblemAreaEnums)
            {
                i++;
                CreateAddNotificationRule(mpcProblem, mpeProblemClassification, strMPAliasProblemLibrary, mppProblemClassification, ref mp, emoUser, mpotNewProblem, emg);
                pbProgress.Value = (int)(i / dRulesToCreate * 100);
            }
            CreateUpdateNotificationRule(mpcProblem, strMPAliasProblemLibrary, mppProblemClassification, ref mp, emoUser, mpotUpdateProblem, emg);

            foreach (ManagementPackEnumeration mpeIncidentClassification in listIncidentAreaEnums)
            {
                i++;
                CreateAddNotificationRule(mpcIncident, mpeIncidentClassification, strMPAliasIncidentLibrary, mppIncidentClassification, ref mp, emoUser, mpotNewIncident, emg);
                pbProgress.Value = (int)(i / dRulesToCreate * 100);
            }
            CreateUpdateNotificationRule(mpcIncident, strMPAliasIncidentLibrary, mppIncidentClassification, ref mp, emoUser, mpotUpdateIncident, emg);

            emg.ManagementPacks.ImportManagementPack(mp);
        }