Gælder for
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

Oprindelig publiceringsdato: 17. november 2025

KB-id: 5072718

Eksempel på script til indsamling af data til sikker bootstart

Kopiér og indsæt dette eksempelscript, og rediger det efter behov for dit miljø: Scriptet Sample Secure Boot Inventory Data Collection.

Sample_Secure_Boot_Inventory_Data_Collection_script

# 1. HostName # PS Version: Alle | Administration: Nej | Systemkrav: Ingen prøv {     $hostname = $env:COMPUTERNAVN     if ([string]::IsNullOrEmpty($hostname)) {         Write-Warning "Værtsnavn kunne ikke bestemmes"         $hostname = "Ukendt"     }     Write-Host "Hostname: $hostname" } fange {     Write-Warning "Fejl under hentning af værtsnavn: $_"     $hostname = "Fejl"     Write-Host "Hostname: $hostname" }

# 2. CollectionTime # PS Version: Alle | Administration: Nej | Systemkrav: Ingen prøv {     $collectionTime = Hent dato     if ($null -eq $collectionTime) {         Write-Warning "Dags dato/klokkeslæt kunne ikke hentes"         $collectionTime = "Ukendt"     }     Write-Host "Samlingstid: $collectionTime" } fange {     Write-Warning "Fejl under hentning af dato/klokkeslæt: $_"     $collectionTime = "Fejl"     Write-Host "Samlingstid: $collectionTime" }

# Registry: Secure Boot Main Key (3 values)

# 3. SecureBootEnabled # PS Version: 3.0+ | Administration: Kan være påkrævet | Systemkrav: UEFI/Secure Boot-kompatibelt system prøv {     $secureBootEnabled = Confirm-SecureBootUEFI -ErrorAction Stop     Write-Host "Sikker bootstart aktiveret: $secureBootEnabled" } fange {     Write-Warning "Status for sikker bootstart kan ikke bestemmes via cmdlet: $_"     # Prøv fallback i registreringsdatabasen     prøv {         $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\State" -Name UEFISecureBootEnabled -ErrorAction Stop         $secureBootEnabled = [bool]$regValue.UEFISecureBootEnabled         Write-Host "Sikker bootstart aktiveret: $secureBootEnabled"     } fange {         Write-Warning "Status for sikker bootstart kan ikke bestemmes via registreringsdatabasen. Systemet understøtter muligvis ikke UEFI/Secure Boot."         $secureBootEnabled = $null         Write-Host "Sikker bootstart aktiveret: Ikke tilgængelig"     } }

# 4. HighConfidenceOptOut # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name HighConfidenceOptOut -ErrorAction Stop     $highConfidenceOptOut = $regValue.HighConfidenceOptOut     Write-Host "Fravalg af høj konfidens: $highConfidenceOptOut" } fange {     Write-Warning "Registreringsdatabasenøglen HighConfidenceOptOut blev ikke fundet eller ikke tilgængelig"     $highConfidenceOptOut = $null     Write-Host "Fravalg af høj konfidens: Ikke tilgængelig" }

# 5. AvailableUpdates # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name AvailableUpdates -ErrorAction Stop     $availableUpdates = $regValue.AvailableUpdates     if ($null -ne $availableUpdates) {         # Konvertér til hexadecimalformat         $availableUpdatesHex = "0x{0:X}" -f $availableUpdates         Write-Host "Tilgængelig Opdateringer: $availableUpdatesHex"     } ellers {         Write-Host "Tilgængelig Opdateringer: Ikke tilgængelig"     } } fange {     Write-Warning "AvailableUpdates registry key not found or inaccessible"     $availableUpdates = $null     Write-Host "Tilgængelig Opdateringer: Ikke tilgængelig" }

# Registry: Servicing Key (3 values)

# 6. UEFICA2023Status # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $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" } fange {     Write-Warning "Registreringsdatabasenøglen UEFICA2023Status blev ikke fundet eller er ikke tilgængelig"     $uefica 2023Status = $null     Write-Host "UEFI CA 2023-status: Ikke tilgængelig" }

