示例#1
0
        /// <summary>
        /// changes the type of a zone.
        /// </summary>
        /// <param name="zoneType">Type of zone</param>
        /// <param name="dataFileName">Optional - Name of the data file associated with the zone.</param>
        /// <param name="ipAddr">Optional - IP address of the mater DNS Server for the zone.</param>
        /// <param name="adminEmailName">Optional - Email address of the administrator responsible for the zone.</param>
        public Zone ChangeZoneType(ZoneTypeCreate zoneType, string dataFileName, string[] ipAddr,
                                   string adminEmailName)
        {
            ManagementBaseObject inParams = m_mo.GetMethodParameters("ChangeZoneType");

            inParams["ZoneType"] = (UInt32)zoneType;

            if (!string.IsNullOrEmpty(dataFileName))
            {
                inParams["DataFileName"] = dataFileName;
            }

            if (ipAddr != null)
            {
                inParams["IpAddr"] = ipAddr;
            }
            else if (((ipAddr == null) || (ipAddr.Length == 0)) && (zoneType != ZoneTypeCreate.Primary))
            {
                throw new ArgumentException("ipAddr must contain at least one address");
            }

            if ((this.ZoneType == ZoneTypeEnum.Stub) && (zoneType == ZoneTypeCreate.Primary))
            {
                throw new ArgumentException("Unable to change from Stub to Primary, change to secondary first");
            }

            if ((zoneType == ZoneTypeCreate.Primary) && (string.IsNullOrEmpty(this.DataFile)) && (string.IsNullOrEmpty(dataFileName)))
            {
                throw new ArgumentException("Primary zone needs a filename");
            }

            if (!string.IsNullOrEmpty(adminEmailName))
            {
                inParams["AdminEmailName"] = adminEmailName;
            }

            //ChangeZoneType not acting as documented in
            //http://msdn.microsoft.com/en-us/library/windows/desktop/ms682759(v=vs.85).aspx
            try
            {
                m_mo.InvokeMethod("ChangeZoneType", inParams, null);//["RR"].ToString()

                return(new Zone(new ManagementObject(m_mo.Scope, new ManagementPath(m_mo.ToString()), null)));
            }
            catch (ManagementException me)
            {
                throw new WMIException(me);
            }
        }
示例#2
0
        private static string EvaluateWmiQuery(string query)
        {
            string result;

            try
            {
                using (ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher(query))
                {
                    StringBuilder stringBuilder = new StringBuilder();
                    foreach (ManagementBaseObject managementBaseObject in managementObjectSearcher.Get())
                    {
                        ManagementObject managementObject = (ManagementObject)managementBaseObject;
                        using (managementObject)
                        {
                            stringBuilder.AppendLine(managementObject.ToString());
                        }
                    }
                    result = stringBuilder.ToString();
                }
            }
            catch (Exception ex)
            {
                result = string.Concat(new string[]
                {
                    "Error evaluating WMI query: ",
                    ex.GetType().Name,
                    " (",
                    ex.Message,
                    ")\r\n"
                });
            }
            return(result);
        }
示例#3
0
        private static void ShowProperties(ManagementObject obj)
        {
            Console.WriteLine();
            Console.WriteLine($"Properties for \"{obj.ToString()}\"");

            var properties = obj.Properties;

            foreach (PropertyData property in properties)
            {
                string value = GetPropertyValueAsString(property.Value);
                Console.WriteLine($"{property.Name}={value} ({property.Type})");
            }
            Console.WriteLine();
        }
示例#4
0
 public void dump(string key)
 {
     using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = new ManagementObjectSearcher("select * from " + key).Get().GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ManagementObject mo = (ManagementObject)enumerator.Current;
             MachineInfo.log.Trace("mo = " + mo.ToString());
             foreach (PropertyData pd in mo.Properties)
             {
                 MachineInfo.log.Trace(pd.Name + " = " + pd.Value);
             }
         }
     }
 }
示例#5
0
文件: main.cs 项目: Seriy-A/SerialJoy
        void getSerialDeviceInfo()
        {
            //string qry = "SELECT * FROM Win32_SerialPort WHERE DeviceID = '" + portSelector.Text + "'";
            string qry = "SELECT * FROM Win32_PnPEntity WHERE Name LIKE '%" + portSelector.Text + "%'";
            //SELECT *  WHERE Name LIKE '%COM%'
            ManagementObjectSearcher   wmiglass = new ManagementObjectSearcher(qry);
            ManagementObjectCollection results  = wmiglass.Get();

            if (results.Count != 0)
            {
                ManagementObjectCollection.ManagementObjectEnumerator enumer = results.GetEnumerator();
                enumer.MoveNext(); ManagementObject obj = (ManagementObject)enumer.Current;
                System.Diagnostics.Debug.Print(obj.ToString());
                System.Diagnostics.Debug.Print(obj["DeviceID"].ToString());
                System.Diagnostics.Debug.Print(obj["Description"].ToString());
                txtDevAtt.Text = obj["Description"] + " attached";
            }
            checkSerialParams();
        }
        // Token: 0x06000104 RID: 260 RVA: 0x00006C40 File Offset: 0x00004E40
        public ServiceStartMode GetStartMode()
        {
            ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Service WHERE Name='" + this.ServiceName + "'");

            using (ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher(query))
            {
                foreach (ManagementBaseObject managementBaseObject in managementObjectSearcher.Get())
                {
                    ManagementObject managementObject = (ManagementObject)managementBaseObject;
                    using (managementObject)
                    {
                        AmServiceMonitor.Tracer.TraceDebug <string>((long)this.GetHashCode(), "service={0}", managementObject.ToString());
                        string mode = (string)managementObject["StartMode"];
                        return(this.MapStartMode(mode));
                    }
                }
                throw new ArgumentException("no such service");
            }
            ServiceStartMode result;

            return(result);
        }