Velja za
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

Datum izvirne objave: 17. november 2025

ID zbirke znanja: 5072718

Sample Secure Boot Inventory Data Collection script

Kopirajte in prilepite ta vzorčni skript ter ga po potrebi spremenite za svoje okolje: Skript za zbiranje podatkov vzorčnega inventarja varnega zagona.

Sample_Secure_Boot_Inventory_Data_Collection_script

# 1. HostName # PS Version: All | Skrbnik: Ne | Sistemske zahteve: Brez poskusite {     $hostname = $env:COMPUTERNAME     if ([string]::IsNullOrEmpty($hostname)) {         Write-Warning »Imena gostitelja ni bilo mogoče določiti«         $hostname = "Neznano"     } (v 2     Write-Host »Hostname: $hostname« (Ime gostitelja: $hostname) } ulova {     Write-Warning »Napaka pri pridobivanju imena gostitelja: $_«     $hostname = »Napaka«     Write-Host »Hostname: $hostname« (Ime gostitelja: $hostname) }

# 2. CollectionTime # PS Version: All | Skrbnik: Ne | Sistemske zahteve: Brez poskusite {     $collectionTime = Get-Date     if ($null -eq $collectionTime) {         Write-Warning »Trenutnega datuma/časa ni bilo mogoče pridobiti«         $collectionTime = »Neznano«     } (v 2     Write-Host »Čas zbirke: $collectionTime« } ulova {     Write-Warning »Napaka pri pridobivanju datuma/časa: $_«     $collectionTime = »Napaka«     Write-Host »Čas zbirke: $collectionTime« }

# Registry: Secure Boot Main Key (3 values)

# 3. SecureBootEnabled # PS Različica: 3.0+ | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Sistem, ki podpira vmesnik UEFI/varni zagon poskusite {     $secureBootEnabled = Confirm-SecureBootUEFI -ErrorAction Stop     Write-Host »Secure Boot Enabled: $secureBootEnabled« } ulova {     Write-Warning »Stanja varnega zagona prek ukaza »cmdlet« ni mogoče določiti: $_"     # Poskusite z rezervnim registrom     poskusite {         $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\State" -Name UEFISecureBootEnabled -ErrorAction Stop         $secureBootEnabled = [bool]$regValue.UEFISecureBootEnabled         Write-Host »Secure Boot Enabled: $secureBootEnabled«     } ulova {         Write-Warning »Ni mogoče določiti stanja varnega zagona prek registra. Sistem morda ne podpira vmesnika UEFI/varnega zagona.«         $secureBootEnabled = $null         Write-Host »Varni zagon omogočen: ni na voljo«     } (v 2 }

# 4. HighConfidenceOptOut # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name HighConfidenceOptOut -ErrorAction Stop     $highConfidenceOptOut = $regValue.HighConfidenceOptOut     Write-Host »Zavrnitev zaupanja: $highConfidenceOptOut« } ulova {     Write-Warning registrskega ključa »HighConfidenceOptOut ni mogoče najti ali nedostopen«     $highConfidenceOptOut = $null     Write-Host »Zavrnitev zaupanja: ni na voljo« }

# 5. AvailableUpdates # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name AvailableUpdates -ErrorAction Stop     $availableUpdates = $regValue.AvailableUpdates     če ($null -ne $availableUpdates) {         # Pretvori v šestnajstiško obliko zapisa         $availableUpdatesHex = "0x{0:X}" -f $availableUpdates         Write-Host »Na voljo Posodobitve: $availableUpdatesHex«     } drugo {         Write-Host »Na voljo Posodobitve: Ni na voljo«     } (v 2 } ulova {     Write-Warning »Registrskega ključa AvailableUpdates ni bilo mogoče najti ali nedostopno«     $availableUpdates = $null     Write-Host »Na voljo Posodobitve: Ni na voljo« }

# Registry: Servicing Key (3 values)

# 6. UEFICA2023Status # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Status -ErrorAction Stop     $uefica 2023Status = $regValue.UEFICA2023Status     Write-Host »UEFI CA 2023 Status: $uefica 2023Status« } ulova {     Write-Warning »Registrskega ključa UEFICA2023Status ni mogoče najti ali nedostopen«     $uefica 2023Status = $null     Write-Host »UEFI CA 2023 Status: Not Available« }

