Se aplică la
Windows 10 Windows 10, version 1607, all editions Windows 10 Enterprise LTSC 2019 Win 10 IoT Ent LTSC 2019 Windows 10 IoT Core LTSC Windows 10 Enterprise LTSC 2021 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 21H2 Windows 11 Enterprise Multi-Session, version 21H2 Windows 11 Enterprise and Education, version 21H2 Windows 11 IoT Enterprise, version 21H2 Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 SE, version 24H2 Windows 11 Enterprise and Education, version 24H2 Windows 11 Enterprise Multi-Session, version 24H2 Windows 11 Home and Pro, version 24H2 Windows 11 IoT Enterprise, version 24H2 Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

Data de publicare inițială: 17 noiembrie 2025

ID KB: 5072718

Sample Secure Boot Inventory Data Collection script

Copiați și lipiți acest script eșantion și modificați după cum este necesar pentru mediul dvs.: Scriptul de colectare a datelor de inventar pentru bootare securizată eșantion.

Sample_Secure_Boot_Inventory_Data_Collection_script

# 1. HostName # PS Versiune: Toate | Admin: Nu | Cerințe de sistem: Niciuna încercați {     $hostname = $env:COMPUTERNAME     if ([string]::IsNullOrEmpty($hostname)) {         Write-Warning "Numele gazdei nu a putut fi determinat"         $hostname = "Necunoscut"     }     Write-Host "Nume gazdă: $hostname" } captură {     Write-Warning "Eroare la regăsirea numelui de gazdă: $_"     $hostname = "Eroare"     Write-Host "Nume gazdă: $hostname" }

# 2. CollectionTime # PS Versiune: Toate | Admin: Nu | Cerințe de sistem: Niciuna încercați {     $collectionTime = Get-Date     dacă ($null -eq $collectionTime) {         Write-Warning "Imposibil de regăsit data/ora curentă"         $collectionTime = "Necunoscut"     }     Write-Host "Timp colecție: $collectionTime" } captură {     Write-Warning "Eroare la regăsirea datei/orei: $_"     $collectionTime = "Eroare"     Write-Host "Timp colecție: $collectionTime" }

# Registry: Secure Boot Main Key (3 values)

# 3. SecureBootEnabled # PS Versiune: 3.0+ | Admin: Poate fi necesar | Cerințe de sistem: sistem capabil de bootare UEFI/Secure încercați {     $secureBootEnabled = Confirm-SecureBootUEFI -ErrorAction Stop     Write-Host "Boot securizat activat: $secureBootEnabled" } captură {     Write-Warning "Nu se poate determina starea bootării securizate prin cmdlet: $_"     # Try registry fallback     încercați {         $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\State" -Name UEFISecureBootEnabled -ErrorAction Stop         $secureBootEnabled = [bool]$regValue.UEFISecureBootEnabled         Write-Host "Boot securizat activat: $secureBootEnabled"     } captură {         Write-Warning "Nu se poate determina starea Secure Boot prin registry. Sistemul poate să nu accepte UEFI/Boot secure."         $secureBootEnabled = $null         Write-Host "Boot securizat activat: indisponibil"     } }

# 4. HighConfidenceOptOut # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name HighConfidenceOptOut -ErrorAction Stop     $highConfidenceOptOut = $regValue.HighConfidenceOptOut     Write-Host "Renunțare cu încredere maximă: $highConfidenceOptOut" } captură {     Write-Warning "Cheia de registry HighConfidenceOptOut nu a fost găsită sau nu este inaccesibilă"     $highConfidenceOptOut = $null     Write-Host "Renunțare de mare încredere: Indisponibil" }

# 5. AvailableUpdates # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name AvailableUpdates -ErrorAction Stop     $availableUpdates = $regValue.AvailableUpdates     dacă ($null -ne $availableUpdates) {         # Conversie în format hexazecimal         $availableUpdatesHex = "0x{0:X}" -f $availableUpdates         Write-Host "Disponibil Actualizări: $availableUpdatesHex"     } altfel, {         Write-Host "Disponibil Actualizări: Indisponibil"     } } captură {     Write-Warning "Cheia de registry AvailableUpdates nu a fost găsită sau inaccesibilă"     $availableUpdates = $null     Write-Host "Disponibil Actualizări: Indisponibil" }

# Registry: Servicing Key (3 values)

