Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Qué experto puede ayudarme a escribir un modificador de número de serie del sistema VBS Windows?

¿Qué experto puede ayudarme a escribir un modificador de número de serie del sistema VBS Windows?

En caso de error, reanudar siguiente

SN_XP_1 = "MRX3F-47B9T-2487J-KWKMF-RPWBY" 'bueno

SN_XP_2 = "QC986-27D34-6M3TY-JJXP9 -TBGMD"

SN_XP_3 = "K2CXT-C6TPX-WCXDP-RMHWT-V4TDT"

SN_XP_4 = "22DVC-GWQW7-7G228-D72Y7-QK8Q3"

SN_XP_5 = "DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G"

SN_XP_6 = "T44H2-BM3G7-J4CQR-MPDRM-BWFWM"

SN_XP_7 = "XW6Q2-MP4HK-GXFK3-KPGG4 -GM36T"

SN_2000_1 = "PQHKR-G4JFW-VTY3P-G4WQ2-88CTW"

SN_2000_Server_1 = "H6TWQ-TQQM8-HXJYG-D69F7-R84VM"

SN_2000_Advanced_Server_1 = "H6TWQ-TQQM8-HXJYG-D69F7-R84VM"

SN_2003_1 = "JCGMJ-TC669-KCBG7-HB8X2-FXG7M" 'bueno

SN_2003_2 = "DF74D-TWR86-D3F4V -M8D8J-WTT7M" 'bueno

SN_2003_2 = "KQF2H-284RW-GHXM6-Y3W2B-QWGBB"

Dim VOL_PROD_KEY

Si WScript.arguments.Count< 1 Luego

VOL_PROD_KEY = InputBox("El número de serie actual de su sistema Windows es:" & GetWindowsSN & String(5, vbCrLf) & "Ingrese un nuevo número de serie de Windows:", "Reemplazo del número de serie de Windows" , SN_2003_1)

Si VOL_PROD_KEY = "" O Len(VOL_PROD_KEY)<>29 Entonces

WScript.echo "Seleccionó Cancelar o el número de serie de Windows está vacío o el número de serie de Windows El número de dígitos es incorrecto: "Salir"

WScript.Quit

End If

Else

VOL_PROD_KEY = WScript.arguments. Item(0)

End If

VOL_PROD_KEY = Reemplazar(VOL_PROD_KEY, "-", "") 'eliminar guiones si los hay

Para cada objeto en GetObject ("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")

resultado = Obj.SetProductKey (VOL_PROD_KEY)

Si Err = 0 entonces

WScript.ech

o "Reemplazo exitoso del número de serie de Windows."

Else

WScript.echo "¡Falló el reemplazo del número de serie de Windows! El número de serie que ingresó es incorrecto". Err.Clear

End If

Siguiente

'Función Obtener el número de serie actual de Windows

Función GetWindowsSN()

Const HKEY_LOCAL_MACHINE = &H80000002

strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"

strValueName = "DigitalProductId"

strComputer = "."

Dim iValues()

Establecer oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")

oReg.GetBinaryValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, iValues ​​​​

Dim arrDPID

arrDPID = Array()

Para i = 52 a 66

ReDim Preservar arrDPID( UBound(arrDPID) + 1 )

arrDPID( UBound(arrDPID) ) = iValues(i)

Siguiente

Dim arrChars

arrChars = Array("B", "C", "D", "F", "G", "H", "J", "K", "M" , "P ", "Q", "R", "T", "V", "W", "X", "Y", "2", "3", "4", "6", " 7", "8", "9")

' <------------- ¡¡¡El bit inteligente!!! (Descifra los datos binarios codificados en base24)--- - ----------------------->

Para i = 24 A 0 Paso -1

k = 0

Para j = 14 A 0 Paso -1

k = k * 256 Xor arrDPID(j)

arrDPID(j) = Int(k / 24)

k = k Mod 24

Siguiente

strProductKey = arrChars(k) & strProductKey

Si i Mod 5 = 0 Y i <> 0 Entonces strProductKey = "-" & strProductKey

Siguiente

GetWindowsSN = strProductKey

Finalizar función