# 7. UEFICA2023Capable # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Capable -ErrorAction Stop     $uefica 2023Capable = $regValue.UEFICA2023Capable     Write-Host »UEFI CA 2023 Capable: $uefica 2023Capable« } ulova {     Write-Warning »UEFICA2023Capable registry key not found or inaccessible« (Registrski ključ UEFICA2023 Ni mogoče najti ali nedostopen)     $uefica 2023Capable = $null     Write-Host »UEFI CA 2023 Capable: Not Available« }

# 8. UEFICA2023Error # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Error -ErrorAction Stop     $uefica 2023Error = $regValue.UEFICA2023Error     Write-Host »Napaka vmesnika UEFI CA 2023: $uefica 2023Napaka« } ulova {     Write-Warning registrskega ključa »UEFICA2023Error ni mogoče najti ali nedostopen«     $uefica 2023Napaka = $null     Write-Host »Napaka vmesnika UEFI CA 2023: Ni na voljo« }

# Registry: Device Attributes (7 values)

# 9. OEMManufacturerName # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMManufacturerName -ErrorAction Stop     $oemManufacturerName = $regValue.OEMManufacturerName     if ([string]::IsNullOrEmpty($oemManufacturerName)) {         Write-Warning »OEMManufacturerName je prazno«         $oemManufacturerName = "Neznano"     } (v 2     Write-Host »Ime proizvajalca strojne opreme: $oemManufacturerName« } ulova {     Write-Warning registrskega ključa »OEMManufacturerName ni bilo mogoče najti ali nedostopno«     $oemManufacturerName = $null     Write-Host »Ime proizvajalca strojne opreme: Ni na voljo« }

# 10. OEMModelSystemFamily # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelSystemFamily -ErrorAction Stop     $oemModelSystemFamily = $regValue.OEMModelSystemFamily     if ([string]::IsNullOrEmpty($oemModelSystemFamily)) {         Write-Warning »OEMModelSystemFamily je prazno«         $oemModelSystemFamily = "Neznano"     } (v 2     Write-Host »Družina modelov sistema OEM: $oemModelSystemFamily« } ulova {     Write-Warning registrski ključ »OEMModelSystemFamily ni mogoče najti ali nedostopen«     $oemModelSystemFamily = $null     Write-Host »Družina sistema modelov OEM: Ni na voljo« }

# 11. OEMModelNumber # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelNumber -ErrorAction Stop     $oemModelNumber = $regValue.OEMModelNumber     if ([string]::IsNullOrEmpty($oemModelNumber)) {         Write-Warning »OEMModelNumber je prazen«         $oemModelNumber = "Neznano"     } (v 2     Write-Host »Številka modela OEM: $oemModelNumber« } ulova {     Write-Warning »Registrskega ključa OEMModelNumber ni mogoče najti ali nedostopen«     $oemModelNumber = $null     Write-Host »Številka modela OEM: Ni na voljo« }

# 12. FirmwareVersion # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareVersion -ErrorAction Stop     $firmwareVersion = $regValue.FirmwareVersion     if ([string]::IsNullOrEmpty($firmwareVersion)) {         Write-Warning »FirmwareVersion je prazen«         $firmwareVersion = "Neznano"     } (v 2     Write-Host »Različica vdelane programske opreme: $firmwareVersion« } ulova {     Write-Warning »Registrskega ključa različice vdelane programske opreme ni mogoče najti ali nedostopen«     $firmwareVersion = $null     Write-Host »Različica vdelane programske opreme: ni na voljo« }

# 13. FirmwareReleaseDate # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareReleaseDate -ErrorAction Stop     $firmwareReleaseDate = $regValue.FirmwareReleaseDate     if ([string]::IsNullOrEmpty($firmwareReleaseDate)) {         Write-Warning »FirmwareReleaseDate je prazen«         $firmwareReleaseDate = »Neznano«     } (v 2     Write-Host »Datum izdaje vdelane programske opreme: $firmwareReleaseDate« } ulova {     Write-Warning »Registrskega ključa FirmwareReleaseDate ni bilo mogoče najti ali nedostopno«     $firmwareReleaseDate = $null     Write-Host »Datum izdaje vdelane programske opreme: ni na voljo« }

