Attiecas uz
Windows 10 Windows 10, version 1607, all editions Win 10 Ent 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

Sākotnējās publicēšanas datums: 2025. gada 17. novembris

KB ID: 5072718

Drošas sāknēšanas krājumu datu kolekcijas skripta paraugs

Nokopējiet un ielīmējiet šo skripta paraugu un modificējiet pēc nepieciešamības savā vidē: drošās sāknēšanas krājumu datu kolekcijas skripts.

Sample_Secure_Boot_Inventory_Data_Collection_script

# 1. HostName # PS versija: Visi | Administrēšana: Nē | Sistēmas prasības: Nav izmēģināt {     $hostname = $env:DATORA_NOSAUKUMS     if ([string]::IsNullOrEmpty($hostname)) {         Write-Warning "Resursdatora nosaukumu nevarēja noteikt"         $hostname = "Nezināms"     }     Write-Host "Resursdatora nosaukums: $hostname" } tvert {     Write-Warning "Kļūda, izgūstot resursdatora nosaukumu: $_"     $hostname = "Kļūda"     Write-Host "Resursdatora nosaukums: $hostname" }

# 2. CollectionTime # PS versija: Visi | Administrēšana: Nē | Sistēmas prasības: Nav izmēģināt {     $collectionTime = Get-Date     if ($null -eq $collectionTime) {         Write-Warning "Nevarēja izgūt pašreizējo datumu/laiku"         $collectionTime = "Nezināms"     }     Write-Host "Kolekcijas laiks: $collectionTime" } tvert {     Write-Warning "Kļūda, izgūstot datumu/laiku: $_"     $collectionTime = "Kļūda"     Write-Host "Kolekcijas laiks: $collectionTime" }

# Registry: Secure Boot Main Key (3 values)

# 3. SecureBootEnabled # PS versija: 3.0+ | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: sistēma ar UEFI/drošo sāknēšanas sistēmu izmēģināt {     $secureBootEnabled = Confirm-SecureBootUEFI -ErrorAction Stop     Write-Host "Droša palaišana iespējota: $secureBootEnabled" } tvert {     Write-Warning "Nevar noteikt drošās sāknēšanas statusu, izmantojot cmdlet: $_"     # Try registry fallback     izmēģināt {         $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\State" -Name UEFISecureBootEnabled -ErrorAction Stop         $secureBootEnabled = [būla vērtība]$regValue.UEFISecureBootEnabled         Write-Host "Droša sāknēšana: iespējota: $secureBootEnabled"     } tvert {         Write-Warning "Nevar noteikt drošās sāknēšanas statusu, izmantojot reģistru. Sistēma, iespējams, neatbalsta UEFI/Secure Boot."         $secureBootEnabled = $null         Write-Host "Droša sāknēšana iespējota: nav pieejama"     } }

# 4. HighConfidenceOptOut # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name HighConfidenceOptOut -ErrorAction Stop     $highConfidenceOptOut = $regValue.HighConfidenceOptOut     Write-Host "Augstas ticamības atteikšanās: $highConfidenceOptOut" } tvert {     Write-Warning "HighConfidenceOptOut reģistra atslēga nav atrasta vai nav pieejama"     $highConfidenceOptOut = $null     Write-Host "Augstas ticamības atteikšanās: nav pieejams" }

# 5. AvailableUpdates # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name AvailableUpdates -ErrorAction Stop     $availableUpdates = $regValue.AvailableUpdates     if ($null -ne $availableUpdates) {         # Pārvēršana heksadecimālā formātā         $availableUpdatesHex = "0x{0:X}" -f $availableUpdates         Write-Host "Pieejamās Atjauninājumi: $availableUpdatesHex"     } vēl {         Write-Host "Pieejamie Atjauninājumi: nav pieejams"     } } tvert {     Write-Warning "AvailableUpdates registry key not found or inaccessible"     $availableUpdates = $null     Write-Host "Pieejamie Atjauninājumi: nav pieejams" }

# Registry: Servicing Key (3 values)

