
Tengo aproximadamente 450 Chromebooks ASUS con Windows 10 que necesitan tener instalado Microsoft Office 2019. Tengo etiquetas de clave de producto individuales para cada computadora para registrar Microsoft Office 2019. Cuando miro la etiqueta del COA, hay dos códigos de barras.
Pegatina COA de Microsoft Office 2019
El código de barras superior corresponde al valor W2F-00188 y el otro código de barras corresponde al valor 04053000035198. Obviamente, esta no es la clave de producto para Office 2019. ¿Hay alguna manera de traducir cualquiera de los números a un valor escaneable para la clave de producto? para oficina 2019? ¿Existe alguna forma de automatizar este proceso de ingresar un código de barras para cada computadora portátil o Microsoft espera que los usuarios finales ingresen la clave completa del producto manualmente? Me gustaría pensar que en 2021 habría alguna manera de no tener que ingresar 450 claves de producto individuales manualmente en cada unidad, pero pensé que debería preguntar aquí antes de asumir.
Respuesta1
function Get-WindowsKey {
## function to retrieve the Windows Product Key from any PC
param ($targets = "$env:COMPUTERNAME")
$hklm = 2147483650
$regPath = "Software\Microsoft\Windows NT\CurrentVersion"
$regValue = "DigitalProductId"
Foreach ($target in $targets) {
$productKey = $null
$win32os = $null
$wmi = [WMIClass]"\\$target\root\default:stdRegProv"
$data = $wmi.GetBinaryValue($hklm,$regPath,$regValue)
$binArray = ($data.uValue)[52..66]
$charsArray = "B","C","D","E","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","5","6","7","8","9"
## decrypt base24 encoded binary data
For ($i = 24; $i -ge 0; $i--) {
$k = 0
For ($j = 14; $j -ge 0; $j--) {
$k = $k * 256 -bxor $binArray[$j]
$binArray[$j] = [math]::truncate($k / 24)
$k = $k % 24
}
$productKey = $charsArray[$k] + $productKey
If (($i % 5 -eq 0) -and ($i -ne 0)) {
$productKey = "-" + $productKey
}
}
$win32os = Get-WmiObject Win32_OperatingSystem -computer $target
$obj = New-Object Object
$obj | Add-Member Noteproperty Computer -value $target
$obj | Add-Member Noteproperty Caption -value $win32os.Caption
$obj | Add-Member Noteproperty CSDVersion -value $win32os.CSDVersion
$obj | Add-Member Noteproperty OSArch -value $win32os.OSArchitecture
$obj | Add-Member Noteproperty BuildNumber -value $win32os.BuildNumber
$obj | Add-Member Noteproperty RegisteredTo -value $win32os.RegisteredUser
$obj | Add-Member Noteproperty ProductID -value $win32os.SerialNumber
$obj | Add-Member Noteproperty ProductKey -value $productkey
$obj
}
}