# 14. OSArchitecture # PS Version: All | Skrbnik: Ne | Sistemske zahteve: Brez poskusite {     $osArchitecture = $env:PROCESSOR_ARCHITECTURE     if ([string]::IsNullOrEmpty($osArchitecture)) {         # Poskusite z rezervnim registrom         $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OSArchitecture -ErrorAction Stop         $osArchitecture = $regValue.OSArchitecture     } (v 2     if ([string]::IsNullOrEmpty($osArchitecture)) {         Write-Warning »OSArchitecture ni bilo mogoče določiti«         $osArchitecture = »Neznano«     } (v 2     Write-Host »Arhitektura operacijskega sistema: $osArchitecture« } ulova {     Write-Warning »Napaka pri pridobivanju OSArchitecture: $_«     $osArchitecture = »Neznano«     Write-Host »Arhitektura operacijskega sistema: $osArchitecture« }

# 15. CanAttemptUpdateAfter (FILETIME) # PS Version: All | Skrbnik: Morda bo zahtevano | Sistemske zahteve: Brez poskusite {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name CanAttemptUpdateAfter -ErrorAction Stop     $canAttemptUpdateAfter = $regValue.CanAttemptUpdateAfter     # Convert FILETIME to DateTime if it's a valid number     if ($null -ne $canAttemptUpdateAfter -and $canAttemptUpdateAfter -is [long]) {         poskusite {             $canAttemptUpdateAfter = [DateTime]::FromFileTime($canAttemptUpdateAfter)         } ulova {             Write-Warning »CanAttemptUpdateAfter FILETIME ni mogoče pretvoriti v DateTime«         } (v 2     } (v 2     Write-Host »Lahko poskusi posodobitev po: $canAttemptUpdateAfter« } ulova {     Write-Warning »Registrskega ključa CanAttemptUpdateAfter ni bilo mogoče najti ali nedostopno«     $canAttemptUpdateAfter = $null     Write-Host »Lahko poskusi posodobitev po: ni na voljo« }

# Event Logs: System Log (5 values)

