J'ai une classe qui tire les informations du modèle (informations matérielles) Pour un code de machine local, c'est comme:
Dim objWMI As New clsWMI() With objWMI Debug.WriteLine("Computer Name = " & .ComputerName) Me.Label1.Text = "Name: " & .ComputerName Debug.WriteLine("Computer Manufacturer = " & .Manufacturer) Me.Label2.Text = "Manufacturer: " & .Manufacturer Debug.WriteLine("Computer Model = " & .Model) Me.Label3.Text = "Model: " & .Model Debug.WriteLine("OS Name = " & .OsName) Me.Label4.Text = "OS Name: " & .OsName Debug.WriteLine("OS Version = " & .OSVersion) Me.Label5.Text = "OS VERSION: " & .OSVersion Debug.WriteLine("System Type = " & .SystemType) Me.Label6.Text = "System type = " & .SystemType Debug.WriteLine("Total Physical Memory = " & .TotalPhysicalMemory) Me.Label7.Text = "Memory: " & .TotalPhysicalMemory Debug.WriteLine("Windows Directory = " & .WindowsDirectory) Me.Label8.Text = "Win Directory: " & .WindowsDirectory End With
4 Réponses :
Je pense que vous devez obtenir le numéro de série du BIOS comme celui-ci:
Select SerialNumber From Win32_BIOS
Bonjour Jason J'ai fait quelque chose comme ceci: Objs = Nouveau ManagementObjectSearcher ("Select * à partir de win32_systemenclusion") puis j'ai pu tirer le numéro de série comme: pour chaque objmgmt à objs.get m_strserial = objmgmt ("SerialNumber"). Tostring ( ) Ensuite, je suppose que ma question est la différence entre Win32_bios et Win32_Systemenclost? Je l'ai même couru sur une machine reconstruite et ça marche ...
D'après ce que je peux dire, Win32_Ssytemencure est basé sur la boîte physique que l'ordinateur est intégré, alors que Win32_bios est la puce de la carte mère. Ma théorie est si vous déplacez une carte mère de son cas original à un autre cas, les balises de service que vous obtenez du BIOS et que SystemenClosure pourrait être différente, mais je n'ai pas testé cela. Il est probablement sûr de supposer que le numéro de série de l'une ou l'autre classe serait précis.
Ou utilisez C # pour appeler Obtenir cette sortie DOS WMIC PATH WIN32_BIOS Get SerialNumber / Format: Liste CODE>
Voici un autre code C # qui devrait l'obtenir
ici, je reçois de Win32_ComputerSystem Mais si vous désirez, vous pouvez facilement le convertir en exécutant Againt win32_bios p>
Il le fait déjà. Aucune des valeurs que vous interrogez concerne la balise de service de la machine.
Jason J'ai posté ceci ci-dessus: Bonjour Jason j'ai fait quelque chose comme ça: Objs = Nouveau GestionObjecteRequar ("Select * à partir de win32_systemenclusion") puis j'ai pu extraire le numéro de série comme: pour chaque objmgmt à objs.get m_strserial = objmgmt (" SerialNumber ") Je l'ai même couru sur une machine reconstruite et ça marche ...
namespace Con2 { using System; using System.Management; using System.IO; class Program { public static string computerName = "localhost"; // a central place to store the info, public static string inventFile = @"\\Wdstorage\public\install\Inventfile.txt"; static void Main(string[] args) { try { FileStream fileStream = new FileStream(inventFile, FileMode.Append); if (File.Exists(inventFile)) { using (StreamWriter sw = new StreamWriter(fileStream)) { sw.Write("Added: " + DateTime.Now.ToString()); ManagementScope scope = new ManagementScope(@"\\" + computerName + @"\root\cimv2"); scope.Connect(); ObjectQuery query = new ObjectQuery("Select * From Win32_SystemEnclosure"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); ManagementObjectCollection objColl = searcher.Get(); foreach (ManagementObject o in objColl) { Console.WriteLine("ServiceTag=" + o["SerialNumber"].ToString()); sw.Write(", ServiceTag=" + o["SerialNumber"].ToString()); } query = new ObjectQuery("Select * from Win32_ComputerSystem"); searcher = new ManagementObjectSearcher(scope, query); objColl = searcher.Get(); foreach (ManagementObject oReturn in objColl) { string Manufacturer = (string)oReturn["Manufacturer"]; sw.Write(", Manufacturer=" + (string)oReturn["Manufacturer"]); string Model = (string)oReturn["Model"]; sw.Write(", Model=" + (string)oReturn["Model"]); string name = (string)oReturn["Name"]; sw.Write(", name=" + (string)oReturn["name"]); string userName = (string)oReturn["UserName"]; sw.Write(", userName=" + (string)oReturn["userName"]); Console.WriteLine((string)oReturn["Manufacturer"]); Console.WriteLine((string)oReturn["Model"]); Console.WriteLine((string)oReturn["Name"]); Console.WriteLine((string)oReturn["UserName"]); } sw.WriteLine(); sw.Close(); } } // else } catch (Exception ex) { Console.WriteLine("Error :" + ex.Message ); Console.WriteLine("Prova att köra programmet en gång till.."); } Console.WriteLine(""); Console.Write("<Enter> to quit :"); Console.ReadLine(); } } }
J'ai écrit un programme de récupérer la balise de service Dell, le code express et les liens vers les informations pilote et garantie. Vous pouvez trouver le code C # à p>
http://samuelhaddad.com/software-Projects/dellserviceAgnorer/ P >
J'espère que cela aide les autres. P>