Esporta i numeri di build del sistema operativo Windows

Vogliamo ottenere un elenco di tutti i numeri di build dei computer AD. Questo perché ci piace sapere se tutti i computer sono aggiornati. Un ottimo modo per ottenere questo report è con PowerShell. In questo articolo imparerai come esportare i numeri di build del sistema operativo Windows in un file CSV.

Controlla il numero di build di Windows

È possibile ottenere la versione e il numero di build del sistema operativo dal fileInformazioni su Windowsschermo (vincitore).

Questo è su Windows Server 2019.

Questo è su Windows 10.

Ma vuoi farlo per sistema? No, non lo fai. Quindi PowerShell è la risposta.

Lo script Get-WindowsOSBuilds.ps1 di PowerShell esegue il loop su ogni computer, verifica se è online e, in tal caso, controlla se WinRM è abilitato. Se WinRM è abilitato, lo script recupera l'edizione, la versione e la build del sistema operativo.

Lo script raccoglie le seguenti informazioni per ciascun computer AD:

  1. NomeComputer
  2. Stato
  3. WinRM
  4. Edizione
  5. Versione
  6. OSBuild

Importante:Il servizio Gestione remota Windows deve essere in esecuzione su ogni computer per recuperare le informazioni. Questa operazione può essere eseguita distribuendo un oggetto Criteri di gruppo o altre alternative.

Leggi anche:Simboli della scheda SD: cosa significano i numeri e le lettere sulle schede di memoria

È possibile identificare il servizio WinRM con i seguenti nomi:

  • Nome del servizio:WinRM
  • Nome da visualizzare:Gestione remota Windows (gestione WS)

Preparare lo script PowerShell Get-WindowsOSBuilds

Crea due cartelle sul controller di dominio(C:)guidare:

  • Temp
  • Script

Scarica lo script PowerShell Get-WindowsOSBuilds.ps1 e inserisciloC: scriptcartella. Lo script esporterà il file CSV nel formatoC:tempcartella.

Un'altra opzione è copiare e incollare il codice seguente nel Blocco note. Dategli il nomeGet-WindowsOSBuilds.ps1e posizionarlo nelC: scriptcartella.

<#
    .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

Ecco come appare.

Esegui lo script PowerShell Get-WindowsOSBuilds

Ottieni build del sistema operativo Windows per tutti i computer AD con PowerShell. Modificare il percorso della cartella degli script. Successivamente, esegui lo script Get-WindowsOSBuilds.ps1.

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

Apri il file CSV del report sulle build del sistema operativo Windows

Lo script Get-WindowsOSBuilds.ps1 PowerShell esporterà i numeri di build dei computer Active Directory in un file CSV. Trova il fascicoloWindowsOSBuilds.csvnel percorsoC:temp.

Apri il file CSV con la tua applicazione preferita. Nel nostro esempio, è Microsoft Excel.

Il rapporto sulle build del sistema operativo Windows sembra eccellente.

Importante:Non dimenticare di disabilitare Gestione remota Windows (WinRM) se questa è la politica dell'organizzazione.

Questo ti ha aiutato a esportare i numeri di build del sistema operativo Windows in un file CSV?

Conclusione

Hai imparato come esportare i numeri di build del sistema operativo Windows con PowerShell. Ottieni il report sulla build del sistema operativo Windows con lo script Get-WindowsOSBuilds PowerShell ed esaminalo. Assicurarsi che tutti i computer Windows AD siano aggiornati per motivi di sicurezza.

Ti è piaciuto questo articolo? Potrebbe interessarti anche Controlla lo spazio libero su disco su Windows con lo script PowerShell. Non dimenticare di seguirci e condividere questo articolo.

Related Posts