En este artículo, veremos cómo utilizar la versión oficial de Microsoft.Preparación de hardware.ps1Script de PowerShell para realizar una verificación masiva de compatibilidad de hardware de Windows 11 en computadoras del dominio.
Este script verifica que la computadora cumpla con los siguientes requisitos mínimos para ejecutar Windows 11:
- Procesador x64 compatible (lista completa de CPU compatibles)
- 4+ GB de RAM
- Tamaño mínimo de disco duro de 64 GB
- Dispositivo con UEFI y arranque seguro habilitados
- Tarjeta de vídeo compatible con controladores DirectX 12 y WDDM 2.0
- Módulo TPM 2.0
Para verificar manualmente que el hardware de una máquina específica sea compatible con los requisitos de Windows 11:
- Descarga elPreparación de hardware.ps1guion (https://aka.ms/HWReadinessScript).
- Abra una consola elevada de Windows PowerShell (el script usa el
Get-WMIObjectcmdlet, que no es compatible con versiones recientes de PowerShell Core) - Habilite la ejecución del script de PowerShell en la sesión actual:
Set-ExecutionPolicy -Scope Process RemoteSigned - Ejecute el script:
.HardwareReadiness.ps1

El script ha devuelto el código.0. Esto significa que su computadora cumple con los requisitos de hardware para Windows 11 (returncode:0 , resurnresult=CAPABLE).
{"returnCode":0,"returnReason":"","logging":"Storage: OSDiskSize=427GB. PASS; Memory: System_Memory=32GB. PASS; TPM: TPMVersion=2.0, 0, 1.38. PASS; Processor: {AddressWidth=64; MaxClockSpeed=3901; NumberOfLogicalCores=12; Manufacturer=AuthenticAMD; Caption=AMD64 Family 25 Model 80 Stepping 0; }. PASS; SecureBoot: Capable. PASS; ","returnResult":"CAPABLE"}Suponga que necesita realizar una verificación masiva de compatibilidad con Windows 11 en computadoras empresariales. En ese caso, puede ejecutar este script de PowerShell y recopilar información utilizando herramientas como SCCM, Intune o incluso WSUS (que también puede implementar software y scripts de terceros). Para casos simples, puede ejecutar este script de PowerShell a través de Políticas de grupo y guardar los resultados en las propiedades del objeto de la computadora en Active Directory.
El código del script original debe modificarse ligeramente.
Lectura sugerida:Obtenga la antigüedad del registro de eventos de Windows con el script de PowerShell
Tenga en cuenta que el código de este archivo de script de PowerShell está firmado digitalmente por Microsoft. Sin embargo, el certificado de firma expiró en 2022.
Edite el archivo HardwareReadiness.ps1 y agregue el siguiente código al final, antes del#SIG # Iniciar bloque de firma:
$outObject = $outObject | ConvertTo-Json -Compress
$computer = $env:COMPUTERNAME
$ComputerSearcher = New-Object DirectoryServices.DirectorySearcher
# Specify your domain name
$ComputerSearcher.SearchRoot = "LDAP://DC=WOSHUB,DC=LOC"
$ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))"
$computerObj = [ADSI]$ComputerSearcher.FindOne().Path
$computerObj.Put( "Info", $outObject )
$computerObj.SetInfo()


Este código de PowerShell escribe información de compatibilidad de Windows 11 en elInformaciónatributo de computadora en Active Directory.
Copie el archivo de script de PS1 al\woshub.locNetlogoncarpeta en el controlador de dominio.


Abra la consola de administración de políticas de grupo de dominio (gpmc.msc), cree un nuevo GPO y vincúlelo a la unidad organizativa de la computadora.
Navegar aConfiguración de la computadora -> Políticas -> Configuración de Windows -> Scripts (Inicio/Apagado) -> Inicio ->pestañaSecuencias de comandos de PowerShelly especifique la ruta UNC al script HardwareReadiness.ps1


Vaya a Configuración de la computadora -> Plantillas administrativas -> Sistema -> Política de grupo. Habilitar la políticaConfigurar el retraso del script de inicio de sesióny establecer un1 minutoretraso en la ejecución del script.
Además, habilite elEspere siempre a que la red se inicie e inicie sesión en la computadora.opción en Configuración del equipo -> Plantillas de administración -> Sistema -> Inicio de sesión.
Lea más sobre cómo ejecutar scripts de PowerShell de inicio de sesión a través de GPO.
Reinicie la computadora del cliente. Inicie la consola ADUC (dsa.msc) y abra las propiedades de la computadora. Ir alEditor de atributospestaña y compruebe queInformaciónEl parámetro ahora contiene los resultados de verificar la compatibilidad de su computadora con Windows 11. En la pestaña Editor de atributos, verifique que elInformaciónEl parámetro ahora contiene los resultados de la verificación de compatibilidad de Windows 11 de su computadora.


Una vez que se haya ejecutado el script de inicio de sesión en todas las computadoras, podrá ver rápidamente información sobre las computadoras compatibles e incompatibles desde Active Directory usando el cmdlet Get-ADComputer:
Get-ADComputer -Filter {enabled -eq "true"} -properties *| Where-Object {$_.info -ne $null}


Para obtener información más detallada sobre computadoras incompatibles y hardware específico que no cumple con los requisitos mínimos de Win 11, ejecute el siguiente script de PowerShell:
$Report = @()
$computers = Get-ADComputer -Filter {enabled -eq "true"} -properties *| Where-Object { $_.Info -match '"returnCode":1'}
foreach ($computer in $computers){
$jsonString =$computer.info
$object = $jsonString | ConvertFrom-Json
$returnReasonValues = $object.returnReason -split ', '
$CompInfo = [PSCustomObject]@{
"Computer" = $computer.name
"NonCompatibleItems" = $returnReasonValues
}
$Report += $CompInfo
}
$Report|fl
El cmdlet ConvertFrom-Json se utiliza para convertir datos del formato JSON.


Actualmente, puede ignorar la verificación de TPM, arranque seguro y otros requisitos de hardware durante una instalación limpia de Windows 11 utilizando varias opciones de registro en elConfiguración de laboratoriollave. y con elPermitir actualizaciones con TPM o CPU no compatiblesKey, puede actualizar a Windows 11 incluso en computadoras con hardware no compatible.












