package com.se.system.service.impl;
|
|
import com.se.system.service.inte.IAServerInfoService;
|
|
import java.io.BufferedReader;
|
import java.io.File;
|
import java.io.FileWriter;
|
import java.io.InputStreamReader;
|
|
@SuppressWarnings("ALL")
|
public class WindowsServerInfoService extends IAServerInfoService {
|
public WindowsServerInfoService() {
|
}
|
|
private final String CPU_COMMAND = "wmic cpu get processorid";
|
|
private final String MAIN_BOARD_COMMAND = "wmic baseboard get serialnumber";
|
|
@Override
|
protected String getCPUSerial() throws Exception {
|
String result = "";
|
try {
|
File file = File.createTempFile("tmp", ".vbs");
|
file.deleteOnExit();
|
FileWriter fw = new FileWriter(file);
|
String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
|
+ "Set colItems = objWMIService.ExecQuery _ \n" + " (\"Select * from Win32_Processor\") \n"
|
+ "For Each objItem in colItems \n" + " Wscript.Echo objItem.ProcessorId \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();
|
file.delete();
|
} catch (Exception e) {
|
System.out.println("获取服务器硬件信息失败 " + e);
|
}
|
return result.trim();
|
}
|
|
@Override
|
protected String getMainBoardSerial() throws Exception {
|
String result = "";
|
try {
|
File file = File.createTempFile("realhowto", ".vbs");
|
file.deleteOnExit();
|
FileWriter fw = new 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";
|
|
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) {
|
System.out.println("获取服务器硬件信息失败 " + e);
|
}
|
return result.trim();
|
}
|
}
|