# 7. UEFICA2023Capable # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Capable -ErrorAction Stop     $uefica 2023 Ude af stand = $regValue.UEFICA2023 Ude af stand     Write-Host "UEFI CA 2023 Capable: $uefica 2023Capable" } fange {     Write-Warning "UEFICA2023 Ude af stand til registreringsdatabasenøgle blev ikke fundet eller ikke tilgængelig"     $uefica 2023Capable = $null     Write-Host "UEFI CA 2023-kompatibel: ikke tilgængelig" }

# 8. UEFICA2023Error # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Error -ErrorAction Stop     $uefica 2023Fejl = $regValue.UEFICA2023Fejl     Write-Host "UEFI CA 2023-fejl: $uefica 2023Fejl" } fange {     Write-Warning "Registreringsdatabasenøglen UEFICA2023Fejl blev ikke fundet eller ikke tilgængelig"     $uefica 2023Fejl = $null     Write-Host "UEFI CA 2023-fejl: Ikke tilgængelig" }

# Registry: Device Attributes (7 values)

# 9. OEMManufacturerName # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMManufacturerName -ErrorAction Stop     $oemManufacturerName = $regValue.OEMManufacturerName     if ([string]::IsNullOrEmpty($oemManufacturerName)) {         Write-Warning "OEMManufacturerName is empty"         $oemManufacturerName = "Ukendt"     }     Write-Host "OEM-producentnavn: $oemManufacturerName" } fange {     Write-Warning "OEMManufacturerName registry key not found or inaccessible"     $oemManufacturerName = $null     Write-Host "OEM-producentnavn: ikke tilgængelig" }

# 10. OEMModelSystemFamily # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelSystemFamily -ErrorAction Stop     $oemModelSystemFamily = $regValue.OEMModelSystemFamily     if ([string]::IsNullOrEmpty($oemModelSystemFamily)) {         Write-Warning "OEMModelSystemFamily er tom"         $oemModelSystemFamily = "Ukendt"     }     Write-Host "OEM Model System Family: $oemModelSystemFamily" } fange {     Write-Warning "OEMModelSystemFamily-registreringsdatabasenøglen blev ikke fundet eller ikke tilgængelig"     $oemModelSystemFamily = $null     Write-Host "OEM Model System Family: Not Available" }

# 11. OEMModelNumber # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelNumber -ErrorAction Stop     $oemModelNumber = $regValue.OEMModelNumber     if ([string]::IsNullOrEmpty($oemModelNumber)) {         Write-Warning "OEMModelNumber er tom"         $oemModelNumber = "Ukendt"     }     Write-Host "OEM-modelnummer: $oemModelNumber" } fange {     Write-Warning "Registreringsdatabasenøglen OEMModelNumber blev ikke fundet eller ikke tilgængelig"     $oemModelNumber = $null     Write-Host "OEM-modelnummer: Ikke tilgængelig" }

# 12. FirmwareVersion # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareVersion -ErrorAction Stop     $firmwareVersion = $regValue.FirmwareVersion     if ([string]::IsNullOrEmpty($firmwareVersion)) {         Write-Warning "FirmwareVersion er tom"         $firmwareVersion = "Ukendt"     }     Write-Host "Firmwareversion: $firmwareVersion" } fange {     Write-Warning "Registreringsdatabasenøglen FirmwareVersion blev ikke fundet eller ikke tilgængelig"     $firmwareVersion = $null     Write-Host "Firmwareversion: ikke tilgængelig" }

# 13. FirmwareReleaseDate # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareReleaseDate -ErrorAction Stop     $firmwareReleaseDate = $regValue.FirmwareReleaseDate     if ([string]::IsNullOrEmpty($firmwareReleaseDate)) {         Write-Warning "FirmwareReleaseDate is empty"         $firmwareReleaseDate = "Ukendt"     }     Write-Host "Udgivelsesdato for firmware: $firmwareReleaseDate" } fange {     Write-Warning "FirmwareReleaseDate registreringsdatabasenøglen blev ikke fundet eller ikke tilgængelig"     $firmwareReleaseDate = $null     Write-Host "Udgivelsesdato for firmware: ikke tilgængelig" }