# 6. UEFICA2023Status # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Status -ErrorAction Stop     $uefica 2023Status = $regValue.UEFICA2023Status     Write-Host "Stare UEFI CA 2023: $uefica 2023Status" } captură {     Write-Warning "Cheia de registry UEFICA2023Status nu s-a găsit sau nu este inaccesibilă"     $uefica 2023Status = $null     Write-Host "Stare UEFI CA 2023: Indisponibil" }

# 7. UEFICA2023Capable # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Capable -ErrorAction Stop     $uefica 2023Capable = $regValue.UEFICA2023Capable     Write-Host "UEFI CA 2023 capabil: $uefica 2023Capable" } captură {     Write-Warning "Cheia de registry UEFICA2023Capable nu a fost găsită sau inaccesibilă"     $uefica 2023Capable = $null     Write-Host "UEFI CA 2023 capabil: indisponibil" }

# 8. UEFICA2023Error # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Error -ErrorAction Stop     $uefica 2023Eroare = $regValue.UEFICA2023Error     Write-Host eroarea "UEFI CA 2023: $uefica 2023Error" } captură {     Write-Warning "CHEIA de registry UEFICA2023Error nu s-a găsit sau nu este inaccesibilă"     $uefica 2023Eroare = $null     Write-Host "Eroare UEFI CA 2023: Indisponibil" }

# Registry: Device Attributes (7 values)

# 9. OEMManufacturerName # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMManufacturerName -ErrorAction Stop     $oemManufacturerName = $regValue.OEMManufacturerName     if ([string]::IsNullOrEmpty($oemManufacturerName)) {         Write-Warning "OEMManufacturerName este gol"         $oemManufacturerName = "Necunoscut"     }     Write-Host "Nume producător OEM: $oemManufacturerName" } captură {     Write-Warning cheia de registry "OEMManufacturerName nu a fost găsită sau inaccesibilă"     $oemManufacturerName = $null     Write-Host "Nume producător OEM: Indisponibil" }

# 10. OEMModelSystemFamily # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelSystemFamily -ErrorAction Stop     $oemModelSystemFamily = $regValue.OEMModelSystemFamily     if ([string]::IsNullOrEmpty($oemModelSystemFamily)) {         Write-Warning "OEMModelSystemFamily este gol"         $oemModelSystemFamily = "Necunoscut"     }     Write-Host "Familie de modele OEM: $oemModelSystemFamily" } captură {     Write-Warning "Cheia de registry OEMModelSystemFamily nu a fost găsită sau nu este inaccesibilă"     $oemModelSystemFamily = $null     Write-Host "Familie de modele OEM: Indisponibil" }

# 11. OEMModelNumber # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelNumber -ErrorAction Stop     $oemModelNumber = $regValue.OEMModelNumber     if ([string]::IsNullOrEmpty($oemModelNumber)) {         Write-Warning "OEMModelNumber este gol"         $oemModelNumber = "Necunoscut"     }     Write-Host "Număr model OEM: $oemModelNumber" } captură {     Write-Warning "Cheia de registry OEMModelNumber nu a fost găsită sau inaccesibilă"     $oemModelNumber = $null     Write-Host "Număr model OEM: Indisponibil" }

# 12. FirmwareVersion # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareVersion -ErrorAction Stop     $firmwareVersion = $regValue.FirmwareVersion     if ([string]::IsNullOrEmpty($firmwareVersion)) {         Write-Warning "FirmwareVersion este gol"         $firmwareVersion = "Necunoscut"     }     Write-Host "Versiune firmware: $firmwareVersion" } captură {     Write-Warning "Cheia de registry FirmwareVersion nu a fost găsită sau inaccesibilă"     $firmwareVersion = $null     Write-Host "Versiune firmware: indisponibilă" }

# 13. FirmwareReleaseDate # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareReleaseDate -ErrorAction Stop     $firmwareReleaseDate = $regValue.FirmwareReleaseDate     if ([string]::IsNullOrEmpty($firmwareReleaseDate)) {         Write-Warning "FirmwareReleaseDate este gol"         $firmwareReleaseDate = "Necunoscut"     }     Write-Host "Dată lansare firmware: $firmwareReleaseDate" } captură {     Write-Warning "Cheia de registry FirmwareReleaseDate nu a fost găsită sau inaccesibilă"     $firmwareReleaseDate = $null     Write-Host "Dată lansare firmware: indisponibil" }

