Sample Secure Boot E2E Automation Guide
Primenjuje se na
Originalni datum objavljivanja: 16. mart 2026. Poslednji datumažuriranja: 3. april 2026.ID KB: 5084567
U ovom članku
Pregled
Ovaj vodič opisuje sistem automatizovane primene za ispravke certifikata za bezbedno pokretanje sistema Windows pomoću Smernice grupe i promenljivih talasa primene.
Automatizacija primene certifikata bezbednog pokretanja je sistem zasnovan na tehnologiji PowerShell koji primenjuje ispravke certifikata windows bezbednog pokretanja DB-a na računare pridružene domenima na kontrolisan i diplomirani način.
Ključne funkcije
|
Funkcija |
Opis |
|
Diplomirana primena |
1 > 2 > 4 > 8... uređaji po kontejnera |
|
Automatsko blokiranje |
Kontejneri sa nedostupnim uređajima su isključeni |
|
Automatizovana GPO primena |
Skripta jednog orkestratora rukuje sve |
|
Planirano izvršavanje zadatka |
Nisu neophodni interaktivni odzivi |
|
Nadgledanje u realnom vremenu |
Prikazivač statusa sa traka toka |
Referenca postavki Novosti certifikata
U ovom odeljku
AvailableUpdatesPolicy Group smernice
|
Lokacija registratora |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|
Ime |
AvailableUpdatesPolicy |
|
Vrednost |
0x5944 (DWORD) |
Ovo je ključ koji kontroliše GPO/ADMX koji:
-
Traja u toku ponovnog pokretanja
-
Podešava Smernice grupe / MDM
-
Ne izaziva ponavljanje petlјi (obrisano putem ClearRolloutFlags)
-
Da li je ispravan ključ za primenu zasnovanu na smernicama
WinCSFlags - Zastavice windows sistema za konfiguraciju
Administratori domena mogu da koriste windows sistem za konfiguraciju (WinCS) objavljen uz ispravke operativnog sistema Windows da bi primenili ispravke bezbednog pokretanja na Windows klijente i servere pridružene domenu. Sastoji se od uslužnog interfejsa komandne linije (CLI) za upit i primenjuje konfiguracije bezbednog pokretanja lokalno na računar.
|
Ime funkcije |
WinCS ključ |
Opis |
|
Feature_AllKeysAndBootMgrByWinCS |
F33E0C8E002 |
Omogućavanje ovog ključa omogućava instalaciju sledećih certifikata za bezbedno pokretanje na uređaju koje je obezbedila korporacija Microsoft.
|
Referenca: Windows Configuration System (WinCS) API-ji za bezbedno pokretanje sistema
Arhitektura
1. faza: Nadgledanje otkrivanja i statusa na nivou preduzeća
U ovom odeljku
Skripte neophodne za 1. fazu
Primer skripti prikupljanja podataka o zalihama bezbednog pokretanja sistema
|
Ime uzorka skripte |
Svrhu |
Pokreće se |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja tačka (putem GPO- a) |
|
|
Generiše izveštaje i kontrolne table |
Administrator radnu svesku |
|
|
Automatizuje GPO kreiranje za prikupljanje podataka |
Kontroler domena |
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
Lokalno testiranje
Pre primene putem GPO-a, testirajte skriptu kolekcije na jednom računaru da biste potvrdili funkcionalnost.
-
Pokreni skriptu kolekcije lokalno Otvorite PowerShell odziv sa punim privilegijama i izvršite:
& .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest"
-
Verifikuj JSON izlaz
# View the collected data Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List
Ključna polja za verifikaciju • SecureBootEnabled – Trebalo bi da bude True ili False • OverallStatus – Dovršeno, ReadyForUpdate, NeedsData ili Error • KontejnerHash – Kontejner uređaja za podatke pouzdanosti koji se podudaraju • SecureBootTaskEnabled - Prikazuje status zadatka "Ažuriranje bezbednog pokretanja".
-
Test skripta agregacije
# Generate reports from collected data & ".\Aggregate-SecureBootData.ps1" ' -InputPath "C:\Temp\SecureBootTest" ' -OutputPath "C:\Temp\SecureBootReports" # Otvorite HTML kontrolnu tablu Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
GPO primena
Koristite automatizovanu skriptu koju obezbeđuje kontroler domena:
# Pokreni na kontroloru domena kao Administrator za interaktivni OU odeljak – preporučuje se # Zamenite "Contoso.com", "Contoso" imenom domena # Zamenite FILESERVER imenom servera datoteka. Skripta prikazuje listu OU-a na koju treba primeniti GPO .\Deploy-GPO-SecureBootCollection.ps1 ' -DomainName "contoso.com" ' - Automatsko otkrivanje ' -CollectionSharePath "\\FILESERVER\SecureBootData$" -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" ' -Zakažete "Dnevno" ' -ScheduleTime "14:00" ' -RandomDelayHours 4
Ova skripta će izvršiti sledeće:
-
Kreira novi GPO sa navedenim imenom
-
Kopira skriptu kolekcije u SYSVOL radi visoke dostupnosti
-
Konfiguriše skriptu za pokretanje računara
-
Povezuje GPO sa ciljnim OU
-
Opcionalno kreira planirani zadatak za periodično prikupljanje
Sledeća tabela pruža uputstva o tome koliko dugo će odlaganje biti zasnovano na veličini vašeg flote.
|
Veličina flote |
Opseg odlaganja |
|
1-10K uređaji |
4 časa |
|
10K-50K uređaji |
8 časova |
|
50K+ uređaja |
12-24 časa |
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
Rezime GPO postavki
|
Postavku |
Lokaciju |
Vrednost |
|
Skripta pri pokretanju |
Skripte konfiguracije → računara |
Detect-SecureBootCertUpdateStatus.ps1 |
|
Parametri skripte |
(isti) |
-OutputPath "\\server\share$" |
|
Smernice za izvršavanje |
Konfiguracija računara → Administrator predloške → PowerShell |
Dozvoli lokalno i daljinsko potpisano |
|
Planirani zadatak |
Konfigurisanje računara → željenim postavkama → planiranih zadataka |
Dnevno/sedmično prikupljanje |
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
Provera
-
Nametni GPO ažuriranje na test Machine
## On a test workstation gpupdate /force # Ponovo pokrenite klijentske mašine da biste pokrenuli skriptu ili će se pokrenuti u sledećem rasporedu. Restart-Computer - Sila
-
Potvrda prikupljanja podataka
# Proverite da li su podaci prikupljeni (na serveru datoteka ili sa bilo kog računara) Get-ChildItem "\\fileserver\SecureBootData$" | Sort-Object vreme poslednjeg upisivanja -Opadajući | Select-Object - Prvih 10 # Verifikuj JSON sadržaj Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json
-
Provera GPO aplikacije
# Proverite da li je GPO primenjen na računar Select-String "SecureBoot" Skripta takođe čuva lokalnu kopiju radi redundantnosti: Get-ChildItem "C:\ProgramData\SecureBootCollection\"
nazad na "1. faza: otkrivanje i nadgledanje statusa na nivou preduzeća"
2. faza: Skripte za ažuriranje certifikata bezbednog pokretanja
Važno: Uverite se da je Faza1 dovršena, uključujući prikupljanje podataka na svakoj krajnjim tačkama za deljenje udaljenog servera.
U ovom odeljku
Skripte neophodne za 2. fazu
Primer skripti prikupljanja podataka o zalihama bezbednog pokretanja sistema
|
Ime uzorka skripte |
Svrhu |
Pokreće se |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja tačka (putem GPO- a) |
|
|
Generiše izveštaje i kontrolne table |
Administrator radnu svesku |
|
|
Automatizuje GPO kreiranje za prikupljanje podataka |
Kontroler domena |
|
|
Potpuno automatizovana, neprekidna orchestracija sa automatizovanom GPO primenom za instalaciju certifikata |
Administrator radnu svesku |
|
|
Primenjuje skriptu orchestratora kao planirani zadatak za automatizovanu primenu |
Kontroler domena |
|
|
Prikažite status "Certifikat bezbednog pokretanja" na bilo kojoj radnoj lokaciji |
Administrator workstation |
|
|
Omogućava zadatak bezbednog ažuriranja pokretanja |
Pri krajnjim tačkama gde je zadatak onemogućen (Pokreni samo jednom da biste omogućili zadatak ako je onemogućen) |
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Start-SecureBootRolloutOrchestrator.ps1
-
Svrhu: Potpuno automatizovana, neprekidna orkestracija sa automatizovanom GPO primenom.
-
Šta radi
-
Pozivi Aggregate-SecureBootData.ps1 za status uređaja
-
Generiše talase objavljivanja koristeći promenljivo udubljivanje
-
Kreira GPO za primenu certifikata pomoću jednog od sledećih metoda
-
Smernice grupe za bezbedno pokretanje AvailableUpdatesPolicy = 0x5944 (podrazumevano)
-
WinCS metod (parametar – UseWinCS)
-
-
Kreira AD bezbednosne grupe za ciljanje
-
Dodaje naloge računara u bezbednosne grupe
-
Konfiguriše GPO bezbednosno filtriranje
-
Povezuje GPO sa ciljnim OU
-
Monitori za blokirane kontejnere (uređaji koji nisu dostupni)
-
Automatsko deblokiranje se automatski deblokira kada se uređaji oslobade
-
-
Korišćenje
# 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 ' -KoristiteWinCS
-
Administrator komandi
# List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|Geografska širina5520|BIOS1.2"
# Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockAll
-
Parametre
Parametar
Podrazumevani
Opis
AgregationInputPath
Obavezno
UNC putanja do JSON datoteka krajnje tačke
ReportBasePath
Obavezno
Lokalna putanja za izveštaje i stanje
TargetOU
Osnovni direktorijum
OU za povezivanje GPO-a
WavePrefix
SecureBoot-Rollout
GPO/group naming prefiks
MaxWaitHours
72
Časovi pre provere dostupnosti uređaja
PollIntervalMinutes
1440
Minuti između provera statusa
Suva traka
Laћne
Prikaži šta će se desiti bez promena
Napomena o PollIntervalMinutes: Kada direktno pokrenete orkestrator, podrazumevana postavka je 1440 minuta (24 časa). Kada se primeni putem Deploy-OrchestratorTask.ps1, podrazumevana postavka je 30 minuta. Skripta za primenu podrazumevano dodaje orkestratoru. Koristite 30 minuta za aktivnu primenu, 1440 za nadgledanje održavanja.
Opcionalni parametri
Parametar
Podrazumevani
Opis
KoristiteWinCS
Laћne
Koristite WinCS metod umesto AvailableUpdatesPolicy GPO
WinCSKey
F33E0C8E002
WinCS ključ za konfiguraciju bezbednog pokretanja
AllowListPath
(nijedno)
Putanja do datoteke sa imenima hosta za DOZVOLJAVANJE ciljane/pilot primene. Podržava .txt ili .csv.
AllowADGroup
(nijedno)
AD bezbednosna grupa naloga računara na dozvoli. Primer: "SecureBoot-Pilot-Computers"
ExclusionListPath
(nijedno)
Putanja do datoteke sa imenima hosta za IZUZIMANJE iz primene (VIP/izvršni uređaji)
ExcludeADGroup
(nijedno)
AD bezbednosna grupa naloga računara koje treba izuzeti. Primer: "VIP-Computers"
ListBlockedBuckets
Laћne
Prikaži trenutno blokirane kontejnere uređaja
Deblokiraj blokadu
(nijedno)
Deblokiranje određenog kontejnera. Format: "Proizvođač|Model|BIOS"
Deblokiraj sve
Laћne
Deblokiranje svih blokiranih kontejnera uređaja
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Deploy-OrchestratorTask.ps1
-
Svrhu: Primenjuje orkestrator kao Windows planirani zadatak.
-
Prednosti
-
Nema PowerShell bezbednosnih odziva (zaobimanje smernica izvršavanja)
-
Neprekidno se pokreće u pozadini
-
Nije potrebna korisnička interakcija
-
Preživljava ponovno pokretanje
-
-
Korišćenje
-
Primeni sa nalogom usluge domena (preporučuje se)
-
Korišćenje funkcije AvailableUpdates Smernice grupe (podrazumevani metod)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot"
-
Korišćenje WinCS metoda
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot" -UseWinCS
-
-
Primena pomoću SYSTEM naloga
-
Korišćenje funkcije AvailableUpdates Smernice grupe (podrazumevani metod)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports"
-
Korišćenje WinCS method.\Deploy-OrchestratorTask.ps1
-AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" -UseWinCS
-
Zahtevi naloga usluge
-
Domen Administrator (za New-GPO, New-ADGroup, Add-ADGroupMember)
-
Čitanje pristupa JSON resursu datoteka
-
Pristup za pisanje programu ReportBasePath
-
-
-
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Get-SecureBootRolloutStatus.ps1
-
Svrhu: Prikažite tok primene iz bilo koje radne trake.
-
Šta prikazuje
-
Stanje planiranog zadatka (pokrenuto/spremno/zaustavljeno)
-
Trenutni broj talasa
-
Ažurirani uređaji naspram ažuriranog
-
Visual progress bar
-
Rezime blokiranih kontejnera
-
Veza ka najnovijoj HTML kontrolnoj tabli
-
-
Korišćenje
# 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
-
Parametre
Parametar
Potrebne?
Podrazumevani
Opis
ReportBasePath
Obavezno
—
Lokalna putanja do izveštaja i datoteka stanja
Prikazloga
Opcionalno
Laћne
Prikaži nedavne stavke evidencije orkestratora
Prikazano je blokirano
Opcionalno
Laћne
Prikaži detalje blokiranih kontejnera
ShowWaves (Prikazwaves)
Opcionalno
Laћne
Prikaži istoriju talasa
Gledanje
Opcionalno
0 (onemogućeno)
Interval automatskog osvežavanja u sekundama. Primer: -Watch 30 refreshes every 30 seconds.
OpenDashboard
Opcionalno
Laћne
Otvaranje najnovije HTML kontrolne table u podrazumevanom pregledaču
-
Uzorak izlaza
============================================================== STATUS PRIMENE BEZBEDNOG POKRETANJA 2026-02-17 19:30:00 ======================================================
Scheduled Task: Running
ROLLOUT PROGRESS ---------------------------------------- Status: InProgress Trenutni talas: 5 Ukupno ciljano: 1250 Ukupno ažurirano: 847
Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%
BLOCKED BUCKETS: 2 buckets need attention Pokreni sa -ShowBlocked za detalje
LATEST DASHBOARD C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html __________________________________________________________________________________________
nazad na "2. faza: Skripte za ažuriranje certifikata za bezbedno pokretanje sistema"
Koraci za primenu programskog paketa E2E (vodič za brze reference)
U ovom odeljku
1. faza: Infrastruktura otkrivanja
-
1. korak: Kreiranje deljenja kolekcije
# On file server $sharePath = "D:\SecureBootData" New-Item -ItemType direktorijum - putanja $sharePath -force New-SmbShare -Name "SecureBootData$" -path $sharePath -FullAccess "Domain Admins" -ChangeAccess "Domain Computers"
# Set NTFS permissions $acl = Get-Acl $sharePath $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain Computers","Modify","Allow") $acl. AddAccessRule($rule) Set-Acl $sharePath $acl
-
2. korak: Primena GPO-a za otkrivanje
.\Deploy-GPO-SecureBootCollection.ps1 ` -DomainName "contoso.com" ' -OUPath "OU=Workstations,DC=contoso,DC=com" ' -CollectionSharePath "\\server\SecureBootData$"
-
3. korak: Čekanje krajnjih tačaka na izveštaj (24-48 časova)
# Proveri tok prikupljanja (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json"). Raиuna
2. faza: Orkestrirana primena
-
4. korak: Provera preduslova
-
Primenjeni GPO za otkrivanje (2. korak)
-
Najmanje 50+ krajnjih tačaka koje izveštavaju o JSON-u
-
Nalog usluge sa pravima za Administrator domena
-
Server za upravljanje sa programom PowerShell 5.1+
-
-
5. korak: Primena orkestratora kao planiranog zadatka
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot"
-
6. korak: Nadgledanje toka
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
-
7. korak: Prikaz kontrolne table
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
8. korak: Upravljanje blokiranim kontejnerima
# List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -DeblokBucket "Proizvođač|Model|BIOS"
-
9. korak: Verifikacija dovršenja
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # Status bi trebalo da prikazuje "Dovršeno"
Status Files
Orchestrator održava stanje u ReportBasePath\RolloutState\:
|
Datoteke |
Opis |
|
RolloutState.json |
Istorija talasa, ciljani uređaji, status |
|
BlockedBuckets.json |
Kontejneri trebaju istragu |
|
DeviceHistory.json |
Praćenje uređaja po imenima hosta |
|
Orchestrator_YYYYMMDD.log |
Evidencije dnevnih aktivnosti |
Rešavanje problema
U ovom odeljku
Orchestrator ne napreduje
-
Provera planiranog zadatka
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"
-
Provera evidencija
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50
-
Potvrda ažuriranja JSON podataka
(Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
Blokirane kontejnere
-
Lista je blokirana.
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
-
Istražite dostupnost uređaja.
-
Proverite da li postoje problemi sa firmverom.
-
Deblokiraj nakon istrage.
GPO se ne primenjuje
-
Proverite da li GPO postoji.
Get-GPO -Name "SecureBoot-Rollout-Wave*"
-
Proverite bezbednosno filtriranje.
Get-GPPermission -Name "GPO-Name" -All
-
Proverite da li je računar u bezbednosnoj grupi.
-
Primenite GPO na cilj.
gpupdate /force