# 16-20. Event Log queries # PS Različica: 3.0+ | Skrbnik: Morda bo zahtevan za sistemski dnevnik | Sistemske zahteve: Brez poskusite {     $allEventIds = @(1801, 1808)     $events = @(Get-WinEvent -FilterHashtable @{LogName='System'; ID=$allEventIds} -MaxEvents 20 -ErrorAction Stop)

    if ($events.Count -eq 0) {         Write-Warning »V sistemskem dnevniku ni najdenih dogodkov varnega zagona (1801/1808) «         $latestEventId = $null         $bucketId = $null         $confidence = $null         $event 1801Count = 0         $event 1808Count = 0         Write-Host »Latest Event ID: Not available« (Najnovejši ID dogodka: Ni na voljo)         Write-Host »ID vedra: Ni na voljo«         Write-Host »Zaupanje: ni na voljo«         Write-Host »Event 1801 Count: 0«         Write-Host »Event 1808 Count: 0«     } drugo {         # 16. LatestEventId         $latestEvent = $events | Sort-Object TimeCreated -Descending | Select-Object – prvi 1         if ($null -eq $latestEvent) {             Write-Warning »Najnovejšega dogodka ni bilo mogoče določiti«             $latestEventId = $null             Write-Host »Latest Event ID: Not available« (Najnovejši ID dogodka: ni na voljo)         } drugo {             $latestEventId = $latestEvent.Id             Write-Host »Latest Event ID: $latestEventId« (Najnovejši ID dogodka: $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 vedra: $bucketId«             } drugo {                 Write-Warning »Id Vedra ni mogoče najti v sporočilu dogodka«                 $bucketId = $null                 Write-Host »ID vedra: Ni mogoče najti v dogodku«             } (v 2         } drugo {             Write-Warning »Latest event or message is null, cannot extract BucketId« (Najnovejši dogodek ali sporočilo je ničelno, ni mogoče ekstrahirati BucketId)             $bucketId = $null             Write-Host »ID vedra: ni na voljo«         }

        # 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 »Confidence: $confidence«             } drugo {                 Write-Warning »Ravni zaupanja ni mogoče najti v sporočilu dogodka«                 $confidence = $null                 Write-Host »Confidence: Not Found in Event« (Zaupanja ni mogoče najti v dogodku)             } (v 2         } drugo {             Write-Warning »Zadnji dogodek ali sporočilo je ničelno, ni mogoče ekstrahirati zaupanja«             $confidence = $null             Write-Host »Zaupanje: ni na voljo«         }

        # 19. Event1801Count $event 1801Array = @($events | Where-Object {$_. ID –eq 1801})         $event 1801Count = $event 1801Array.Count         Write-Host »Event 1801 Count: $event 1801Count«

        # 20. Event1808Count $event 1808Array = @($events | Where-Object {$_. ID –eq 1808})         $event 1808Count = $event 1808Array.Count         Write-Host »Event 1808 Count: $event 1808Count«     } (v 2 } ulova {     Write-Warning »Napaka pri pridobivanju dnevnikov dogodkov. Morda boste morali zahtevati skrbniške pravice: $_"     $latestEventId = $null     $bucketId = $null     $confidence = $null     $event 1801Count = 0     $event 1808Count = 0     Write-Host »Latest Event ID: Error« (Najnovejši ID dogodka: napaka)     Write-Host »ID vedra: napaka«     Write-Host »Zaupanje: napaka«     Write-Host »Event 1801 Count: 0«     Write-Host »Event 1808 Count: 0« }

# WMI/CIM Queries (4 values)

# 21. OSVersion # PS Različica: 3.0+ (uporabite Get-WmiObject za 2.0) | Skrbnik: Ne | Sistemske zahteve: Brez poskusite {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     if ($null -eq $osInfo -or [string]::IsNullOrEmpty($osInfo.Version)) {         Write-Warning »Različice operacijskega sistema ni bilo mogoče pridobiti«         $osVersion = "Neznano"     } drugo {         $osVersion = $osInfo.Version     } (v 2     Write-Host »Različica operacijskega sistema: $osVersion« } ulova {     Write-Warning »Napaka pri pridobivanju različice operacijskega sistema: $_«     $osVersion = »Neznano«     Write-Host »Različica operacijskega sistema: $osVersion« }

# 22. LastBootTime # PS Različica: 3.0+ (uporabite Get-WmiObject za 2.0) | Skrbnik: Ne | Sistemske zahteve: Brez poskusite {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     if ($null -eq $osInfo -or $null -eq $osInfo.LastBootUpTime) {         Write-Warning »Čas zadnjega zagona ni bil mogoče pridobiti«         $lastBootTime = $null         Write-Host »Čas zadnjega zagona: ni na voljo«     } drugo {         $lastBootTime = $osInfo.LastBootUpTime         Write-Host »Čas zadnjega zagona: $lastBootTime«     } (v 2 } ulova {     Write-Warning »Napaka pri pridobivanju časa zadnjega zagona: $_«     $lastBootTime = $null     Write-Host »Čas zadnjega zagona: ni na voljo« }

# 23. BaseBoardManufacturer # PS Različica: 3.0+ (uporabite Get-WmiObject za 2.0) | Skrbnik: Ne | Sistemske zahteve: Brez poskusite {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -or [string]::IsNullOrEmpty($baseBoard.Manufacturer)) {         Write-Warning »proizvajalca osnovne plošče ni bilo mogoče pridobiti«         $baseBoardManufacturer = "Neznano"     } drugo {         $baseBoardManufacturer = $baseBoard.Manufacturer     } (v 2     Write-Host »Proizvajalec osnovne plošče: $baseBoardManufacturer« } ulova {     Write-Warning »Napaka pri pridobivanju izdelovalca osnovne plošče: $_«     $baseBoardManufacturer = »Neznano«     Write-Host »Proizvajalec osnovne plošče: $baseBoardManufacturer« }

# 24. BaseBoardProduct # PS Različica: 3.0+ (uporabite Get-WmiObject za 2.0) | Skrbnik: Ne | Sistemske zahteve: Brez poskusite {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -or [string]::IsNullOrEmpty($baseBoard.Product)) {         Write-Warning »izdelka baseboard ni bilo mogoče pridobiti«         $baseBoardProduct = "Neznano"     } drugo {         $baseBoardProduct = $baseBoard.Izdelek     } (v 2     Write-Host »Izdelek na osnovni plošči: $baseBoardProduct« } ulova {     Write-Warning »Napaka pri pridobivanju izdelka osnovne plošče: $_«     $baseBoardProduct = »Neznano«     Write-Host »Izdelek baseboard: $baseBoardProduct«}

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.