# 14. OSArchitecture # PS Version: Alle | Administration: Nej | Systemkrav: Ingen prøv {     $osArchitecture = $env:PROCESSOR_ARCHITECTURE     if ([streng]::IsNullOrEmpty($osArchitecture)) {         # Prøv fallback i registreringsdatabasen         $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OSArchitecture -ErrorAction Stop         $osArchitecture = $regValue.OSArchitecture     }     if ([streng]::IsNullOrEmpty($osArchitecture)) {         Write-Warning "OSArchitecture kunne ikke bestemmes"         $osArchitecture = "Ukendt"     }     Write-Host "OS-arkitektur: $osArchitecture" } fange {     Write-Warning "Fejl under hentning af OSArchitecture: $_"     $osArchitecture = "Ukendt"     Write-Host "OS-arkitektur: $osArchitecture" }

# 15. CanAttemptUpdateAfter (FILETIME) # PS Version: Alle | Administration: Kan være påkrævet | Systemkrav: Ingen prøv {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name CanAttemptUpdateAfter -ErrorAction Stop     $canAttemptUpdateAfter = $regValue.CanAttemptUpdateAfter     # Konvertér FILETIME til DateTime, hvis det er et gyldigt tal     if ($null -ne $canAttemptUpdateAfter -and $canAttemptUpdateAfter -is [long]) {         prøv {             $canAttemptUpdateAfter = [DateTime]::FromFileTime($canAttemptUpdateAfter)         } fange {             Write-Warning "CanAttemptUpdateAfter FILETIME kunne ikke konverteres til DateTime"         }     }     Write-Host "Kan forsøge at opdatere efter: $canAttemptUpdateAfter" } fange {     Write-Warning "CanAttemptUpdateAfter registry key not found or inaccessible"     $canAttemptUpdateAfter = $null     Write-Host "Kan forsøge at opdatere efter: ikke tilgængelig" }

# Event Logs: System Log (5 values)

