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  "" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								}