using System.Management ;
namespace SunlightCentralizedControlManagement_SCCM_.UserClass
{
/// <summary>
/// 获取硬件SN
/// </summary>
internal class HardwareSN
{
/// <summary>
/// 获取cpuid
/// </summary>
public static string GetCPUSerialNumber ( )
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher ( "SELECT * FROM Win32_Processor" ) ;
string cpuSerialNumber = "" ;
foreach ( ManagementObject mo in searcher . Get ( ) )
{
cpuSerialNumber = mo [ "ProcessorId" ] . ToString ( ) . Trim ( ) ;
break ;
}
return cpuSerialNumber ;
}
catch
{
return "" ;
}
}
/// <summary>
/// 获取主板id
/// </summary>
public static string GetBIOSSerialNumber ( )
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher ( "SELECT * FROM Win32_BIOS" ) ;
string biosSerialNumber = "" ;
foreach ( ManagementObject mo in searcher . Get ( ) )
{
biosSerialNumber = mo . GetPropertyValue ( "SerialNumber" ) . ToString ( ) . Trim ( ) ;
break ;
}
return biosSerialNumber ;
}
catch
{
return "" ;
}
}
/// <summary>
/// 获取硬盘id
/// </summary>
public static string GetHardDiskSerialNumber ( )
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher ( "SELECT * FROM Win32_PhysicalMedia" ) ;
string hardDiskSerialNumber = "" ;
foreach ( ManagementObject mo in searcher . Get ( ) )
{
hardDiskSerialNumber = mo [ "SerialNumber" ] . ToString ( ) . Trim ( ) ;
break ;
}
return hardDiskSerialNumber ;
}
catch
{
return "" ;
}
}
/// <summary>
/// 获取网卡id
/// </summary>
public static string GetNetCardMACAddress ( )
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher ( "SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))" ) ;
string netCardMACAddress = "" ;
foreach ( ManagementObject mo in searcher . Get ( ) )
{
netCardMACAddress = mo [ "MACAddress" ] . ToString ( ) . Trim ( ) ;
break ;
}
return netCardMACAddress ;
}
catch
{
return "" ;
}
}
}
}