# 16-20. Event Log queries # PS Version: 3.0+ | Administration: Kan være påkrævet for systemloggen | Systemkrav: Ingen prøv {     $allEventIds = @(1801, 1808)     $events = @(Get-WinEvent -FilterHashtable @{LogName='System'; ID=$allEventIds} -MaxEvents 20 -ErrorAction Stop)

    if ($events.Count -eq 0) {         Write-Warning "Der blev ikke fundet nogen sikker bootstarthændelser (1801/1808) i systemloggen"         $latestEventId = $null         $bucketId = $null         $confidence = $null         $event 1801TÆL = 0         $event 1808Tæl = 0         Write-Host "Seneste hændelses-id: Ikke tilgængelig"         Write-Host "Bucket-id: Ikke tilgængelig"         Write-Host "Konfidens: Ikke tilgængelig"         Write-Host "Hændelse 1801 Antal: 0"         Write-Host "Hændelse 1808 Antal: 0"     } ellers {         # 16. LatestEventId         $latestEvent = $events | Sort-Object TimeCreated -Faldende | Select-Object -Første 1         if ($null -eq $latestEvent) {             Write-Warning "Kunne ikke fastslå den seneste hændelse"             $latestEventId = $null             Write-Host "Seneste hændelses-id: Ikke tilgængelig"         } ellers {             $latestEventId = $latestEvent.Id             Write-Host "Seneste hændelses-id: $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 "Bucket ID: $bucketId"             } ellers {                 Write-Warning "BucketId blev ikke fundet i hændelsesmeddelelse"                 $bucketId = $null                 Write-Host "Bucket-id: Blev ikke fundet i hændelse"             }         } ellers {             Write-Warning "Seneste hændelse eller meddelelse er null, kan ikke udtrække BucketId"             $bucketId = $null             Write-Host "Bucket-id: Ikke tilgængelig"         }

        # 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 "Konfidens: $confidence"             } ellers {                 Write-Warning "Tillidsniveau blev ikke fundet i hændelsesmeddelelse"                 $confidence = $null                 Write-Host "Konfidens: Ikke fundet i begivenhed"             }         } ellers {             Write-Warning "Seneste hændelse eller meddelelse er null, kan ikke udtrække Konfidens"             $confidence = $null             Write-Host "Konfidens: Ikke tilgængelig"         }

        # 19. Event1801Count $event 1801Array = @($events | Where-Object {$_. Id -eq 1801})         $event 1801Tæl = $event 1801Array.Count         Write-Host "Antal hændelser 1801: $event 1801TÆL"

        # 20. Event1808Count $event 1808Array = @($events | Where-Object {$_. Id -eq 1808})         $event 1808Tæl = $event 1808Array.Count         Write-Host "Antal hændelser 1808: $event 1808TÆL"     } } fange {     Write-Warning "Fejl under hentning af hændelseslogge. Kan kræve administratorrettigheder: $_"     $latestEventId = $null     $bucketId = $null     $confidence = $null     $event 1801TÆL = 0     $event 1808Tæl = 0     Write-Host "Seneste hændelses-id: Fejl"     Write-Host "Bucket-id: Fejl"     Write-Host "Konfidens: Fejl"     Write-Host "Antal hændelser 1801: 0"     Write-Host "Hændelse 1808 Antal: 0" }

# WMI/CIM Queries (4 values)

# 21. OSVersion # PS Version: 3.0+ (brug Get-WmiObject til 2.0) | Administration: Nej | Systemkrav: Ingen prøv {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     if ($null -eq $osInfo -or [string]::IsNullOrEmpty($osInfo.Version)) {         Write-Warning "Versionen af operativsystemet kunne ikke hentes"         $osVersion = "Ukendt"     } ellers {         $osVersion = $osInfo.Version     }     Write-Host "Version af operativsystem: $osVersion" } fange {     Write-Warning "Fejl under hentning af version af operativsystemet: $_"     $osVersion = "Ukendt"     Write-Host "Version af operativsystemet: $osVersion" }

# 22. LastBootTime # PS Version: 3.0+ (brug Get-WmiObject til 2.0) | Administration: Nej | Systemkrav: Ingen prøv {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     if ($null -eq $osInfo -or $null -eq $osInfo.LastBootUpTime) {         Write-Warning "Sidste starttidspunkt kunne ikke hentes"         $lastBootTime = $null         Write-Host "Sidste starttidspunkt: Ikke tilgængelig"     } ellers {         $lastBootTime = $osInfo.LastBootUpTime         Write-Host "Sidste starttidspunkt: $lastBootTime"     } } fange {     Write-Warning "Fejl under hentning af sidste starttidspunkt: $_"     $lastBootTime = $null     Write-Host "Sidste starttidspunkt: Ikke tilgængelig" }

# 23. BaseBoardManufacturer # PS Version: 3.0+ (brug Get-WmiObject til 2.0) | Administration: Nej | Systemkrav: Ingen prøv {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -eller [string]::IsNullOrEmpty($baseBoard.Manufacturer)) {         Write-Warning "Producenten af basisbordet kunne ikke hentes"         $baseBoardManufacturer = "Ukendt"     } ellers {         $baseBoardManufacturer = $baseBoard.Manufacturer     }     Write-Host "Producent af grundbord: $baseBoardManufacturer" } fange {     Write-Warning "Fejl under hentning af producent af basisbord: $_"     $baseBoardManufacturer = "Ukendt"     Write-Host "Producent af grundbord: $baseBoardManufacturer" }

# 24. BaseBoardProduct # PS Version: 3.0+ (brug Get-WmiObject til 2.0) | Administration: Nej | Systemkrav: Ingen prøv {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -eller [streng]::IsNullOrEmpty($baseBoard.Product)) {         Write-Warning "Basisproduktet kunne ikke hentes"         $baseBoardProduct = "Ukendt"     } ellers {         $baseBoardProduct = $baseBoard.Product     }     Write-Host "Basisprodukt: $baseBoardProduct" } fange {     Write-Warning "Fejl under hentning af basisbordsprodukt: $_"     $baseBoardProduct = "Ukendt"     Write-Host "Basisprodukt: $baseBoardProduct"}

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.