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 en la pantalla Acerca de Windows (winver).
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.
Exportar script de PowerShell de números de compilación del sistema operativo Windows
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:
Nombre de la computadora
Estado
WinRM
Edición
Versión
OSBuild
Importante: El servicio de administración remota de Windows debe estar ejecutándose en cada computadora para recuperar la información. Esto se puede hacer implementando un GPO u otras alternativas.
Puede identificar el servicio WinRM con los siguientes nombres:
Nombre del servicio: WinRM
Nombre para mostrar: Administración remota de Windows (WS-Management)
Prepare el script de PowerShell Get-WindowsOSBuilds
Cree dos carpetas en la unidad del controlador de dominio (C:):
Temperatura
Guiones
Descargue el script de PowerShell Get-WindowsOSBuilds.ps1 y colóquelo en la carpeta C:\scripts. El script exportará el archivo CSV a la carpeta C:\temp.
Otra opción es copiar y pegar el siguiente código en el Bloc de notas. Asígnale el nombre Get-WindowsOSBuilds.ps1 y colócalo en la carpeta C:\scripts.
<#
.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:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
# 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 = (Test-WSMan -ComputerName $computerName -ErrorAction SilentlyContinue) -ne $null
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:\Temp\WindowsOSBuilds.csv" -NoTypeInformationAsí 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.ps1Abra 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. Busque el archivo WindowsOSBuilds.csv en la ruta C:\temp.
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?
Leer más: Desinstale y deshabilite SMBv1 en Windows »
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 Comprobar el espacio libre en disco en Windows con el script de PowerShell. No olvides seguirnos y compartir este artículo.