# 6. UEFICA2023Status # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Status -ErrorAction Stop     $uefica 2023Status = $regValue.UEFICA2023Status     Write-Host "UEFI CA 2023 statuss: $uefica 2023Status" } tvert {     Write-Warning "UEFICA2023Status reģistra atslēga nav atrasta vai nav pieejama"     $uefica 2023Status = $null     Write-Host "UEFI CA 2023 statuss: nav pieejams" }

# 7. UEFICA2023Capable # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $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" } tvert {     Write-Warning "UEFICA2023Capable reģistra atslēga nav atrasta vai nepieejama"     $uefica 2023Capable = $null     Write-Host "UEFI CA 2023 Capable: Not Available" }

# 8. UEFICA2023Error # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Error -ErrorAction Stop     $uefica 2023Error = $regValue.UEFICA2023Error     Write-Host "UEFI CA 2023 kļūda: $uefica 2023Error" } tvert {     Write-Warning "UEFICA2023Error reģistra atslēga nav atrasta vai nav pieejama"     $uefica 2023Error = $null     Write-Host "UEFI CA 2023 kļūda: nav pieejams" }

# Registry: Device Attributes (7 values)

# 9. OEMManufacturerName # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMManufacturerName -ErrorAction Stop     $oemManufacturerName = $regValue.OEMManufacturName     if ([string]::IsNullOrEmpty($oemManufacturerName)) {         Write-Warning "OEMManufacturerName is empty" (OEMManufacturerName ir tukšs)         $oemManufacturerName = "Unknown"     }     Write-Host "OEM ražotāja nosaukums: $oemManufacturerName" } tvert {     Write-Warning "OEMManufacturerName reģistra atslēga nav atrasta vai nav pieejama"     $oemManufacturerName = $null     Write-Host "OEM ražotāja nosaukums: nav pieejams" }

# 10. OEMModelSystemFamily # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelSystemFamily -ErrorAction Stop     $oemModelSystemFamily = $regValue.OEMModelSystemFamily     if ([string]::IsNullOrEmpty($oemModelSystemFamily)) {         Write-Warning "OEMModelSystemFamily is empty" (OEMModelSystemFamily ir tukšs)         $oemModelSystemFamily = "Nezināms"     }     Write-Host "OEM Model System Family: $oemModelSystemFamily" } tvert {     Write-Warning "OEMModelSystemFamily reģistra atslēga nav atrasta vai nav pieejama"     $oemModelSystemFamily = $null     Write-Host "OEM model system family: Not Available" (OEM modeļu sistēmas saime: nav pieejams) }

# 11. OEMModelNumber # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelNumber -ErrorAction Stop     $oemModelNumber = $regValue.OEMModelNumber     if ([string]::IsNullOrEmpty($oemModelNumber)) {         Write-Warning "OEMModelNumber is empty" (OEMModelNumber ir tukšs)         $oemModelNumber = "Nezināms"     }     Write-Host "OEM modeļa numurs: $oemModelNumber" } tvert {     Write-Warning "OEMModelNumber reģistra atslēga nav atrasta vai nav pieejama"     $oemModelNumber = $null     Write-Host "OEM modeļa numurs: nav pieejams" }

# 12. FirmwareVersion # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareVersion -ErrorAction Stop     $firmwareVersion = $regValue.AparātprogrammatūraVersija     if ([string]::IsNullOrEmpty($firmwareVersion)) {         Write-Warning "AparātprogrammatūraVersija ir tukša"         $firmwareVersion = "Nezināms"     }     Write-Host "Aparātprogrammatūras versija: $firmwareVersion" } tvert {     Write-Warning "Aparātprogrammatūras_versijas reģistra atslēga nav atrasta vai nav pieejama"     $firmwareVersion = $null     Write-Host "Aparātprogrammatūras versija: nav pieejama" }

# 13. FirmwareReleaseDate # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $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" (AparātprogrammatūrasreleaseDate ir tukšs)         $firmwareReleaseDate = "Nezināms"     }     Write-Host "Aparātprogrammatūras izlaides datums: $firmwareReleaseDate" } tvert {     Write-Warning "FirmwareReleaseDate reģistra atslēga nav atrasta vai nav pieejama"     $firmwareReleaseDate = $null     Write-Host "Aparātprogrammatūras izlaides datums: nav pieejams" }

