El número de serie de la CPU (o número de serie del procesador ) es un número de serie único legible por software que Intel ha estampado en su microprocesador Pentium 3. Intel ofrece esto como una característica que se puede usar opcionalmente para brindar ciertos beneficios de administración de red y comercio electrónico. Básicamente, permite que un programa identifique PC individuales.
Podemos obtener el número de serie de la CPU de una máquina con Windows de 2 formas:
- Ejecutando el comando en Windows PowerShell.
- Usando la clase FileWriter en Java
Forma 1: ejecutar el comando PowerShell
Es una forma similar a lo que decimos ejecutar comandos en terminales en Mac. Para Windows, es CMD para el cual tenemos un comando predefinido de una sola línea a continuación. Simplemente necesita escribirlo como ities o copiar lo mismo desde aquí, que se proporciona a continuación de la siguiente manera:
Sintaxis:
WMIC BIOS GET SERIALNUMBER
Aparecerá esta ventana emergente que nos permitirá revelar el número de serie de la CPU para la máquina con Windows.
Forma 2: Usando la clase FileWriter
La clase Java FileWriter del paquete java.io se utiliza para escribir datos en forma de caracteres en un archivo.
- Esta clase hereda de la clase OutputStreamWriter que a su vez hereda de la clase Writer.
- Los constructores de esta clase asumen que la codificación de caracteres predeterminada y el tamaño de búfer de bytes predeterminado son aceptables. Para especificar estos valores usted mismo, construya un OutputStreamWriter en un FileOutputStream .
- FileWriter está diseñado para escribir secuencias de caracteres. Para escribir flujos de bytes sin procesar, considere usar un FileOutputStream.
- FileWriter crea el archivo de salida si aún no está presente.
Ejemplo
Java
// Java Program to get CPU Serial Number of Windows Machine // using FileWriter class // Importing required classes import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; // Main class // WindowsCpuSerialNumber public class GFG { // Method 1 // To get CPU serial number private static String getWindowsCPU_SerialNumber() { // Initially declaring and initializing an empty // string String result = ""; // Try block to check for exceptions try { // Creating an object of File class File file = File.createTempFile("realhowto", ".vbs"); // Deleting file while exiting file.deleteOnExit(); // Creating an object of FileWriter class to // write on FileWriter fw = new java.io.FileWriter(file); // Remember the command String vbs1 = "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"; // Writing on file fw.write(vbs1); // Closing all file connections to // release memory spaces 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 block to handle the exceptions catch (Exception E) { // Print the exception along with the message System.err.println("Windows CPU Exp : " + E.getMessage()); } return result.trim(); } // Method 2 // Main driver method public static void main(String[] args) { String cpuSerialNumber = getWindowsCPU_SerialNumber(); // Calling the method1 to retrieve CPU serial number // and printing the same System.out.println( "CPU Serial Number of my Windows Machine: " + cpuSerialNumber); } }
Producción:
A continuación se muestra la salida codificada cuando se ejecuta en una máquina con Windows con la ayuda de la clase FileWriter.
Nota: además de esto, estos programas son específicos de Windows y no deben ejecutarse en otros sistemas operativos. El enfoque 1 no funcionará y para el enfoque 2, que es el enfoque anterior, se estableció a través de la clase FileWriter si, en Mac, el resultado es el siguiente. Es porque ‘cscript’ no se puede ejecutar en la terminal.