Exportar números de compilación del sistema operativo Windows

Queremos obtener una lista de todos los números de compilación de las computadoras AD. Esto se debe a que nos gusta saber si todas las computadoras están actualizadas. Una excelente manera de obtener este informe es con PowerShell. En este artículo, aprenderá cómo exportar números de compilación del sistema operativo Windows a un archivo CSV.

Verifique el número de compilación de Windows

Puede obtener la versión y el número de compilación del sistema operativo enAcerca de Windowspantalla (ganador).

Esto es en Windows Server 2019.

Esto es en Windows 10.

¿Pero quieres hacer esto por sistema? No, no lo haces. Entonces PowerShell es la respuesta.

El script de PowerShell Get-WindowsOSBuilds.ps1 recorre cada computadora, prueba si está en línea y, de ser así, verifica si WinRM está habilitado. Si WinRM está habilitado, el script recupera la edición, la versión y la compilación del sistema operativo.

El script recopila la siguiente información para cada computadora AD:

  1. Nombre de la computadora
  2. Estado
  3. WinRM
  4. Edición
  5. Versión
  6. OSBuild

Importante:El servicio de administración remota de Windows debe estar ejecutándose en todas las computadoras para recuperar la información. Esto se puede hacer implementando un GPO u otras alternativas.

Lea también:Símbolos de tarjetas SD: qué significan los números y letras de las tarjetas de memoria

Puede identificar el servicio WinRM con los siguientes nombres:

  • Nombre del servicio:WinRM
  • Nombre para mostrar:Gestión remota de Windows (gestión WS)

Prepare el script de PowerShell Get-WindowsOSBuilds

Cree dos carpetas en el controlador de dominio(DO:)conducir:

  • Temperatura
  • Guiones

Descargue el script de PowerShell Get-WindowsOSBuilds.ps1 y colóquelo enC:guionescarpeta. El script exportará el archivo CSV alC:temperaturacarpeta.

Otra opción es copiar y pegar el código siguiente en el Bloc de notas. Dale el nombreObtener-WindowsOSBuilds.ps1y colóquelo en elC:guionescarpeta.

<#
    .SYNOPSIS
    Get-WindowsOSBuilds.ps1

    .DESCRIPTION
    Export Windows OS versions and build numbers to CSV file.

    .LINK
    www.alitajran.com/export-windows-os-build-numbers

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran

    .CHANGELOG
    V1.00, 04/16/2023 - Initial version
#>

# Retrieve a list of all computers in the domain
$computers = Get-ADComputer -Filter { OperatingSystem -Like "Windows*" }

# Set the registry path that will be used to retrieve the Windows build numbers
$regPath = "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersion"

# Initialize progress bar
$total = $computers.Count
$completed = 0
$progress = 0
Write-Progress -Activity "Retrieving Windows build numbers" -Status "Starting..." -PercentComplete $progress

# Loop through each computer and retrieve the Windows versions and build numbers (if the computer is online)
$results = foreach ($computer in $computers) {
    $computerName = $computer.Name
    $online = Test-Connection -ComputerName $computerName -Count 1 -Quiet
    if ($online) {
        $winRMEnabled = $null -ne (Test-WSMan -ComputerName $computerName -ErrorAction SilentlyContinue)
        if ($winRMEnabled) {
            $buildNumber = (Invoke-Command -ComputerName $computerName { (Get-ItemProperty -Path $using:regPath -Name "CurrentBuild").CurrentBuild })
            $revisionNumber = (Invoke-Command -ComputerName $computerName { (Get-ItemProperty -Path $using:regPath -Name "UBR").UBR })
            $windowsBuildNumber = "$buildNumber.$revisionNumber"
            $edition = (Invoke-Command -ComputerName $computerName { (Get-ItemProperty -Path $using:regPath -Name "ProductName").ProductName })
            $version = (Invoke-Command -ComputerName $computerName { (Get-ItemProperty -Path $using:regPath -Name "ReleaseID" -ErrorAction Stop).ReleaseID })
        }
        else {
            $windowsBuildNumber = "N/A"
            $edition = "N/A"
            $version = "N/A"
        }
        [PSCustomObject] @{
            "ComputerName" = $computerName
            "Status"       = "Online"
            "WinRM"        = if ($winRMEnabled) { "Enabled" } else { "Disabled" }
            "Edition"      = $edition
            "Version"      = $version
            "OSBuild"      = $windowsBuildNumber
        }
    }
    else {
        [PSCustomObject] @{
            "ComputerName" = $computerName
            "Status"       = "Offline"
            "WinRM"        = "N/A"
            "Edition"      = "N/A"
            "Version"      = "N/A"
            "OSBuild"      = "N/A"
        }
    }
    $completed++
    $progress = [Math]::Round($completed / $total * 100)
    Write-Progress -Activity "Retrieving Windows build numbers" -Status "Completed $completed of $total" -PercentComplete $progress
}

# Sort the results by ComputerName in ascending order and select only the desired columns
$results | Sort-Object ComputerName | Select-Object ComputerName, Status, WinRM, Edition, Version, OSBuild | Export-Csv -Path "C:TempWindowsOSBuilds.csv" -NoTypeInformation

Así es como se ve.

Ejecute el script de PowerShell Get-WindowsOSBuilds

Obtenga compilaciones del sistema operativo Windows para todas las computadoras AD con PowerShell. Cambie la ruta a la carpeta de scripts. Después de eso, ejecute el script Get-WindowsOSBuilds.ps1.

PS C:> cd c:scripts
PS C:scripts> .Get-WindowsOSBuilds.ps1

Abra el archivo CSV del informe de compilaciones del sistema operativo Windows

El script de PowerShell Get-WindowsOSBuilds.ps1 exportará los números de compilación de las computadoras de Active Directory a un archivo CSV. Encuentra el archivoWindowsOSBuilds.csven el caminoC:temperatura.

Abra el archivo CSV con su aplicación favorita. En nuestro ejemplo, es Microsoft Excel.

El informe de compilaciones del sistema operativo Windows parece excelente.

Importante:No olvide desactivar la administración remota de Windows (WinRM) si esa es la política de la organización.

¿Le ayudó esto a exportar los números de compilación del sistema operativo Windows a un archivo CSV?

Conclusión

Aprendió a exportar números de compilación del sistema operativo Windows con PowerShell. Obtenga el informe de compilación del sistema operativo Windows con el script Get-WindowsOSBuilds PowerShell y revíselo. Asegúrese de que todas las computadoras con Windows AD estén actualizadas por motivos de seguridad.

¿Disfrutaste este artículo? También te puede interesar Verifique el espacio libre en disco en Windows con el script de PowerShell. No olvides seguirnos y compartir este artículo.

Related Posts