# 14. OSArchitecture # PS versija: Visi | Administrēšana: Nē | Sistēmas prasības: Nav izmēģināt {     $osArchitecture = $env:PROCESSOR_ARCHITECTURE     if ([string]::IsNullOrEmpty($osArchitecture)) {         # Try registry fallback         $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OSArchitecture -ErrorAction Stop         $osArchitecture = $regValue.OSArchitecture     }     if ([string]::IsNullOrEmpty($osArchitecture)) {         Write-Warning "OSArchitecture nevarēja noteikt"         $osArchitecture = "Nezināms"     }     Write-Host "OS arhitektūra: $osArchitecture" } tvert {     Write-Warning kļūda, izgūstot OSArchitecture: $_"     $osArchitecture = "Nezināms"     Write-Host "OS arhitektūra: $osArchitecture" }

# 15. CanAttemptUpdateAfter (FILETIME) # PS versija: Visi | Administrēšana: var būt jānorāda obligāti | Sistēmas prasības: Nav izmēģināt {     $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name CanAttemptUpdateAfter -ErrorAction Stop     $canAttemptUpdateAfter = $regValue.CanAttemptUpdateAfter     # Convert FILETIME to DateTime if it's valid number     if ($null -ne $canAttemptUpdateAfter -and $canAttemptUpdateAfter -is [long]) {         izmēģināt {             $canAttemptUpdateAfter = [DateTime]:FromFileTime($canAttemptUpdateAfter)         } tvert {             Write-Warning "CanAttemptUpdateAfter FILETIME to DateTime"         }     }     Write-Host "Var mēģināt atjaunināt pēc: $canAttemptUpdateAfter" } tvert {     Write-Warning "CanAttemptUpdateAfter reģistra atslēga nav atrasta vai nav pieejama"     $canAttemptUpdateAfter = $null     Write-Host "Vai mēģināt atjaunināt pēc: nav pieejams" }

# Event Logs: System Log (5 values)

