package com.lxzn.system; import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; /** * @Description: * @Author: zhangherong * @Date: Created in 2021/6/15 11:01 * @Version: 1.0 * @Modified By: */ public class MiscUtil { public static String getMotherboardSN(){ String result = ""; try { File file = File.createTempFile("realhowto", ".vbs"); file.deleteOnExit(); FileWriter fw = new java.io.FileWriter(file); // String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n" // + "Set colItems = objWMIService.ExecQuery _ \n" // + " (\"Select * from Win32_BaseBoard\") \n" // + "For Each objItem in colItems \n" // + " Wscript.Echo objItem.SerialNumber \n" // + " exit for ' do the first cpu only! \n" + "Next \n"; String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n" + "Set colItems = objWMIService.ExecQuery _ \n" + " (\"Select * from Win32_BaseBoard\") \n" + "For Each objItem in colItems \n" + " Wscript.Echo objItem.SerialNumber \n" + " exit for ' do the first cpu only! \n" + "Next \n"; fw.write(vbs); fw.close(); Process p = Runtime.getRuntime().exec("cscript//NoLogo " + file.getPath()); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while ((line = input.readLine()) != null) { result += line; } input.close(); } catch (Exception e) { e.printStackTrace(); } return result.trim(); } public static void main(String[] args) { String cpuId = MiscUtil.getMotherboardSN(); System.out.println(cpuId); } }