# 14. OSArchitecture # PS Versiune: Toate | Admin: Nu | Cerințe de sistem: Niciuna încercați {     $osArchitecture = $env:PROCESSOR_ARCHITECTURE     if ([string]::IsNullOrEmpty($osArchitecture)) {         # Try registry fallback         $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OSArchitecture -ErrorAction Stop         $osArchitecture = $regValue.OSArchitecture     }     if ([string]::IsNullOrEmpty($osArchitecture)) {         Write-Warning "OSArchitecture nu a putut fi determinată"         $osArchitecture = "Necunoscut"     }     Write-Host "Arhitectură sistem de operare: $osArchitecture" } captură {     Write-Warning "Eroare la regăsirea OSArchitecture: $_"     $osArchitecture = "Necunoscut"     Write-Host "Arhitectură sistem de operare: $osArchitecture" }

# 15. CanAttemptUpdateAfter (FILETIME) # PS Versiune: Toate | Admin: Poate fi necesar | Cerințe de sistem: Niciuna încercați {     $regValue = Get-ItemProperty -Cale "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name CanAttemptUpdateAfter -ErrorAction Stop     $canAttemptUpdateAfter = $regValue.CanAttemptUpdateAfter     # Efectuați conversia FILETIME la DateTime dacă este un număr valid     dacă ($null -ne $canAttemptUpdateAfter -și $canAttemptUpdateAfter -este [lung]) {         încercați {             $canAttemptUpdateAfter = [DateTime]::FromFileTime($canAttemptUpdateAfter)         } captură {             Write-Warning "Imposibil de efectuat conversia CanAttemptUpdateAfter FILETIME la DateTime"         }     }     Write-Host "Se poate încerca actualizarea după: $canAttemptUpdateAfter" } captură {     Write-Warning "CanAttemptUpdateAfter cheia de registry nu a fost găsită sau nu este accesibilă"     $canAttemptUpdateAfter = $null     Write-Host "Se poate încerca actualizarea după: indisponibil" }

# Event Logs: System Log (5 values)

