Ogledni vodič za E2E automatizaciju sigurnog pokretanja sustava
Primjenjuje se na
Izvorni datum objave: 16. ožujka 2026.Zadnji datum ažuriranja: 3. travnja 2026.ID baze znanja: 5084567
U ovom članku
Pregled
U ovom se vodiču opisuje sustav automatizirane implementacije ažuriranja certifikata za Windows Secure Boot DB pomoću pravilnik grupe i progresivnih valova uvođenja.
Automatizacija uvođenja certifikata sigurnog pokretanja sustava je sustav temeljen na komponenti PowerShell koji implementira ažuriranja certifikata baze podataka sigurnog pokretanja sustava Windows na računala pridružena domeni na kontrolirani, postupni način.
Ključne značajke
|
Značajka |
Opis |
|
Postupno uvođenje |
1 > 2 > 4 > 8... Uređaji po grupi |
|
Automatsko blokiranje |
Grupe s nedostupnim uređajima su izuzete |
|
Automatizirana implementacija GPO-a |
Jedna skripta orkestratora obrađuje sve |
|
Zakazano izvršavanje zadatka |
Nisu potrebni interaktivni upiti |
|
Praćenje u stvarnom vremenu |
Preglednik statusa s trakom tijeka |
Referenca za postavke Ažuriranja certifikata
Sadržaj odjeljka
Pravilnik grupe AvailableUpdatesPolicy
|
Mjesto registra |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|
Naziv |
AvailableUpdatesPolicy |
|
Vrijednost |
0x5944 (DWORD) |
To je ključ kojim upravlja GPO/ADMX koji:
-
Zadržava se nakon ponovnih pokretanja
-
Postavlja ga pravilnik grupe / MDM
-
Ne uzrokuje petlje ponovnog pokušaja (poništava se putem ClearRolloutFlags)
-
Je li odgovarajući ključ za implementaciju utemeljenu na pravilima
WinCSFlags – zastavice konfiguracijskog sustava za Windows
Administratori domena mogu alternativno koristiti konfiguracijski sustav Windows (WinCS) koji je izdan s ažuriranjima za operacijski sustav Windows za implementaciju ažuriranja sigurnog pokretanja na svim klijentima i poslužiteljima sustava Windows pridruženima domeni. Sastoji se od uslužnog programa sučelja naredbenog retka (CLI) za postavljanje upita i primjenu konfiguracija sigurnog pokretanja lokalno na računalo.
|
Naziv značajke |
Ključ WinCS |
Opis |
|
Feature_AllKeysAndBootMgrByWinCS |
F33E0C8E002 |
Omogućivanje tog ključa omogućuje instalaciju sljedećih novih certifikata za sigurno pokretanje sustava koje je omogućila tvrtka Microsoft na vašem uređaju.
|
Referenca: API-ji konfiguracijskog sustava za Windows (WinCS) za sigurno pokretanje
Arhitektura
1. faza: otkrivanje i praćenje statusa na razini tvrtke
Sadržaj odjeljka
Skripte potrebne za 1. fazu
Ogledne skripte za prikupljanje podataka inventara sigurnog pokretanja sustava
VAŽNO Sljedeći članci koji sadrže primjere skripti povučeni su iz upotrebe. Ako ste instalirali ažuriranje sustava Windows objavljeno 12. svibnja 2026. ili kasnije, ogledne skripte možete pronaći u mapi %systemroot%\SecureBoot\ExampleRolloutScripts na uređaju.
|
Ogledni naziv skripte |
Svrha |
Pokreće se na sustavima |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja točka (putem GPO-a) |
|
|
Generira izvješća i nadzorne ploče |
Administrator radne stanice |
|
|
Automatizira stvaranje objekta pravilnika grupe za prikupljanje podataka |
Kontroler domene |
povratak na "Faza 1: Otkrivanje i praćenje statusa na razini poduzeća"
Lokalno testiranje
Prije implementacije putem GPO-a testirajte skriptu za prikupljanje na jednom računalu da biste provjerili funkcionalnost.
-
Lokalno pokretanje skripte zbirke Otvorite privilegirani PowerShell prompt i izvršite sljedeće:
& .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest"
-
Provjera JSON izlaza
# View the collected data Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List
Ključna polja za provjeru • SecureBootEnabled – trebao bi biti True ili False • OverallStatus – dovršen, spremanzaažuriranje, needsData ili pogreška • BucketHash – grupa uređaja za podudaranje podataka pouzdanosti • SecureBootTaskEnabled – prikazuje status zadatka ažuriranja sigurnog pokretanja sustava.
-
Test Aggregation Script
# Generate reports from collected data & ".\Aggregate-SecureBootData.ps1" ' -InputPath "C:\Temp\SecureBootTest" ' -outputPath "C:\Temp\SecureBootReports" # Otvaranje HTML nadzorne ploče Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"
povratak na "Faza 1: Otkrivanje i praćenje statusa na razini poduzeća"
Implementacija GPO-a
Upotrijebite skriptu automatizacije koju ste dobili s domenskog kontrolera:
# Pokreni na kontroleru domene kao Administrator domene za interaktivni odjeljak OU – Preporučuje se # Znak "Contoso.com", "Contoso" zamijenite nazivom domene # Datotečni poslužitelj zamijenite nazivom datotečnog poslužitelja. Skripta prikazuje popis organizacijskih jedinica za implementaciju GPO-a .\Deploy-GPO-SecureBootCollection.ps1 ' -NazivDomene "contoso.com" ' -AutoDetectOU ' -CollectionSharePath "\\FILESERVER\SecureBootData$" -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" ' -Raspored "Dnevno" ' -ScheduleTime "14:00" ' -RandomDelayHours 4
Ta skripta izvodi sljedeće:
-
Stvara novi objekt pravilnika grupe s određenim nazivom
-
Kopira skriptu zbirke u SYSVOL radi visoke dostupnosti
-
konfigurira skriptu za pokretanje računala
-
povezuje objekt pravilnika grupe s ciljnom organizacijskom jedinicom
-
po želji stvara zakazani zadatak za periodičko prikupljanje
Sljedeća tablica pruža smjernice o trajanju kašnjenja na temelju veličine vašeg voznog parka.
|
Veličina voznog parka |
Raspon odgode |
|
1 – 10 tisuća uređaja |
4 sata |
|
10K-50K uređaja |
8 sati |
|
50K+ uređaja |
12 – 24 sata |
povratak na "Faza 1: Otkrivanje i praćenje statusa na razini poduzeća"
Sažetak postavki objekta pravilnika grupe
|
Postavka |
Lokacija |
Vrijednost |
|
Startup Script |
Konfiguracija računala → skripte |
Detect-SecureBootCertUpdateStatus.ps1 |
|
Parametri skripte |
(isto) |
-OutputPath "\\poslužitelj\zajedničko korištenje$" |
|
Pravilnik o izvršenju |
Predlošci → Administrator konfiguracije računala → PowerShell |
Dopusti lokalno i udaljeno potpisivanje |
|
Zakazani zadatak |
Computer Config → Preferences → Scheduled Tasks |
Zbirka dnevno/tjedna |
povratak na "Faza 1: Otkrivanje i praćenje statusa na razini poduzeća"
Provjera valjanosti
-
Prisilno ažuriranje GPO-a na testnom stroju
## On a test workstation gpupdate /force # Ponovno pokrenite klijentska računala da biste pokrenuli skriptu ili će se pokrenuti sljedeći zakaz.Restart-Computer – Force
-
Provjera zbirke podataka
# Provjera jesu li podaci prikupljeni (na datotečnom poslužitelju ili na bilo kojem računalu) Get-ChildItem "\\fileserver\SecureBootData$" | Sort-Object LastWriteTime -Descending | Select-Object – prvih 10 # Provjera JSON sadržaja Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json
-
Provjera aplikacije GPO
# Provjerite je li objekt pravilnika grupe primijenjen na računalo Select-String "SecureBoot" Skripta sprema i lokalnu kopiju radi zalihosti: Get-ChildItem "C:\ProgramData\SecureBootCollection\"
povratak na "Faza 1: Otkrivanje i praćenje statusa na razini poduzeća"
2. faza: skripte orkestracije ažuriranja certifikata sigurnog pokretanja sustava
Važno: Provjerite je li faza 1 dovršena, uključujući prikupljanje podataka na svakoj krajnjoj točki za udaljene zajedničke resurse poslužitelja.
Sadržaj odjeljka
Skripte potrebne za 2. fazu
Ogledne skripte za prikupljanje podataka inventara sigurnog pokretanja sustava
VAŽNO Sljedeći članci koji sadrže primjere skripti povučeni su iz upotrebe. Ako ste instalirali ažuriranje sustava Windows objavljeno 12. svibnja 2026. ili kasnije, ogledne skripte možete pronaći u mapi %systemroot%\SecureBoot\ExampleRolloutScripts na uređaju.
|
Ogledni naziv skripte |
Svrha |
Pokreće se na sustavima |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja točka (putem GPO-a) |
|
|
Generira izvješća i nadzorne ploče |
Administrator radne stanice |
|
|
Automatizira stvaranje objekta pravilnika grupe za prikupljanje podataka |
Kontroler domene |
|
|
Potpuno automatizirana, kontinuirana orkestracija s automatiziranom implementacijom GPO-a za instalaciju certifikata |
Administrator radne stanice |
|
|
Implementira skriptu orkestratora kao zakazani zadatak za automatsko uvođenje |
Kontroler domene |
|
|
Prikaz certifikata za sigurno pokretanje sustava Rollout status sa bilo koje radne stanice |
Administrator Workstation |
|
|
Omogućuje zadatak ažuriranja sigurnog pokretanja |
Na krajnjim točkama gdje je zadatak onemogućen (pokrenite ga samo jednom da biste omogućili zadatak ako je onemogućen) |
Natrag na "2. faza: skripte orkestracije ažuriranja certifikata za sigurno pokretanje"
Start-SecureBootRolloutOrchestrator.ps1
-
Svrha: Potpuno automatizirana, kontinuirana orkestracija s automatiziranom implementacijom GPO-a.
-
Funkcija
-
Pozivi Aggregate-SecureBootData.ps1 za status uređaja
-
Generira valove uvođenja pomoću progresivnog udvostručenja
-
Stvara GPO za implementaciju certifikata na jedan od sljedećih načina
-
Sigurnosno pokretanje Pravilnik grupe AvailableUpdatesPolicy = 0x5944 (zadano)
-
WinCS metoda (parametar –UseWinCS)
-
-
Stvaranje sigurnosnih grupa servisa Active Directory za ciljanje
-
Dodaje račune računala u sigurnosne grupe
-
Konfigurira filtriranje sigurnosti objekta pravilnika grupe
-
povezuje objekt pravilnika grupe s ciljnom organizacijskom jedinicom
-
Monitori blokiranih grupa (nedostupni uređaji)
-
Automatsko deblokiranje prilikom oporavka uređaja
-
-
Upotreba
# Interactive (testing) .\Start-SecureBootRolloutOrchestrator.ps1 ' -AggregationInputPath "\\fileserver\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -PollIntervalMinutes 30
# Interactive (testing), leveraging WinCS method .\Start-SecureBootRolloutOrchestrator.ps1 ' -AggregationInputPath "\\fileserver\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -PollIntervalMinutes 30 ' -UseWinCS
-
Administrator naredbe
# List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|Latitude5520|BIOS1.2"
# Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockAll
-
Parametri
Parametar
Zadano
Opis
AggregationInputPath
Obavezno
UNC put do JSON datoteka krajnje točke
ReportBasePath
Obavezno
Lokalni put za izvješća i stanje
TargetOU
Korijen domene
OU za povezivanje GPO-ova
WavePrefix
SecureBoot-Rollout
Prefix GPO/group imenovanje
MaxWaitHours
72
Sati prije provjere dohvatljivosti uređaja
PollIntervalMinutes
1440
Nekoliko minuta između provjera statusa
DryRun
False
Prikaz što bi se dogodilo bez promjena
Napomena o PollIntervalMinutes: Pri izravnom pokretanju orkestratora zadana je vrijednost 1440 minuta (24 sata). Kada se implementira putem Deploy-OrchestratorTask.ps1, zadana je vrijednost 30 minuta. Skripta za implementaciju prosljeđuje vlastitu zadanu postavku orkestratoru. Upotrijebite 30 minuta za aktivno uvođenje, 1440 za nadzor održavanja.
Neobavezni parametri
Parametar
Zadano
Opis
UseWinCS
False
Korištenje metode WinCS umjesto AvailableUpdatesPolicy GPO-a
WinCSKey
F33E0C8E002
Ključ WinCS za konfiguraciju sigurnog pokretanja
AllowListPath
(ništa)
Put do datoteke s nazivima hostova koje treba OMOGUĆITI za ciljano/pilot-uvođenje. Podržava .txt i .csv.
AllowADGroup
(ništa)
AD sigurnosnoj grupi računalnih računa na ALLOW. Primjer: "SecureBoot-Pilot-Computers"
Put s popisa isključenja
(ništa)
Put do datoteke s nazivima glavnog računala koje treba IZUZETI iz uvođenja (VIP/izvršni uređaji)
ExcludeADGroup
(ništa)
AD sigurnosne grupe računalnih računa. Primjer: "VIP-Computers"
ListBlockedBuckets
False
Prikaz trenutno blokiranih grupa uređaja
UnblockBucket
(ništa)
Deblokiranje određene grupe. Oblik: "Proizvođač|Model|BIOS"
Deblokiraj sve
False
Deblokiranje svih blokiranih grupa uređaja
Natrag na "2. faza: skripte orkestracije ažuriranja certifikata za sigurno pokretanje"
Deploy-OrchestratorTask.ps1
-
Svrha: Implementira orkestrator kao zakazani zadatak sustava Windows.
-
Prednosti
-
Nema sigurnosnih upita za PowerShell (zaobilaženje pravilnika izvršenja)
-
kontinuirano se izvodi u pozadini
-
Nije potrebna interakcija korisnika
-
Preživljava ponovna pokretanja
-
-
Upotreba
-
Implementacija pomoću računa servisa domene (preporučuje se)
-
Koristi pravilnik grupe AvailableUpdates (zadana metoda)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMENA\svc_secureboot"
-
Korištenje WinCS metode
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMENA\svc_secureboot" -UseWinCS
-
-
Implementacija uz račun SYSTEM
-
Koristi pravilnik grupe AvailableUpdates (zadana metoda)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports"
-
Korištenje WinCS method.\Deploy-OrchestratorTask.ps1
-AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" -UseWinCS
-
Preduvjeti za račun usluge
-
Administrator domene (za New-GPO, New-ADGroup, Add-ADGroupMember)
-
Pristup za čitanje za zajedničko korištenje JSON datoteka
-
Pristup pisanju u ReportBasePath
-
-
-
Natrag na "2. faza: skripte orkestracije ažuriranja certifikata za sigurno pokretanje"
Get-SecureBootRolloutStatus.ps1
-
Svrha: Pogledajte tijek uvođenja s bilo koje radne stanice.
-
Što prikazuje
-
stanje zakazanog zadatka (Aktivno ili spremno/Zaustavljeno)
-
Broj trenutnog vala
-
Ciljani naspram ažuriranih uređaja
-
Vizualna traka prikaza tijeka
-
Sažetak blokiranih grupa
-
Veza na najnoviju HTML nadzornu ploču
-
-
Upotreba
# Quick status check .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
# Continuous monitoring (refreshes every 30 seconds) .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -Watch 30
# View blocked buckets .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowBlocked
# View wave history .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowWaves
# View recent log .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowLog
# Open dashboard in browser .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
Parametri
Parametar
Obavezno?
Zadano
Opis
ReportBasePath
Obavezno
—
Lokalni put do izvješća i datoteka stanja
ShowLog
Neobavezno
False
Prikaz nedavnih unosa u zapisnik orkestratora
ShowBlocked
Neobavezno
False
Prikaz pojedinosti o blokiranim grupama
ShowWaves
Neobavezno
False
Prikaz povijesti valnih valova
Gledanje
Neobavezno
0 (onemogućeno)
Interval automatskog osvježavanja u sekundama. Primjer: -Watch 30 osvježava se svakih 30 sekundi.
Otvori nadzornu ploču
Neobavezno
False
Otvaranje najnovije HTML nadzorne ploče u zadanom pregledniku
-
Primjer izlaza
============================================================== STATUS SIGURNOG POKRETANJA SUSTAVA 2026-02-17 19:30:00 ======================================================
Scheduled Task: Running
ROLLOUT PROGRESS ---------------------------------------- Status: u tijeku Trenutni val: 5 Ukupno ciljano: 1250 Ukupno ažurirano: 847
Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%
BLOCKED BUCKETS: 2 buckets need attention Pokrenite s -ShowBlocked za pojedinosti
LATEST DASHBOARD C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html __________________________________________________________________________________________
Natrag na "2. faza: skripte orkestracije ažuriranja certifikata za sigurno pokretanje"
Koraci za implementaciju E2E protokola (vodič za brzi pregled)
Sadržaj odjeljka
1. faza: infrastruktura otkrivanja
-
1. korak: stvaranje zajedničkog korištenja zbirke
# On file server $sharePath = "D:\SecureBootData" New-Item -ItemType Directory -Path $sharePath -Force New-SmbShare -name "SecureBootData$" -path $sharePath -fullAccess "Administratori domene" -ChangeAccess "Računala domene"
# Set NTFS permissions $acl = Get-Acl $sharePath $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Računala domene";"Izmijeni";"Dopusti") $acl. AddAccessRule($rule) Set-Acl $sharePath $acl
-
Drugi korak: implementacija otkrivanja GPO-a
.\Deploy-GPO-SecureBootCollection.ps1 ` -NazivDomene "contoso.com" ' -OUPath "OU=Workstations,DC=contoso,DC=com" ' -CollectionSharePath "\\server\SecureBootData$"
-
3. korak: pričekajte da krajnje točke podnesu izvješće (24 – 48 sati)
# Provjera tijeka prikupljanja (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json"). Broj
Natrag na "Koraci za implementaciju E2E (vodič za brzi pregled)"
2. faza: orkestrirano uvođenje
-
4. korak: provjera preduvjeta
-
Otkrivanje implementacije GPO-a (2. korak)
-
JSON izvješćivanja najmanje 50+ krajnjih točaka
-
Račun servisa s pravima Administrator domene
-
Poslužitelj za upravljanje s komponentom PowerShell 5.1+
-
-
5. korak: Implementacija orkestratora kao zakazani zadatak
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMENA\svc_secureboot"
-
Šesti korak: praćenje napretka
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
-
Sedmi korak: prikaz nadzorne ploče
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
8. korak: upravljanje blokiranim grupama
# List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Proizvođač|Model|BIOS"
-
9. korak: provjera dovršenosti
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # Status bi trebao biti "Dovršeno"
Natrag na "Koraci za implementaciju E2E (vodič za brzi pregled)"
State Files
Orkestrator održava stanje u ReportBasePath\RolloutState\:
|
Datoteka |
Opis |
|
RolloutState.json |
Povijest valova, ciljani uređaji, status |
|
BlockedBuckets.json |
Grupe koje je potrebno istražiti |
|
DeviceHistory.json |
Praćenje uređaja prema nazivu glavnog računala |
|
Orchestrator_YYYYMMDD.log |
Zapisnici dnevnih aktivnosti |
Natrag na "Koraci za implementaciju E2E (vodič za brzi pregled)"
Otklanjanje poteškoća
Sadržaj odjeljka
Orchestrator ne napreduje
-
Provjera zakazanog zadatka
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"
-
Provjera zapisnika
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50
-
Provjera svježine JSON podataka
(Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
Blokirane grupe
-
Popis je blokiran.
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
-
Istražite dohvatljivost uređaja.
-
Provjerite postoje li problemi s opremom.
-
Deblokirajte nakon istrage.
GPO se ne primjenjuje
-
Provjerite postoji li objekt pravilnika grupe.
Get-GPO -Name "SecureBoot-Rollout-Wave*"
-
Provjerite sigurnosno filtriranje.
Get-GPPermission -Name "GPO-Name" -All
-
Provjerite je li računalo u sigurnosnoj grupi.
-
Primijenite objekt pravilnika grupe na cilj.
gpupdate /force
Zapisnik promjena
|
Promjena datuma |
Opis izmjene |
|
Neka 12, 2026 |
Prije je svaka ogledna datoteka skripte bila objavljena kao zasebni članci iz kojih se kopirala i zalijepila skripta. Počevši od ažuriranja sustava Windows objavljenih 12. svibnja 2026. i kasnije, ogledne skripte nalaze se u mapi %systemroot%\SecureBoot\ExampleRolloutScripts na vašem uređaju. |