public static string ShowUserSID(string username) { // local scope string[] unames = username.Split("\\".ToCharArray(),2); string d = ""; string n = ""; d = unames[0]; if (unames.Length < 2) { n = unames[0]; d = "US_IBS"; } else n = unames[1]; ConnectionOptions co = new ConnectionOptions(); //co.Username = username; ManagementScope msc = new ManagementScope ("\\root\\cimv2",co); string queryString = "SELECT * FROM Win32_UserAccount where LocalAccount = false AND SIDType = 1 AND Domain = '" + d+ "' AND Name = '" + n + "'"; //System.Windows.Forms.MessageBox.Show(queryString); SelectQuery q = new SelectQuery (queryString); query = new ManagementObjectSearcher(msc, q); queryCollection = query.Get(); string res=String.Empty; foreach( ManagementObject mo in queryCollection ) { // there should be only one here! res+= mo["SID"].ToString(); //res+= mo["Name"]+"\n"; } return res; }
public string GetProcessUserName(int pid) { string text1 = null; SelectQuery query = new SelectQuery("Select * from Win32_Process WHERE processID=" + pid); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); try { foreach (ManagementObject disk in searcher.Get()) { ManagementBaseObject inPar = null; ManagementBaseObject outPar = null; inPar = disk.GetMethodParameters("GetOwner"); outPar = disk.InvokeMethod("GetOwner", inPar, null); text1 = outPar["User"].ToString(); break; } } catch { text1 = "SYSTEM"; } return text1; }
// Detect arduino com port private string autodetectArduinoPort() { ManagementScope connectionScope = new ManagementScope(); SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery); try { foreach (ManagementObject item in searcher.Get()) { string desc = item["Description"].ToString(); string deviceId = item["DeviceID"].ToString(); if (desc.Contains("Arduino")) { return deviceId; } } } catch (ManagementException e) { /* Do Nothing */ } return null; }
private uint GetSystemMemorySize() { UInt64 size = 0; uint mbSize = 0; try { System.Management.SelectQuery selectQuery = new System.Management.SelectQuery("Win32_ComputerSystem"); System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(selectQuery); foreach (System.Management.ManagementObject comp in searcher.Get()) { size += ((UInt64)(comp["TotalPhysicalMemory"])); } mbSize = (uint)(size / (1024 * 1024)); } catch (Exception) { mbSize = 0; } LogManager.Instance.Write("Total System Memory Size: {0}MB", mbSize); return(mbSize); }
public void TriggerClientAction(string scheduleId, ManagementScope remote) { ObjectQuery query = new SelectQuery("SELECT * FROM meta_class WHERE __Class = 'SMS_Client'"); var eOption = new EnumerationOptions(); var searcher = new ManagementObjectSearcher(remote, query, eOption); var queryCollection = searcher.Get(); foreach (ManagementObject ro in queryCollection) { // Obtain in-parameters for the method var inParams = ro.GetMethodParameters("TriggerSchedule"); // Add the input parameters. inParams["sScheduleID"] = scheduleId; try { var outParams = ro.InvokeMethod("TriggerSchedule", inParams, null); ResultConsole.Instance.AddConsoleLine($"Returned with value {_wmiServices.GetProcessReturnValueText(Convert.ToInt32(outParams["ReturnValue"]))}"); } catch (Exception ex) { ResultConsole.Instance.AddConsoleLine("Error performing SCCM Client Function due to an error."); _logger.LogError($"Error performing SCCM Client Function due to the following error: {ex.Message}", ex); } } }
//array of valid brightness values in percent static byte[] GetBrightnessLevels() { //define scope (namespace) System.Management.ManagementScope s = new System.Management.ManagementScope("root\\WMI"); //define query System.Management.SelectQuery q = new System.Management.SelectQuery("WmiMonitorBrightness"); //output current brightness System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(s, q); byte[] BrightnessLevels = new byte[0]; try { System.Management.ManagementObjectCollection moc = mos.Get(); //store result foreach (System.Management.ManagementObject o in moc) { BrightnessLevels = (byte[])o.GetPropertyValue("Level"); break; //only work on the first object } moc.Dispose(); mos.Dispose(); } catch (Exception) { MessageBox.Show("Sorry, Your System does not support this brightness control..."); } return(BrightnessLevels); }
public static void checkForMissingDrivers() { bool vJoy = false; bool libUsb = false; try { SelectQuery query = new SelectQuery("Win32_SystemDriver"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); var drivers = searcher.Get(); foreach (var d in drivers) { if (d["Name"].ToString() == "vjoy") vJoy = true; if (d["Name"].ToString().Contains("libusb")) libUsb = true; if (vJoy && libUsb) break; } if (!vJoy) { Log(null, new Logging.LogEventArgs("vJoy was not detected, please rerun the installer.")); } } catch { Log(null, new Logging.LogEventArgs("Driver check failed, (Are you running as Administrator?)")); } }
public List<DiskShareMountDTOResponse> GetDiskShareMountInfo() { List<DiskShareMountDTOResponse> mounts = new List<DiskShareMountDTOResponse>(); try { SelectQuery query = new SelectQuery( @"select Model, SerialNumber from Win32_DiskDrive where Model like '3PARdata%'" ); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); foreach (ManagementObject obj in searcher.Get()) { DiskShareMountDTOResponse share = new DiskShareMountDTOResponse(); share.Volume = GetValueAsString(obj, "Model"); share.Sn = GetValueAsString(obj, "SerialNumber"); mounts.Add(share); } } catch (ManagementException e) { Logger.Instance.LogError(e.ToString()); } return mounts; }
/// <summary> /// Get all processes that running in local machine /// </summary> /// <returns></returns> public static DataTable RunningProcesses() { // The second way of constructing a query string queryString = "SELECT Name, ProcessId, Caption, ExecutablePath" + " FROM Win32_Process"; SelectQuery query = new SelectQuery(queryString); ManagementScope scope = new ManagementScope(@"//127.0.0.1/root/CIMV2"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); ManagementObjectCollection processes = searcher.Get(); DataTable result = new DataTable(); result.Columns.Add("Name", Type.GetType("System.String")); result.Columns.Add("ProcessId", Type.GetType("System.Int32")); result.Columns.Add("Caption", Type.GetType("System.String")); result.Columns.Add("Path", Type.GetType("System.String")); foreach (ManagementObject mo in processes) { DataRow row = result.NewRow(); row["Name"] = mo["Name"].ToString(); row["ProcessId"] = Convert.ToInt32(mo["ProcessId"]); if (mo["Caption"] != null) row["Caption"] = mo["Caption"].ToString(); if (mo["ExecutablePath"] != null) row["Path"] = mo["ExecutablePath"].ToString(); result.Rows.Add(row); } return result; }
private static string GetManufacturer() { string computerModel = "UNDETERMINED"; #if ONLYNETSTANDARD return(computerModel); #else try { System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select * from Win32_ComputerSystem"); using (System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query)) { foreach (System.Management.ManagementObject process in searcher.Get()) { process.Get(); computerModel = process["Manufacturer"].ToString() + " " + process["Model"].ToString(); } } return(computerModel); } catch { return(computerModel); } #endif }
/// <summary> /// Return the SID associated to a username /// </summary> /// <param name="userName">SID of username to get.</param> /// <returns>Return a string like S-1-5-21-1844237615-73586283-725345543-1003</returns> public static string GetUserSid (string userName) { ManagementObjectSearcher query; ManagementObjectCollection queryCollection; // local scope ConnectionOptions co = new ConnectionOptions(); co.Username = userName; ManagementScope msc = new ManagementScope ("\\root\\cimv2",co); string queryString = "SELECT * FROM Win32_UserAccount where name='" +co.Username +"'"; SelectQuery q = new SelectQuery (queryString); query = new ManagementObjectSearcher(msc, q); queryCollection = query.Get(); /* string res = StringUtility.CreateEmptyString (); foreach(ManagementObject mo in queryCollection) { // there should be only one here! res+= mo["SID"].ToString(); } */ StringBuilder LocalStringBuilder = new StringBuilder(); foreach(ManagementObject mo in queryCollection) { LocalStringBuilder.Append (mo["SID"].ToString ()); } return LocalStringBuilder.ToString (); }
public static List<Microcontroller> AutodetectArduinoPort() { ManagementScope connectionScope = new ManagementScope(); SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery); try { List<Microcontroller> mc = null; foreach (ManagementObject item in searcher.Get()) { string name = item["Name"].ToString(); string uname = item["UName"].ToString(); string description = item["Description"].ToString(); string deviceId = item["DeviceID"].ToString(); string PNPdeviceId = item["PNPDeviceID"].ToString(); if (description.Contains("Arduino Due") || description.Contains("Arduino Mega 2560") || description.Contains("Arduino One")) //Temp Check. Needs to compare each return against Text file list when moved to VRAGE. { var mcItem = new Microcontroller(name, description, deviceId, PNPdeviceId,11520); mc.Add(mcItem); } } return mc; } catch (ManagementException e) { /* Do Nothing */ } return null; }
private string GetBatteryPercent() { try { var scope = new ManagementScope(); SelectQuery query = new SelectQuery("Select EstimatedChargeRemaining From Win32_Battery"); using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query)) { using (ManagementObjectCollection objectCollection = searcher.Get()) { foreach (ManagementObject mObj in objectCollection) //this nugget has a lot of info see here: https://msdn.microsoft.com/en-us/library/windows/desktop/aa394074%28v=vs.85%29.aspx { PropertyData pData = mObj.Properties["EstimatedChargeRemaining"]; var val = pData.Value; if ((ushort) val > (ushort) 100) { return "100"; } else { return val.ToString().Replace("%",""); //strip % in case it duplicates } } } } return "Unk"; } catch (Exception e) { Debug.WriteLine(e); return "Unk"; } }
// to detect if the correct arduino is connected private string AutodetectArduinoPort() { ManagementScope connectionScope = new ManagementScope(); SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery); try { foreach (ManagementObject item in searcher.Get()) { //safe COM port of arduino if arduino with PNPDeviceI: 64935343733351707252 is connected string desc = item["PNPDeviceID"].ToString(); string deviceId = item["DeviceID"].ToString(); if (desc.Contains("64935343733351707252")) { return deviceId; } } } catch { } return null; }
internal static WindowsServiceInformation Get(string serviceName) { var sc = System.ServiceProcess.ServiceController.GetServices().FirstOrDefault(s => string.Compare(s.ServiceName, serviceName, true) == 0); if (sc == null) { return(null); } SelectQuery query = new System.Management.SelectQuery(string.Format("select name, startName, startMode, processId, pathName from Win32_Service where name = '{0}'", serviceName)); using (ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query)) { foreach (ManagementObject service in searcher.Get()) { return(new WindowsServiceInformation() { BinPath = service["pathName"].ToString(), ProcessId = int.Parse(service["processId"].ToString()), ServiceName = sc.ServiceName, StartMode = ParseStartMode(service["startMode"].ToString()), UserAccountName = service["startName"].ToString() }); } } return(null); }
//public static IList<string> GetPropertyValues(Connection WMIConnection, // string SelectQuery, // string className) public static IList<Dictionary<string, string>> GetPropertyValues(Connection WMIConnection, string SelectQuery, string className) { ManagementScope connectionScope = WMIConnection.GetConnectionScope; //List<string> alProperties = new List<string>(); SelectQuery msQuery = new SelectQuery(SelectQuery); ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(connectionScope, msQuery); //Dictionary<string, string> paM = new Dictionary<string, string>(); List<Dictionary<string, string>> allContent = new List<Dictionary<string, string>>(); try { foreach (ManagementObject item in searchProcedure.Get()) { Dictionary<string, string> paM = new Dictionary<string, string>(); foreach (string property in XMLConfig.GetSettings(className)) { try { paM.Add(property, item[property].ToString()); //alProperties.Add(property + ": " + item[property].ToString()); } catch (SystemException) { /* ignore error */ } } allContent.Add(paM); } } catch (ManagementException e) { /* Do Nothing */ } //return alProperties; return allContent; }
/// <summary> /// Added by Donnie on 2012/09/19 /// Gets OS address width. /// </summary> /// <returns>32 indicates 32-bit OS, and 64 indicates 64-bit OS.</returns> private UInt16 GetOSAddressWidth() { try { SelectQuery query = new SelectQuery("select AddressWidth from Win32_Processor"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); ManagementObjectCollection moCollection = searcher.Get(); foreach (ManagementObject mo in moCollection) { foreach (PropertyData property in mo.Properties) { if (property.Name.Equals("AddressWidth")) { return Convert.ToUInt16(property.Value); } } } throw new Exception("Didn't get expected query result from WMI."); } catch (Exception ex) { throw new Exception("Error occurs in WMI query.", ex.InnerException); } }
/// <summary> /// Gets COM port list. /// </summary> /// <returns>Enumerable list of COM ports.</returns> public static IEnumerable<ComPortItem> GetComPorts() { var result = new List<ComPortItem>(); ManagementScope connectionScope = new ManagementScope(); SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery); try { foreach (ManagementObject item in searcher.Get()) { string portName = item["DeviceID"].ToString(); string portDescription = item["DeviceID"].ToString(); // COM port with Arduino is not detected. // portDescription.Contains("Arduino") is not working. // I should find out how to get value "Arduino Uno" from "Описание устройства, предоставленное шиной" parameter. // And where is this parameter? result.Add(new ComPortItem(portName, portDescription.Contains("Arduino"))); } } catch (ManagementException) { } return result; }
private static void Win32_SharesSearcher() { SelectQuery query = new SelectQuery("select * from Win32_Share where Name=\"" + sharename + "\""); using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { foreach (ManagementObject mo in searcher.Get()) { foreach (PropertyData prop in mo.Properties) { form.textBox1.AppendText(prop.Name + " = " + mo[prop.Name] + Environment.NewLine); } //form.textBox1.AppendText(string.Format("Win32ShareName: {0} Description {1} Path {2} ", mo.Properties["Name"].Value, mo.Properties["Description"].Value, mo.Properties["Path"].Value) + Environment.NewLine); } } ManagementObject winShareP = new ManagementObject("root\\CIMV2", "Win32_Share.Name=\"" + sharename + "\"", null); ManagementBaseObject outParams = winShareP.InvokeMethod("GetAccessMask", null, null); form.textBox1.AppendText(String.Format("access Mask = {0:x}", outParams["ReturnValue"]) + Environment.NewLine); ManagementBaseObject inParams = winShareP.GetMethodParameters("SetShareInfo"); form.textBox1.AppendText("SetShareInfor in parameters" + Environment.NewLine); foreach (PropertyData prop in inParams.Properties) { form.textBox1.AppendText(String.Format("PROP = {0}, TYPE = {1} ", prop.Name, prop.Type.ToString()) + Environment.NewLine); } Object access = inParams.GetPropertyValue("Access"); //Stopped development here because ShareAFolder project exists. The rest of the development is there //Maybe should copy Sahare a Folder content to here at some point }
GetMetricDefinition( string name, ManagementScope scope) { string metricDefQueryWql = string.Format(CultureInfo.InvariantCulture, "SELECT * FROM CIM_BaseMetricDefinition WHERE ElementName=\"{0}\"", name); SelectQuery metricDefQuery = new SelectQuery(metricDefQueryWql); using (ManagementObjectSearcher metricDefSearcher = new ManagementObjectSearcher( scope, metricDefQuery)) using (ManagementObjectCollection metricDefCollection = metricDefSearcher.Get()) { // // There will always only be one metric definition for a given name. // if (metricDefCollection.Count != 1) { throw new ManagementException(string.Format(CultureInfo.CurrentCulture, "A single CIM_BaseMetricDefinition derived instance could not be found " + "for name \"{0}\"", name)); } ManagementObject metricDef = WmiUtilities.GetFirstObjectFromCollection(metricDefCollection); return metricDef; } }
public List<PCU> CPU_info() { List<PCU> CPUInfo = new List<PCU>(); System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select Name,NumberOfCores,NumberOfLogicalProcessors,MaxClockSpeed from Win32_Processor"); //initialize the searcher with the query it is supposed to execute using (System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query)) { try { //execute the query foreach (System.Management.ManagementObject process in searcher.Get()) { PCU cpu = new PCU(process["Name"].ToString(), process["NumberOfCores"].ToString(), process["NumberOfLogicalProcessors"].ToString(), process["MaxClockSpeed"].ToString()); CPUInfo.Add(cpu); } } catch (Exception e) { Console.WriteLine(e); } } return CPUInfo; }
//get the actual percentage of brightness static int GetBrightness() { //define scope (namespace) System.Management.ManagementScope s = new System.Management.ManagementScope("root\\WMI"); //define query System.Management.SelectQuery q = new System.Management.SelectQuery("WmiMonitorBrightness"); //output current brightness System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(s, q); System.Management.ManagementObjectCollection moc = mos.Get(); //store result byte curBrightness = 0; foreach (System.Management.ManagementObject o in moc) { curBrightness = (byte)o.GetPropertyValue("CurrentBrightness"); break; //only work on the first object } moc.Dispose(); mos.Dispose(); return((int)curBrightness); }
private void tsbRun_Click(object sender, EventArgs e) { SelectQuery query = new SelectQuery("SELECT * FROM Win32_UserAccount"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); foreach (ManagementObject os in searcher.Get()) { this.txtResult.AppendText(os["Name"] + ";"); } this.txtResult.AppendText("\r\n"); //连接远程计算机 ConnectionOptions co = new ConnectionOptions(); co.Username = "******"; co.Password = "******"; System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\192.168.100.51\\root\\cimv2", co); //查询远程计算机 System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem"); ManagementObjectSearcher query1 = new ManagementObjectSearcher(ms, oq); ManagementObjectCollection queryCollection1 = query1.Get(); foreach (ManagementObject mo in queryCollection1) { string[] ss = { "" }; mo.InvokeMethod("Reboot", ss); this.txtResult.AppendText(mo.ToString()); } }
/// <summary> /// Query the brightness setting of the display. /// </summary> internal static int GetBrightnessLevel() { try { var s = new ManagementScope("root\\WMI"); var q = new SelectQuery("WmiMonitorBrightness"); var mos = new ManagementObjectSearcher(s, q); var moc = mos.Get(); foreach (var managementBaseObject in moc) { foreach (var o in managementBaseObject.Properties) { if (o.Name == "CurrentBrightness") return Convert.ToInt32(o.Value); } } moc.Dispose(); mos.Dispose(); } catch (ManagementException ex) { // ignore // it is possible that laptop lid is closed, and using external monitor } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return 0; }
/// <summary> /// Autodetects the COM port. /// </summary> /// <param name="description">The description.</param> /// <returns></returns> public static string AutodetectCOMPort(string description) { var connectionScope = new ManagementScope(); var serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort"); var searcher = new ManagementObjectSearcher(connectionScope, serialQuery); try { foreach (ManagementObject item in searcher.Get()) { var desc = item["Description"].ToString(); var deviceId = item["DeviceID"].ToString(); if (desc.Contains(description)) { return deviceId; } } } catch (ManagementException) { } return null; }
static byte[] QueryAvailableBrightnessLevels() { byte[] BrightnessLevels = new byte[0]; System.Management.ManagementScope ManScope = new System.Management.ManagementScope("ROOT\\WMI"); System.Management.SelectQuery ManQuery = new System.Management.SelectQuery("WmiMonitorBrightness"); System.Management.ManagementObjectSearcher ManObjS = new System.Management.ManagementObjectSearcher(ManScope, ManQuery); try { System.Management.ManagementObjectCollection ManObjC = ManObjS.Get(); foreach (System.Management.ManagementObject ManObject in ManObjC) { BrightnessLevels = (byte[])ManObject.GetPropertyValue("Level"); break; } ManObjC.Dispose(); ManObjS.Dispose(); } catch (Exception VideoException) { MessageBox.Show("Unable to get available brightness levels. The video card may not support this feature or the driver is not installed. Error: " + VideoException.Message, "BControl", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(BrightnessLevels); }
public IEnumerable<Database.Models.Process> GetAllProcesses() { string[] propertiesToSelect = new[] { "Handle", "ProcessId", "Name" }; SelectQuery processQuery = new SelectQuery("Win32_Process", null, propertiesToSelect); List<Database.Models.Process> proceses = new List<Database.Models.Process>(); using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(processQuery)) { using (ManagementObjectCollection processes = searcher.Get()) { foreach (ManagementObject process in processes) { object[] outParameters = new object[3]; uint result = (uint) process.InvokeMethod("GetOwner", outParameters); if (result == 0) { #if (DEBUG) Console.WriteLine("{0}\\{1} - {2}", outParameters[Domain], outParameters[Username], process["Name"]); #endif //TODO Search for Account by name adding ID proceses.Add(new Database.Models.Process { Name = (string) process["Name"], CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }); } } } } return proceses; }
private void GetServicesForComputer(string computerName) { ManagementScope scope = CreateNewManagementScope(computerName); SelectQuery query = new SelectQuery("select * from Win32_Service"); try { using (var searcher = new ManagementObjectSearcher(scope, query)) { ManagementObjectCollection services = searcher.Get(); List<string> serviceNames = (from ManagementObject service in services select service["Caption"].ToString()).ToList(); lstServices.DataSource = serviceNames; } } catch (Exception exception) { lstServices.DataSource = null; lstServices.Items.Clear(); lblErrors.Text = exception.Message; Console.WriteLine(Resources.MainForm_GetServicesForServer_Error__ + exception.Message); } }
private void Button_Click_1(object sender, RoutedEventArgs e) { SelectQuery query = new SelectQuery("Win32_NetworkAdapter", "NetConnectionStatus=2"); ManagementObjectSearcher search = new ManagementObjectSearcher(query); for (int i = 1; i <= 12; i++) { query = new SelectQuery("Win32_NetworkAdapter", "NetConnectionStatus="+i.ToString()); search = new ManagementObjectSearcher(query); foreach (ManagementObject result in search.Get()) { NetworkAdapter adapter = new NetworkAdapter(result); // Identify the adapter you wish to disable here. // In particular, check the AdapterType and // Description properties. // Here, we're selecting the LAN adapters. //if (adapter.AdapterType.Equals("Ethernet 802.3")) //{ // adapter.Enable(); //} if (adapter.AdapterType.Equals("Wireless")) { adapter.Enable(); } } } }
/// <summary> /// </summary> /// <returns>A list of all users and their security IDs</returns> public static List<UserData> GetAllUserData() { var query = new SelectQuery("Win32_UserAccount"); var searcher = new ManagementObjectSearcher(query); return (from ManagementBaseObject envVar in searcher.Get() select new UserData(envVar["Name"].ToString(), envVar["SID"].ToString())).ToList(); }
QueryMetricCollectionEnabledForVirtualMachine( string name) { ManagementScope scope = new ManagementScope(@"root\virtualization\v2"); // // Retrieve the Msvm_ComputerSystem and the CIM_BaseMetricDefinition derived instance // that we want to query the MetricCollectionEnabled state for. // SelectQuery metricDefForMeQuery; const string metricDefinitionName = "Aggregated Average CPU Utilization"; using (ManagementObject vm = WmiUtilities.GetVirtualMachine(name, scope)) using (ManagementObject metricDefinition = MetricUtilities.GetMetricDefinition(metricDefinitionName, scope)) { // // Build the WQL query used to retrieve the Msvm_MetricDefForME association between // these two objects. It is the one that contains the MetricCollectionEnabled // property. // string metricDefForMeQueryWql = string.Format(CultureInfo.InvariantCulture, "SELECT * FROM Msvm_MetricDefForME WHERE Antecedent=\"{0}\" AND Dependent=\"{1}\"", WmiUtilities.EscapeObjectPath(vm.Path.Path), WmiUtilities.EscapeObjectPath(metricDefinition.Path.Path)); metricDefForMeQuery = new SelectQuery(metricDefForMeQueryWql); } using (ManagementObjectSearcher metricDefForMeSearcher = new ManagementObjectSearcher(scope, metricDefForMeQuery)) using (ManagementObjectCollection metricDefForMeCollection = metricDefForMeSearcher.Get()) { // // There will always only be one Msvm_MetricDefForME for a given managed element and // metric definition. // if (metricDefForMeCollection.Count != 1) { throw new ManagementException(string.Format(CultureInfo.CurrentCulture, "A single Msvm_MetricDefForME could not be found for virtual machine " + "\"{0}\" and metric definition \"{1}\"", name, metricDefinitionName)); } foreach (ManagementObject metricDefForMe in metricDefForMeCollection) { using (metricDefForMe) { string metricCollectionState = Enum.Parse(typeof(MetricEnabledState), metricDefForMe["MetricCollectionEnabled"].ToString()).ToString(); Console.WriteLine("MetricCollectionEnabled = {0}", metricCollectionState); } } } }
static _tvStatusHelper() { _mediaDisplayDeviceIds = new List<string>(); //retrieve the device ids stored in app.config. Multiple IDs stored as semi-colon delimited list. _mediaDisplayDeviceIds.AddRange(ConfigurationManager.AppSettings["mediaDisplayDeviceIds"].Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)); _monitorIdSelectQuery = new SelectQuery(MON_ID_SELECT_QUERY_TEXT); _mos = new ManagementObjectSearcher(_monitorIdSelectQuery); _tvOnDisplayThreshold = Int32.Parse(ConfigurationManager.AppSettings["tvOnDisplayThreshold"]); }
public static string GetBaseBoardSN() { SelectQuery Query = new SelectQuery("Select * from Win32_BaseBoard"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(Query); ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator(); enumerator.MoveNext(); ManagementBaseObject baseBoard = enumerator.Current; return baseBoard.GetPropertyValue("SerialNumber").ToString(); }
public static void Test_wmi_01() { SelectQuery selectQuery = new SelectQuery("Win32_LogicalDisk"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery); foreach (ManagementObject disk in searcher.Get()) { Trace.WriteLine(disk.ToString()); } }
public void DisableNetworkConnections() { SelectQuery wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionId != NULL"); ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(wmiQuery); foreach (ManagementObject item in searchProcedure.Get()) { System.Diagnostics.Debug.WriteLine(item["NetConnectionId"]); item.InvokeMethod("Disable", null); } }
public static NetworkAdapterConfiguration GetAdapterConfiguration(int id) { SelectQuery query = new SelectQuery("Win32_NetworkAdapterConfiguration", "InterfaceIndex=" + id); ManagementObjectSearcher search = new ManagementObjectSearcher(query); foreach (ManagementObject result in search.Get()) return new NetworkAdapterConfiguration(result); return null; }
private void button1_Click(object sender, EventArgs e) { //PropertyDataCollection properties = null; System.Management.ManagementObjectSearcher mox = null; System.Management.ManagementObjectCollection mok = null; try { //define scope (namespace) System.Management.ManagementScope x = new System.Management.ManagementScope("root\\WMI"); //define query System.Management.SelectQuery q = new System.Management.SelectQuery("WMIACPI_IO"); //output current brightness mox = new System.Management.ManagementObjectSearcher(x, q); mok = mox.Get(); mok = mox.Get(); foreach (System.Management.ManagementObject o in mok) { byte[] curBytes = o.Properties["IOBytes"].Value as byte[]; curBytes[81] = 100; o.SetPropertyValue("IOBytes", curBytes); //properties = o.Properties; //o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); //note the reversed order - won't work otherwise! break; //only work on the first object } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); Console.WriteLine(ex.Message); Console.WriteLine(ex.Source); } finally { if (mox != null) { mox.Dispose(); } if (mok != null) { mok.Dispose(); } } }
public List <string> GetDrivers() { var col = new List <string>(); //Declare, Search, and Get the Properties in Win32_SystemDriver System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver"); System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query); foreach (System.Management.ManagementObject ManageObject in searcher.Get()) { //Declare the Main Item var name = ManageObject["Name"].ToString() + " - " + ManageObject["State"].ToString(); // + " - " + ManageObject["Description"].ToString(); col.Add(name); } return(col); }
static void injectBrightnessWithValue(byte brightness) { System.Management.ManagementScope ManScope = new System.Management.ManagementScope("ROOT\\WMI"); System.Management.SelectQuery ManQuery = new System.Management.SelectQuery("WmiMonitorBrightnessMethods"); System.Management.ManagementObjectSearcher ManObjS = new System.Management.ManagementObjectSearcher(ManScope, ManQuery); System.Management.ManagementObjectCollection ManObjC = ManObjS.Get(); foreach (System.Management.ManagementObject ManObject in ManObjC) { ManObject.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, brightness }); break; } ManObjC.Dispose(); ManObjS.Dispose(); }
public bool driverExists() { System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver"); query.Condition = "Name = 'KMUC74FP.DLL'"; System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query); var drivers = searcher.Get(); if (drivers.Count > 0) { return(true); } else { return(false); } }
// Set screen brightness static void SetBrightness(byte targetBrightness) { System.Management.ManagementScope s = new System.Management.ManagementScope("root\\WMI"); // Define scope (namespace) System.Management.SelectQuery q = new System.Management.SelectQuery("WmiMonitorBrightnessMethods"); // Define query System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(s, q); // Output current screen brightness System.Management.ManagementObjectCollection moc = mos.Get(); // Store result is reversed order - apparently won't work otherwise foreach (System.Management.ManagementObject o in moc) { o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); break; // Only work on the first object } moc.Dispose(); mos.Dispose(); }
public void RemovePrinter(string printer) { System.Management.ManagementScope oManagementScope = new System.Management.ManagementScope(System.Management.ManagementPath.DefaultPath); oManagementScope.Connect(); System.Management.SelectQuery query = new System.Management.SelectQuery("SELECT * FROM Win32_Printer"); System.Management.ManagementObjectSearcher search = new System.Management.ManagementObjectSearcher(oManagementScope, query); System.Management.ManagementObjectCollection printers = search.Get(); foreach (System.Management.ManagementObject p in printers) { string pName = p["Name"].ToString().ToLower(); if (pName.Equals(printer.ToLower())) { p.Delete(); break; } } MessageBox.Show("Printer: " + printer + " has successfully been removed."); }
private static PCData setPCData() { PCData pd = new PCData(); try { System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select * from Win32_ComputerSystem"); using (System.Management.ManagementObjectSearcher searcher1 = new System.Management.ManagementObjectSearcher(query)) { foreach (System.Management.ManagementObject process in searcher1.Get()) { process.Get(); pd.vendorPC = "" + process["Manufacturer"]; pd.modelPC = "" + process["Model"]; } } ManagementObjectSearcher MOS = new ManagementObjectSearcher("Select * From Win32_BIOS"); foreach (ManagementObject getserial in MOS.Get()) { pd.serialNumberPC = getserial["SerialNumber"].ToString(); } pd.systemName = System.Environment.MachineName; pd.version = GetOSFriendlyName(); pd.domain = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName; pd.assetName = pd.vendorPC + " " + pd.modelPC; Database d = new Database(); if (!d.verifyPC(pd.serialNumberPC)) { d.insertPC(pd); } } catch (Exception t) { Console.WriteLine(t.Message); } return(pd); }
//public void test() //{ // WMIHelper helper = new WMIHelper("root\\CimV2"); // var acr = helper.Query("SELECT hardwareID FROM Win32_PnPEntity where name like '%ACR122%'"); //} public string DriverState(string driverName = "ACR122U") { System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver"); query.Condition = $"Name like '%{driverName}%'"; if (running) { query.Condition += " AND State = 'running'"; } System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query); var drivers = searcher.Get(); if (drivers.Count > 0) { var dr = drivers.OfType <ManagementObject>().First(); return(dr["State"].ToString().ToLower()); } return(""); }
static int FetchCurrentBrightness() { byte CurrentBrightness = 0; System.Management.ManagementScope ManScope = new System.Management.ManagementScope("ROOT\\WMI"); System.Management.SelectQuery ManQuery = new System.Management.SelectQuery("WmiMonitorBrightness"); System.Management.ManagementObjectSearcher ManObjS = new System.Management.ManagementObjectSearcher(ManScope, ManQuery); System.Management.ManagementObjectCollection ManObjC = ManObjS.Get(); foreach (System.Management.ManagementObject ManObject in ManObjC) { CurrentBrightness = (byte)ManObject.GetPropertyValue("CurrentBrightness"); break; } ManObjC.Dispose(); ManObjS.Dispose(); return((int)CurrentBrightness); }
static void Main(string[] args) { Console.WriteLine("Searching for driver..."); System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver"); query.Condition = "Name = 'SomeDriverName'"; System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query); var drivers = searcher.Get(); if (drivers.Count > 0) { Console.WriteLine("Driver exists."); } else { Console.WriteLine("Driver could not be found."); } Console.ReadLine(); }
static CASLoops() { System.Management.SelectQuery query = new System.Management.SelectQuery( "SELECT NumberOfProcessors FROM Win32_ComputerSystem"); System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query); System.Management.ManagementObjectCollection results = searcher.Get(); foreach (System.Management.ManagementBaseObject obj in results) { foreach (System.Management.PropertyData data in obj.Properties) { if (data.Value != null) { NCPUS = Convert.ToInt32(data.Value); } } } }
/// <summary> /// Lấy Log On As /// </summary> /// <param name="serviceName"></param> /// <returns></returns> public string GetLogOnAs(string serviceName) { try { string logonas = ""; SelectQuery query = new System.Management.SelectQuery(string.Format( "select name, startname from Win32_Service where name = '{0}'", serviceName)); using (ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query)) { foreach (ManagementObject service in searcher.Get()) { logonas = service["startname"].ToString(); } } return(logonas); } catch (Exception) { return("error"); } }
private bool setBrightness(int brightness) { byte brightnessInBytes; if (brightness >= 0 && brightness <= 100) { brightnessInBytes = (byte)(brightness); } else { return(false); } try { /* DANGER ZONE CODE - Only about 80% sure what this does */ System.Management.ManagementScope scope = new System.Management.ManagementScope("root\\WMI"); System.Management.SelectQuery query = new System.Management.SelectQuery("WmiMonitorBrightnessMethods"); System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(scope, query); System.Management.ManagementObjectCollection moc = mos.Get(); foreach (System.Management.ManagementObject o in moc) //Don't ask questions you don't want to know the answer to { o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, brightnessInBytes }); break; //Searously } moc.Dispose(); mos.Dispose(); /* END OF DANGER ZONE CODE */ } catch (Exception E) { Console.WriteLine(E.ToString()); return(false); } return(true); }
private static string GetProcessPath(string processName) { var query = new System.Management.SelectQuery(@"SELECT * FROM Win32_Process where Name LIKE '%" + processName + "%'"); ManagementObjectCollection processes; //initialize the searcher with the query it is //supposed to execute using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { //execute the query processes = searcher.Get(); if (processes.Count <= 0) { return(null); } } if (processes == null || processes.Count == 0) { return(null); } return((from ManagementObject process in processes select(process.Properties["ExecutablePath"].Value ?? string.Empty).ToString()).FirstOrDefault()); }
private static string setPCData() { PCData pd = new PCData(); Database d = new Database(); try { System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select * from Win32_ComputerSystem"); //initialize the searcher with the query it is supposed to execute using (System.Management.ManagementObjectSearcher searcher1 = new System.Management.ManagementObjectSearcher(query)) { //execute the query foreach (System.Management.ManagementObject process in searcher1.Get()) { //print system info process.Get(); pd.vendorPC = "" + process["Manufacturer"]; pd.modelPC = "" + process["Model"]; } } //to start searching at Windows BIOS table for the device serial number //shows the serial number of the PC ManagementObjectSearcher MOS = new ManagementObjectSearcher("Select * From Win32_BIOS"); foreach (ManagementObject getserial in MOS.Get()) { pd.serialNumberPC = getserial["SerialNumber"].ToString(); } pd.systemName = System.Environment.MachineName; pd.version = GetOSFriendlyName(); pd.domain = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName; pd.assetName = pd.vendorPC + " " + pd.modelPC; if (!d.verifyPC(pd.serialNumberPC)) { d.InsertPC(pd); } else { d.UpdatePC(pd); } } catch (Exception t) { WriteToFile("Exception thrown in setPC " + t.Message); pd.systemName = "Generic system name"; pd.vendorPC = "this"; pd.serialNumberPC = "Check"; pd.version = "Generic PC Windows Version"; pd.domain = "Generic domain"; pd.modelPC = "PC"; pd.assetName = pd.vendorPC + pd.modelPC + " should be checked"; d.InsertPC(pd); } //pd.show(); return(pd.serialNumberPC); }
private void SetSlideBarStatus(int a, int b) { if (a != 1) { return; } PropertyDataCollection properties = null; System.Management.ManagementObjectSearcher mox = null; System.Management.ManagementObjectCollection mok = null; try { //define scope (namespace) System.Management.ManagementScope x = new System.Management.ManagementScope("root\\WMI"); //define query System.Management.SelectQuery q = new System.Management.SelectQuery("WMIACPI_IO"); //output current brightness mox = new System.Management.ManagementObjectSearcher(x, q); mok = mox.Get(); while (true) { mok = mox.Get(); foreach (System.Management.ManagementObject o in mok) { byte[] curBytes = o.Properties["IOBytes"].Value as byte[]; if (b == 32 || b == 33) { curBytes[84] = (byte)(b % 2); } if (b == 0 || b == 1) { curBytes[83] = (byte)(b % 2); } //curBytes[85] = 1; //curBytes[66] = 4; o.SetPropertyValue("IOBytes", curBytes); //properties = o.Properties; //o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); //note the reversed order - won't work otherwise! break; //only work on the first object } //Console.WriteLine(properties["IOBytes"].Value); PropertyData ioBytes = properties["IOBytes"]; byte[] bytes = ioBytes.Value as byte[]; //bytes[83] = 100; //lastBytes = bytes; //((byte[])ioBytes.Value)[83] = 4; //((byte[])ioBytes.Value)[84] = 100; //int place = -1; //if (!isTheSame(bytes, out place)) //{ // Console.WriteLine("PLACE: " + place); // Console.WriteLine(BitConverter.ToString(bytes)); //} //if (bytes[83] < 3) break; } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); Console.WriteLine(ex.Message); Console.WriteLine(ex.Source); } finally { if (mox != null) { mox.Dispose(); } if (mok != null) { mok.Dispose(); } } }
static void Main(string[] args) { Console.SetWindowSize(Console.LargestWindowWidth - 5, Console.LargestWindowHeight - 1); PropertyDataCollection properties = null; System.Management.ManagementObjectSearcher mox = null; System.Management.ManagementObjectCollection mok = null; int repeatTimes = 0; try { //define scope (namespace) System.Management.ManagementScope x = new System.Management.ManagementScope("root\\WMI"); //define query System.Management.SelectQuery q = new System.Management.SelectQuery("WMIACPI_IO"); //output current brightness mox = new System.Management.ManagementObjectSearcher(x, q); mok = mox.Get(); while (true) { using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = mox.Get().GetEnumerator()) { if (enumerator.MoveNext()) { ManagementObject managementObject = (ManagementObject)enumerator.Current; ConsoleKeyInfo ckey = Console.ReadKey(); if (ckey.Key == ConsoleKey.C) { break; } if (ckey.Key == ConsoleKey.F) { managementObject.SetPropertyValue("Active", false); } else { if (ckey.Key == ConsoleKey.T) { managementObject.SetPropertyValue("Active", true); } else { Console.WriteLine((bool)managementObject["Active"]); } } managementObject.Put(); } } } while (true) { System.Threading.Thread.Sleep(200); mok = mox.Get(); foreach (System.Management.ManagementObject o in mok) { properties = o.Properties; //o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); //note the reversed order - won't work otherwise! break; //only work on the first object } //Console.WriteLine(properties["IOBytes"].Value); PropertyData ioBytes = properties["IOBytes"]; byte[] bytes = ioBytes.Value as byte[]; //bytes[83] = 100; //lastBytes = bytes; //((byte[])ioBytes.Value)[83] = 4; //((byte[])ioBytes.Value)[84] = 100; int place = -1; if (!isTheSame(bytes, out place)) { if (++repeatTimes >= 10) { repeatTimes = 0; Console.Clear(); } string message = "PLACE: " + place + "\r\n" + BitConverter.ToString(bytes); Console.WriteLine(message); } } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); Console.WriteLine(ex.Message); Console.WriteLine(ex.Source); } finally { if (mox != null) { mox.Dispose(); } if (mok != null) { mok.Dispose(); } } }