# 16-20. Event Log queries # PS Versiune: 3.0+ | Admin: Poate fi necesar pentru jurnalul de sistem | Cerințe de sistem: Niciuna încercați {     $allEventIds = @(1801, 1808)     $events = @(Get-WinEvent -FilterHashtable @{LogName='System'; ID=$allEventIds} -MaxEvents 20 -ErrorAction Stop)

    if ($events.Count -eq 0) {         Write-Warning "Nu s-au găsit evenimente de bootare securizată (1801/1808) în jurnalul de sistem"         $latestEventId = $null         $bucketId = $null         $confidence = $null         $event 1801Count = 0         $event 1808Count = 0         Write-Host "Cel mai recent ID eveniment: Indisponibil"         Write-Host "ID bucket: Indisponibil"         Write-Host "Încredere: indisponibil"         Write-Host "Contor eveniment 1801: 0"         Write-Host "Contor eveniment 1808: 0"     } altfel, {         # 16. LatestEventId         $latestEvent = $events | Sort-Object TimeCreated -Descendent | Select-Object -Primul 1         dacă ($null -eq $latestEvent) {             Write-Warning "Nu s-a putut determina cel mai recent eveniment"             $latestEventId = $null             Write-Host "Cel mai recent ID eveniment: Indisponibil"         } altfel, {             $latestEventId = latestEvent.Id de lei             Write-Host "Cel mai recent ID eveniment: $latestEventId"         }

        # 17. BucketID - Extracted from Event 1801/1808 if ($null -ne $latestEvent -and $null -ne $latestEvent.Message) {             if ($latestEvent.Message -match 'BucketId:\s*(.+)') {                 $bucketId = $matches[1]. Trim()                 Write-Host "ID bucket: $bucketId"             } altfel, {                 Write-Warning "BucketId negăsit în mesajul evenimentului"                 $bucketId = $null                 Write-Host "ID bucket: Negăsit în eveniment"             }         } altfel, {             Write-Warning "Cel mai recent eveniment sau mesaj este nul, nu se poate extrage BucketId"             $bucketId = $null             Write-Host "ID bucket: Indisponibil"         }

        # 18. Confidence - Extracted from Event 1801/1808 if ($null -ne $latestEvent -and $null -ne $latestEvent.Message) {             if ($latestEvent.Message -match 'BucketConfidenceLevel:\s*(.+)') {                 $confidence = $matches[1]. Trim()                 Write-Host "Încredere: $confidence"             } altfel, {                 Write-Warning "Nivelul de încredere nu s-a găsit în mesajul eveniment"                 $confidence = $null                 Write-Host "Încredere: Negăsit în eveniment"             }         } altfel, {             Write-Warning "Cel mai recent eveniment sau mesaj este nul, nu poate extrage Confidence"             $confidence = $null             Write-Host "Încredere: indisponibil"         }

        # 19. Event1801Count $event 1801Array = @($events | Where-Object {$_. Id -eq 1801})         $event 1801Count = $event 1801Array.Count         Write-Host "Contor eveniment 1801: $event 1801Count"

        # 20. Event1808Count $event 1808Array = @($events | Where-Object {$_. Id -eq 1808})         $event 1808Count = $event 1808Array.Count         Write-Host "Contor eveniment 1808: $event 1808Count"     } } captură {     Write-Warning "Eroare la regăsirea jurnalelor de evenimente. Pot fi necesare privilegii de administrator: $_"     $latestEventId = $null     $bucketId = $null     $confidence = $null     $event 1801Count = 0     $event 1808Count = 0     Write-Host "Cel mai recent ID eveniment: eroare"     Write-Host "ID bucket: eroare"     Write-Host "Încredere: eroare"     Write-Host "Contor eveniment 1801: 0"     Write-Host "Contor eveniment 1808: 0" }

# WMI/CIM Queries (4 values)

# 21. OSVersion # PS Versiune: 3.0+ (utilizarea Get-WmiObject pentru 2.0) | Admin: Nu | Cerințe de sistem: Niciuna încercați {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     if ($null -eq $osInfo -or [string]::IsNullOrEmpty($osInfo.Version)) {         Write-Warning "Imposibil de regăsit versiunea sistemului de operare"         $osVersion = "Necunoscut"     } altfel, {         $osVersion = $osInfo.Version     }     Write-Host "Versiune sistem de operare: $osVersion" } captură {     Write-Warning "Eroare la regăsirea versiunii sistemului de operare: $_"     $osVersion = "Necunoscut"     Write-Host "Versiune sistem de operare: $osVersion" }

# 22. LastBootTime # PS Versiune: 3.0+ (utilizarea Get-WmiObject pentru 2.0) | Admin: Nu | Cerințe de sistem: Niciuna încercați {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     dacă ($null -eq $osInfo -sau $null -eq $osInfo.LastBootUpTime) {         Write-Warning "Imposibil de regăsit ora ultimei încărcări"         $lastBootTime = $null         Write-Host "Ora ultimei încărcări: indisponibilă"     } altfel, {         $lastBootTime = $osInfo.LastBootUpTime         Write-Host "Ora ultimei încărcări: $lastBootTime"     } } captură {     Write-Warning "Eroare la regăsirea ultimei încărcări: $_"     $lastBootTime = $null     Write-Host "Ora ultimei încărcări: indisponibilă" }

# 23. BaseBoardManufacturer # PS Versiune: 3.0+ (utilizarea Get-WmiObject pentru 2.0) | Admin: Nu | Cerințe de sistem: Niciuna încercați {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -or [string]::IsNullOrEmpty($baseBoard.Manufacturer)) {         Write-Warning "Imposibil de regăsit producătorul plăcii de bază"         $baseBoardManufacturer = "Necunoscut"     } altfel, {         $baseBoardManufacturer = $baseBoard.Manufacturer     }     Write-Host "Producător tablă de bază: $baseBoardManufacturer" } captură {     Write-Warning "Eroare la regăsirea producătorului tablei de bază: $_"     $baseBoardManufacturer = "Necunoscut"     Write-Host "Producător placă de bază: $baseBoardManufacturer" }

# 24. BaseBoardProduct # PS Versiune: 3.0+ (utilizarea Get-WmiObject pentru 2.0) | Admin: Nu | Cerințe de sistem: Niciuna încercați {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -or [string]::IsNullOrEmpty($baseBoard.Product)) {         Write-Warning "Imposibil de regăsit produsul din tabla de bază"         $baseBoardProduct = "Necunoscut"     } altfel, {         $baseBoardProduct = $baseBoard.Produs     }     Write-Host "Produs tablă de bază: $baseBoardProduct" } captură {     Write-Warning "Eroare la regăsirea produsului tablei de bază: $_"     $baseBoardProduct = "Necunoscut"     Write-Host "Produs tablă de bază: $baseBoardProduct"}

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.