# 16-20. Event Log queries # PS versija: 3.0+ | Administrēšana: Sistēmas žurnālam var būt nepieciešams obligāti obligāti | Sistēmas prasības: Nav izmēģināt {     $allEventIds = @(1801; 1808)     $events = @(Get-WinEvent -FilterHashtable @{LogName='System'; ID=$allEventIds} -MaxEvents 20 -ErrorAction Stop)

    if ($events.Count -eq 0) {         Write-Warning "No Secure Boot events (1801/1808) found in System log" (Nav atrasti drošas sāknēšanas notikumi (1801/1808)         $latestEventId = $null         $bucketId = $null         $confidence = $null         $event 1801Count = 0         $event 1808Count = 0         Write-Host "Jaunākā notikuma ID: nav pieejams"         Write-Host "Intervāla ID: nav pieejams"         Write-Host "ticamības: nav pieejams"         Write-Host "Pasākuma 1801 skaits: 0"         Write-Host "Pasākuma 1808 skaits: 0"     } vēl {         # 16. LatestEventId         $latestEvent = $events | Sort-Object TimeCreated -Descending | Select-Object -pirmais 1         if ($null -eq $latestEvent) {             Write-Warning "Nevarēja noteikt jaunāko notikumu"             $latestEventId = $null             Write-Host "Jaunākais notikuma ID: nav pieejams"         } vēl {             $latestEventId = $latestEvent.Id             Write-Host "Jaunākā notikuma 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 "Intervāla ID: $bucketId"             } vēl {                 Write-Warning ziņojums "BucketId nav atrasts notikuma ziņojumā"                 $bucketId = $null                 Write-Host "Intervāla ID: nav atrasts notikumā"             }         } vēl {             Write-Warning "Jaunākais notikums vai ziņojums ir null, nevar izvilkt BucketId"             $bucketId = $null             Write-Host "Intervāla ID: nav pieejams"         }

        # 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 "Uzticamība: $confidence"             } vēl {                 Write-Warning "Ticamības līmenis nav atrasts notikuma ziņojumā"                 $confidence = $null                 Write-Host "ticamības: nav atrasts notikumā"             }         } vēl {             Write-Warning "Jaunākais notikums vai ziņojums ir null, nevar izvilkt pārliecību"             $confidence = $null             Write-Host "ticamības: nav pieejams"         }

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

        # 20. Event1808Count $event 1808Array = @($events | Where-Object {$_. Id -eq 1808})         $event 1808Count = $event 1808Array.Count         Write-Host "Notikuma 1808 count: $event 1808Count"     } } tvert {     Write-Warning "Kļūda, izgūstot notikumu žurnālus. Var būt nepieciešamas administratora privilēģijas: $_"     $latestEventId = $null     $bucketId = $null     $confidence = $null     $event 1801Count = 0     $event 1808Count = 0     Write-Host "Jaunākais notikuma ID: kļūda"     Write-Host "Intervāla ID: kļūda"     Write-Host "ticamības ziņojums: kļūda"     Write-Host "Pasākuma 1801 skaits: 0"     Write-Host "Pasākuma 1808 skaits: 0" }

# WMI/CIM Queries (4 values)

# 21. OSVersion # PS versija: 3.0+ (Get-WmiObject 2.0 lietošanai) | Administrēšana: Nē | Sistēmas prasības: Nav izmēģināt {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     if ($null -eq $osInfo -or [string]:IsNullOrEmpty($osInfo.Version)) {         Write-Warning "Nevarēja izgūt OS versiju"         $osVersion = "Nezināms"     } vēl {         $osVersion = $osInfo.Version     }     Write-Host "Operētājsistēmas versija: $osVersion" } tvert {     Write-Warning kļūda, izgūstot operētājsistēmas versiju: $_"     $osVersion = "Nezināms"     Write-Host "Operētājsistēmas versija: $osVersion" }

# 22. LastBootTime # PS versija: 3.0+ (Get-WmiObject 2.0 lietošanai) | Administrēšana: Nē | Sistēmas prasības: Nav izmēģināt {     $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop     if ($null -eq $osInfo -or $null -eq $osInfo.LastBootUpTime) {         Write-Warning "Neizdevās izgūt pēdējās palaišanas laiku"         $lastBootTime = $null         Write-Host "Pēdējās sāknēšanas laiks: nav pieejams"     } vēl {         $lastBootTime = $osInfo.LastBootUpTime         Write-Host "Last Boot Time: $lastBootTime"     } } tvert {     Write-Warning "Kļūda, izgūstot pēdējās palaišanas laiku: $_"     $lastBootTime = $null     Write-Host "Last Boot Time: Not Available" }

# 23. BaseBoardManufacturer # PS versija: 3.0+ (Get-WmiObject 2.0 lietošanai) | Administrēšana: Nē | Sistēmas prasības: Nav izmēģināt {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -or [string]:IsNullOrEmpty($baseBoard.Manufacturer)) {         Write-Warning "Could not retrieve baseboard manufacturer"         $baseBoardManufacturer = "Nezināms"     } vēl {         $baseBoardManufacturer = $baseBoard.Ražotājs     }     Write-Host "Baseboard Manufacturer: $baseBoardManufacturer" } tvert {     Write-Warning "Kļūda, izgūstot bāzes tāfeles ražotāju: $_"     $baseBoardManufacturer = "Nezināms"     Write-Host "Baseboard Manufacturer: $baseBoardManufacturer" }

# 24. BaseBoardProduct # PS versija: 3.0+ (Get-WmiObject 2.0 lietošanai) | Administrēšana: Nē | Sistēmas prasības: Nav izmēģināt {     $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop     if ($null -eq $baseBoard -or [string]:IsNullOrEmpty($baseBoard.Product)) {         Write-Warning "Nevarēja izgūt bāzes tāfeles produktu"         $baseBoardProduct = "Nezināms"     } vēl {         $baseBoardProduct = $baseBoard.Product     }     Write-Host "Bāzes tāfeles produkts: $baseBoardProduct" } tvert {     Write-Warning kļūda, izgūstot bāzes tāfeles produktu: $_"     $baseBoardProduct = "Nezināms"     Write-Host "Bāzes tāfeles produkts: $baseBoardProduct"}

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.