我有一个提取模型信息的类(硬件信息) 对于本地机器代码是这样的:
Imports System.Management
Public Class clsWMI
Private objOS As ManagementObjectSearcher
Private objCS As ManagementObjectSearcher
Private objMgmt As ManagementObject
Private m_strComputerName As String
Private m_strManufacturer As String
Private m_StrModel As String
Private m_strOSName As String
Private m_strOSVersion As String
Private m_strSystemType As String
Private m_strTPM As String
Private m_strWindowsDir As String
Public Sub New()
objOS = New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
objCS = New ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem")
For Each objMgmt In objOS.Get
m_strOSName = objMgmt("name").ToString()
m_strOSVersion = objMgmt("version").ToString()
m_strComputerName = objMgmt("csname").ToString()
m_strWindowsDir = objMgmt("windowsdirectory").ToString()
Next
For Each objMgmt In objCS.Get
m_strManufacturer = objMgmt("manufacturer").ToString()
m_StrModel = objMgmt("model").ToString()
m_strSystemType = objMgmt("systemtype").ToString
m_strTPM = objMgmt("totalphysicalmemory").ToString()
Next
End Sub
Public ReadOnly Property ComputerName()
Get
ComputerName = m_strComputerName
End Get
End Property
Public ReadOnly Property Manufacturer()
Get
Manufacturer = m_strManufacturer
End Get
End Property
Public ReadOnly Property Model()
Get
Model = m_StrModel
End Get
End Property
Public ReadOnly Property OsName()
Get
OsName = m_strOSName
End Get
End Property
Public ReadOnly Property OSVersion()
Get
OSVersion = m_strOSVersion
End Get
End Property
Public ReadOnly Property SystemType()
Get
SystemType = m_strSystemType
End Get
End Property
Public ReadOnly Property TotalPhysicalMemory()
Get
TotalPhysicalMemory = m_strTPM
End Get
End Property
Public ReadOnly Property WindowsDirectory()
Get
WindowsDirectory = m_strWindowsDir
End Get
End Property
End Class
是否有可能从WMI获取服务标签?从客户端表单我显示如下值:
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
答案 0 :(得分:2)
我认为您需要从BIOS中获取序列号,如下所示:
Select SerialNumber From Win32_BIOS
在戴尔,我相信这对应于服务标签
答案 1 :(得分:1)
这是一些应该得到它的C#代码
我来自Win32_ComputerSystem,但如果您愿意,可以轻松将其转换为Win32_Bios
void GetComputerSystem()
{
// http://msdn.microsoft.com/en-us/library/aa394102(VS.85).aspx
ManagementObjectCollection oReturnCollection;
try
{
ObjectQuery query = new ObjectQuery("Select UserName,Name,Manufacturer,Model from Win32_ComputerSystem");
ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(gManager, query);
oReturnCollection = oSearcher.Get();
oSearcher.Dispose();
}
catch
{
gHasError = true;
return;
}
//loop through found drives and write out info
foreach (ManagementObject oReturn in oReturnCollection)
{
// Disk name
object oLoggedInUser = oReturn["UserName"];
if (oLoggedInUser == null)
gOSInfo.UserName = "None";
else
gOSInfo.UserName = (string)oLoggedInUser;
string Manufacturer = (string)oReturn["Manufacturer"];
string Model = (string)oReturn["Model"];
}
}
}
答案 2 :(得分:1)
我写了一个程序,可以恢复戴尔服务标签,快速代码以及驱动程序和保修信息的链接。您可以在
找到C#代码http://samuelhaddad.com/software-projects/dellservicetagfinder/
我希望这有助于其他人。
答案 3 :(得分:0)
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();
}
}
}