نموذج دليل التشغيل التلقائي للتمهيد الآمن E2E
ينطبق على
تاريخ النشر الأصلي: تاريخ التحديث الأخير ل 16 مارس 2026: معرف 3 أبريل 2026KB: 5084567
في هذه المقالة
نظرة عامة
يصف هذا الدليل نظام النشر التلقائي لتحديثات شهادات Windows Secure Boot DB باستخدام نهج المجموعة وموجات الإطلاق التدريجية.
أتمتة إطلاق شهادة التمهيد الآمن هو نظام يستند إلى PowerShell ينشر تحديثات شهادة Windows Secure Boot DB إلى الأجهزة المرتبطة بالمجال بطريقة متدرجة ومتحكم فيها.
الميزات الرئيسية
|
الميزة |
الوصف |
|
الإطلاق التدريجي للخريجين |
1 > 2 > 4 > 8... الأجهزة لكل مستودع |
|
الحظر التلقائي |
يتم استبعاد المستودعات ذات الأجهزة التي لا يمكن الوصول إليها |
|
التوزيع التلقائي ل GPO |
يعالج البرنامج النصي المنسق الفردي كل شيء |
|
تنفيذ المهمة المجدولة |
لا توجد مطالبات تفاعلية مطلوبة |
|
المراقبة في الوقت الحقيقي |
عارض الحالة مع شريط التقدم |
مرجع إعدادات التحديثات الشهادة
في هذا القسم
نهج مجموعة AvailableUpdatesPolicy
|
موقع التسجيل |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|
الاسم |
AvailableUpdatesPolicy |
|
القيمة |
0x5944 (DWORD) |
هذا هو المفتاح الذي يتحكم فيه GPO/ADMX الذي:
-
يستمر عبر عمليات إعادة التشغيل
-
يتم تعيينه بواسطة نهج المجموعة / MDM
-
لا يسبب حلقات إعادة المحاولة (مسح عبر ClearRolloutFlags)
-
هو المفتاح الصحيح للتوزيع المستند إلى النهج
WinCSFlags - علامات نظام تكوين Windows
يمكن لمسؤولي المجال بدلا من ذلك استخدام نظام تكوين Windows (WinCS) الذي تم إصداره مع تحديثات نظام التشغيل Windows لنشر تحديثات التمهيد الآمن عبر عملاء وخوادم Windows المرتبطة بالمجال. وهو يتكون من أداة واجهة سطر الأوامر (CLI) للاستعلام عن تكوينات التمهيد الآمن وتطبيقها محليا على جهاز.
|
اسم الميزة |
مفتاح WinCS |
الوصف |
|
Feature_AllKeysAndBootMgrByWinCS |
F33E0C8E002 |
يسمح تمكين هذا المفتاح بتثبيت شهادات التمهيد الآمن الجديدة التالية التي توفرها Microsoft على جهازك.
|
المرجع: واجهات برمجة تطبيقات نظام تكوين Windows (WinCS) للتمهيد الآمن
بنية
المرحلة 1: الكشف ومراقبة الحالة على مستوى المؤسسة
في هذا القسم
البرامج النصية اللازمة للمرحلة 1
نماذج البرامج النصية لجمع بيانات مخزون التمهيد الآمن
|
نموذج اسم البرنامج النصي |
الغرض |
تشغيل |
|
جمع بيانات حالة الجهاز |
كل نقطة نهاية (عبر GPO) |
|
|
إنشاء التقارير ولوحات المعلومات |
محطة عمل مسؤول |
|
|
أتمتة إنشاء عنصر نهج المجموعة لجمع البيانات |
وحدة تحكم المجال |
العودة إلى "المرحلة 1: الكشف ومراقبة الحالة على مستوى المؤسسة"
الاختبار المحلي
قبل التوزيع عبر عنصر نهج المجموعة، اختبر البرنامج النصي للمجموعة على جهاز واحد للتحقق من الوظائف.
-
تشغيل البرنامج النصي للمجموعة محليا افتح موجه PowerShell غير مقيد وقم بتنفيذ:
& .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest"
-
التحقق من إخراج JSON
# View the collected data Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List
الحقول الرئيسية التي يجب التحقق منها • SecureBootEnabled – يجب أن يكون صحيحا أو خاطئا • OverallStatus – Complete أو ReadyForUpdate أو NeedsData أو Error • BucketHash – مستودع الجهاز لمطابقة بيانات الثقة • SecureBootTaskEnabled - يعرض حالة مهمة تحديث التمهيد الآمن.
-
اختبار البرنامج النصي للتجميع
# Generate reports from collected data & ".\Aggregate-SecureBootData.ps1" ' -InputPath "C:\Temp\SecureBootTest" ' -OutputPath "C:\Temp\SecureBootReports" # افتح لوحة معلومات HTML Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"
العودة إلى "المرحلة 1: الكشف ومراقبة الحالة على مستوى المؤسسة"
نشر عنصر نهج المجموعة
استخدم البرنامج النصي للأتمتة المقدم من وحدة تحكم المجال:
# تشغيل على وحدة تحكم المجال كمجال مسؤول لقسم الوحدة التنظيمية التفاعلية - مستحسن # استبدل "Contoso.com" و"Contoso" باسم المجال # استبدل FILESERVER باسم خادم الملفات. يعرض البرنامج النصي قائمة الوحدات التنظيمية لنشر عنصر نهج المجموعة على .\Deploy-GPO-SecureBootCollection.ps1 ' -DomainName "contoso.com" ' -AutoDetectOU ' -CollectionSharePath "\\FILESERVER\SecureBootData$" -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" ' -جدولة "يوميا" ' -ScheduleTime "14:00" ' -RandomDelayHours 4
سيقوم هذا البرنامج النصي بتنفيذ ما يلي:
-
إنشاء عنصر نهج المجموعة جديد باسم محدد
-
نسخ البرنامج النصي للمجموعة إلى SYSVOL للحصول على قابلية وصول عالية
-
تكوين البرنامج النصي لبدء تشغيل الكمبيوتر
-
ربط عنصر نهج المجموعة بوحدة تنظيمية مستهدفة
-
إنشاء مهمة مجدولة للمجموعة الدورية اختياريا
يوفر الجدول التالي إرشادات حول المدة التي سيستند فيها التأخير إلى حجم أسطولك.
|
حجم الأسطول |
نطاق التأخير |
|
أجهزة 1-10K |
4 ساعات |
|
أجهزة 10K-50K |
8 ساعات |
|
أكثر من 50 ألف جهاز |
12-24 ساعة |
العودة إلى "المرحلة 1: الكشف ومراقبة الحالة على مستوى المؤسسة"
ملخص إعدادات عنصر نهج المجموعة
|
الإعداد |
الموقع |
القيمة |
|
البرنامج النصي لبدء التشغيل |
البرامج النصية → تكوين الكمبيوتر |
Detect-SecureBootCertUpdateStatus.ps1 |
|
معلمات البرنامج النصي |
(نفسه) |
-OutputPath "\\server\share$" |
|
نهج التنفيذ |
قوالب → مسؤول تكوين الكمبيوتر → PowerShell |
السماح بالتوقيع المحلي والنائية |
|
مهمة مجدولة |
تفضيلات تكوين الكمبيوتر → → المهام المجدولة |
مجموعة يومية/أسبوعية |
العودة إلى "المرحلة 1: الكشف ومراقبة الحالة على مستوى المؤسسة"
التحقق من الصحة
-
فرض تحديث GPO على Test Machine
## On a test workstation gpupdate /force # أعد تشغيل أجهزة العميل إلى البرنامج النصي لبدء التشغيل أو سيتم تشغيله في الجدول الزمني التالي. Restart-Computer -Force
-
التحقق من جمع البيانات
# تحقق مما إذا تم جمع البيانات (على خادم الملفات أو من أي جهاز) Get-ChildItem "\\fileserver\SecureBootData$" | Sort-Object LastWriteTime -تنازلي | Select-Object -أول 10 # تحقق من محتوى JSON Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json
-
التحقق من تطبيق عنصر نهج المجموعة
# تحقق من تطبيق عنصر نهج المجموعة على الكمبيوتر Select-String "SecureBoot" يحفظ البرنامج النصي أيضا نسخة محلية للتكرار: Get-ChildItem "C:\ProgramData\SecureBootCollection\"
العودة إلى "المرحلة 1: الكشف ومراقبة الحالة على مستوى المؤسسة"
المرحلة 2: البرامج النصية لتنسيق تحديث شهادة التمهيد الآمن
هام: تأكد من اكتمال Phase1 بما في ذلك جمع البيانات على كل نقطة نهاية لمشاركات الخادم البعيد.
في هذا القسم
البرامج النصية اللازمة للمرحلة 2
نماذج البرامج النصية لجمع بيانات مخزون التمهيد الآمن
|
نموذج اسم البرنامج النصي |
الغرض |
يعمل على |
|
جمع بيانات حالة الجهاز |
كل نقطة نهاية (عبر GPO) |
|
|
إنشاء التقارير ولوحات المعلومات |
محطة عمل مسؤول |
|
|
أتمتة إنشاء عنصر نهج المجموعة لجمع البيانات |
وحدة تحكم المجال |
|
|
نموذج البرنامج النصي Start-SecureBootRolloutOrchestrator.ps1 |
التزامن التلقائي والمستمر بالكامل مع التوزيع التلقائي ل GPO لتثبيت الشهادة |
محطة عمل مسؤول |
|
توزيع البرنامج النصي Orchestrator كمهمة مجدولة للإدخال التلقائي |
وحدة تحكم المجال |
|
|
عرض حالة طرح شهادة التمهيد الآمن من أي محطة عمل |
محطة عمل مسؤول |
|
|
تمكين مهمة تحديث التمهيد الآمن |
في نقاط النهاية حيث يتم تعطيل المهمة (قم بتشغيل مرة واحدة فقط لتمكين المهمة إذا تم تعطيلها) |
العودة إلى "المرحلة 2: البرامج النصية لتنسيق تحديث شهادة التمهيد الآمن"
Start-SecureBootRolloutOrchestrator.ps1
-
الغرض: تزامن تلقائي ومستمر بالكامل مع التوزيع التلقائي ل GPO.
-
وظيفته
-
استدعاءات Aggregate-SecureBootData.ps1 لحالة الجهاز
-
يولد موجات الإطلاق باستخدام المضاعفة التدريجية
-
إنشاء عنصر نهج المجموعة لنشر الشهادة باستخدام إحدى الطرق التالية
-
نهج مجموعة التمهيد الآمن AvailableUpdatesPolicy = 0x5944 (افتراضي)
-
أسلوب WinCS (المعلمة –UseWinCS)
-
-
إنشاء مجموعات أمان AD للاستهداف
-
إضافة حسابات الكمبيوتر إلى مجموعات الأمان
-
تكوين تصفية أمان GPO
-
ربط عنصر نهج المجموعة بوحدة تنظيمية مستهدفة
-
أجهزة عرض للمستودعات المحظورة (الأجهزة غير القابلة للوصول)
-
إلغاء الحظر التلقائي عند استرداد الأجهزة
-
-
الاستخدام
# 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
-
أوامر مسؤول
# List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|خط العرض5520|BIOS1.2"
# Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -إلغاء حظرAll
-
معلمات
المعلمه
افتراضي
الوصف
AggregationInputPath
مطلوب
مسار UNC إلى ملفات JSON لنقطة النهاية
ReportBasePath
مطلوب
المسار المحلي للتقارير والحالة
هدف الوحدة التنظيمية
جذر المجال
الوحدة التنظيمية لربط عناصر نهج المجموعة
WavePrefix
SecureBoot-Rollout
بادئة تسمية عنصر نهج المجموعة/المجموعة
MaxWaitHours
72
ساعات قبل التحقق من إمكانية وصول الجهاز
PollIntervalMinutes
1440
الدقائق بين عمليات التحقق من الحالة
تشغيل جاف
False
إظهار ما قد يحدث دون تغييرات
ملاحظة حول PollIntervalMinutes: عند تشغيل المنسق مباشرة، يكون الإعداد الافتراضي هو 1440 دقيقة (24 ساعة). عند التوزيع عبر Deploy-OrchestratorTask.ps1، يكون الافتراضي هو 30 دقيقة. يمرر البرنامج النصي للتوزيع الافتراضي الخاص به إلى المنسق. استخدم 30 دقيقة للطرح النشط، 1440 لمراقبة الصيانة.
المعلمات الاختيارية
المعلمه
افتراضي
الوصف
استخدامWinCS
False
استخدام أسلوب WinCS بدلا من AvailableUpdatesPolicy GPO
WinCSKey
F33E0C8E002
مفتاح WinCS لتكوين التمهيد الآمن
AllowListPath
(بلا)
مسار الملف مع أسماء المضيفين للسماح بالطرح المستهدف/التجريبي. يدعم .txt أو .csv.
AllowADGroup
(بلا)
مجموعة أمان AD لحسابات الكمبيوتر ل ALLOW. مثال: "SecureBoot-Pilot-Computers"
مسار قائمة الاستبعاد
(بلا)
مسار الملف مع أسماء المضيفين لاستبعاد من الإطلاق (أجهزة VIP/تنفيذية)
ExcludeADGroup
(بلا)
مجموعة أمان AD لحسابات الكمبيوتر المراد استبعادها. مثال: "VIP-Computers"
ListBlockedBuckets
False
عرض مستودعات الأجهزة المحظورة حاليا
إلغاء حظر الucket
(بلا)
إلغاء حظر مستودع معين. التنسيق: "الشركة المصنعة|نموذج|BIOS"
إلغاء حظر الكل
False
إلغاء حظر جميع مستودعات الأجهزة المحظورة
العودة إلى "المرحلة 2: البرامج النصية لتنسيق تحديث شهادة التمهيد الآمن"
Deploy-OrchestratorTask.ps1
-
الغرض: نشر المنسق كمهمة مجدولة في Windows.
-
الفوائد
-
لا توجد مطالبات أمان PowerShell (تجاوز نهج التنفيذ)
-
يعمل في الخلفية باستمرار
-
لا يلزم تفاعل المستخدم
-
ينجو من عمليات إعادة التشغيل
-
-
الاستخدام
-
التوزيع باستخدام حساب خدمة المجال (مستحسن)
-
استخدام availableUpdates نهج المجموعة (الأسلوب الافتراضي)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot"
-
استخدام أسلوب WinCS
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot" -UseWinCS
-
-
التوزيع باستخدام حساب SYSTEM
-
استخدام availableUpdates نهج المجموعة (الأسلوب الافتراضي)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports"
-
استخدام method.\Deploy-OrchestratorTask.ps1 WinCS
-AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" -UseWinCS
-
متطلبات حساب الخدمة
-
مسؤول المجال (ل New-GPO، New-ADGroup، Add-ADGroupMember)
-
قراءة الوصول إلى مشاركة ملف JSON
-
كتابة الوصول إلى ReportBasePath
-
-
-
العودة إلى "المرحلة 2: البرامج النصية لتنسيق تحديث شهادة التمهيد الآمن"
Get-SecureBootRolloutStatus.ps1
-
الغرض: عرض تقدم الإطلاق من أي محطة عمل.
-
ما يظهر
-
حالة المهمة المجدولة (قيد التشغيل/جاهز/متوقف)
-
رقم الموجة الحالية
-
الأجهزة المستهدفة مقابل المحدثة
-
شريط التقدم المرئي
-
ملخص المستودعات المحظورة
-
ارتباط إلى أحدث لوحة معلومات HTML
-
-
الاستخدام
# 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
-
معلمات
المعلمه
مطلوب؟
افتراضي
الوصف
ReportBasePath
مطلوب
—
المسار المحلي للتقارير وملفات الحالة
ShowLog
اختياري
False
عرض إدخالات سجل المنسق الأخيرة
تم حظر العرض
اختياري
False
عرض تفاصيل المستودعات المحظورة
ShowWaves
اختياري
False
عرض محفوظات الموجة
مشاهدة
اختياري
0 (معطل)
الفاصل الزمني للتحديث التلقائي بالثوان. مثال: -Watch 30 يحدث كل 30 ثانية.
OpenDashboard
اختياري
False
فتح أحدث لوحة معلومات HTML في المستعرض الافتراضي
-
إخراج العينة
============================================================== حالة إطلاق التمهيد الآمن 2026-02-17 19:30:00 ======================================================
Scheduled Task: Running
ROLLOUT PROGRESS ---------------------------------------- الحالة: InProgress الموجة الحالية: 5 إجمالي المستهدف: 1250 إجمالي التحديث: 847
Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%
BLOCKED BUCKETS: 2 buckets need attention تشغيل مع -ShowBlocked للحصول على التفاصيل
LATEST DASHBOARD C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html __________________________________________________________________________________________
العودة إلى "المرحلة 2: البرامج النصية لتنسيق تحديث شهادة التمهيد الآمن"
خطوات نشر E2E (دليل مرجعي سريع)
في هذا القسم
المرحلة 1: البنية الأساسية للكشف
-
الخطوة 1: إنشاء مشاركة مجموعة
# On file server $sharePath = "D:\SecureBootData" New-Item -ItemType Directory -Path $sharePath -Force New-SmbShare -الاسم "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: نشر عنصر نهج المجموعة للكشف
.\Deploy-GPO-SecureBootCollection.ps1 ` -DomainName "contoso.com" ' -OUPath "OU=Workstations,DC=contoso,DC=com" ' -CollectionSharePath "\\server\SecureBootData$"
-
الخطوة 3: انتظر حتى يتم الإبلاغ عن نقاط النهاية (24-48 ساعة)
# تحقق من تقدم المجموعة (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json"). عدد
المرحلة 2: الإطلاق المنسق
-
الخطوة 4: التحقق من المتطلبات الأساسية
-
الكشف عن عنصر نهج المجموعة المنشور (الخطوة 2)
-
أكثر من 50 نقطة نهاية على الأقل تبلغ عن JSON
-
حساب الخدمة مع حقوق مسؤول المجال
-
خادم الإدارة مع PowerShell 5.1+
-
-
الخطوة 5: نشر المنسق كمهمة مجدولة
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot"
-
الخطوة 6: مراقبة التقدم
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
-
الخطوة 7: عرض لوحة المعلومات
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
الخطوة 8: إدارة المستودعات المحظورة
# List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -إلغاء حظرBucket "الشركة المصنعة|نموذج|BIOS"
-
الخطوة 9: التحقق من الاكتمال
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # يجب أن تظهر الحالة "مكتملة"
Files الحالة
يحافظ المنسق على الحالة في ReportBasePath\RolloutState\:
|
ملف |
الوصف |
|
RolloutState.json |
محفوظات الموجة، الأجهزة المستهدفة، الحالة |
|
BlockedBuckets.json |
المستودعات التي تحتاج إلى التحقيق |
|
DeviceHistory.json |
تعقب الجهاز حسب اسم المضيف |
|
Orchestrator_YYYYMMDD.log |
سجلات النشاط اليومي |
استكشاف الأخطاء وإصلاحها
في هذا القسم
المنسق لا يتقدم
-
التحقق من المهمة المجدولة
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"
-
التحقق من السجلات
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50
-
التحقق من حداثة بيانات JSON
(Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
المستودعات المحظورة
-
تم حظر القائمة.
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
-
تحقق من إمكانية الوصول إلى الجهاز.
-
تحقق من وجود مشكلات في البرامج الثابتة.
-
إلغاء الحظر بعد التحقيق.
عنصر نهج المجموعة غير مطبق
-
تحقق من وجود عنصر نهج المجموعة.
Get-GPO -Name "SecureBoot-Rollout-Wave*"
-
تحقق من تصفية الأمان.
Get-GPPermission -Name "GPO-Name" -All
-
تحقق من أن الكمبيوتر في مجموعة أمان.
-
تطبيق عنصر نهج المجموعة على الهدف.
gpupdate /force