تقوم هذه الأداة بالاستعلام عن التكوينات التالية في مستأجر Azure AD/O365 والتي يمكنها إلقاء الضوء على الأذونات وإعدادات التكوين التي يصعب العثور عليها لمساعدة المؤسسات في تأمين هذه البيئات.
* تكوين الاتحاد (Federation Configuration)
* إعدادات وصول العميل المكونة على علب البريد
* قواعد إعادة توجيه البريد للنطاقات البعيدة
* المندوبون الذين تم منحهم صلاحية 'Full Access'
* المندوبون الذين تم منحهم صلاحيات 'Send As' أو 'SendOnBehalf'
* المستخدمون الممكّنون لـ Exchange Online PowerShell
* المستخدمون الذين تم تمكين 'Audit Bypass' لهم
* علب البريد المخفية من قائمة العناوين العالمية (GAL)
* كائنات خدمة رئيسية (Service Principal) مع KeyCredentials
الاستعلام عن معلومات شركاء المستأجر: لعرض معلومات شركاء المستأجر، بما في ذلك الأدوار المخصصة لشركائك، يجب تسجيل الدخول إلى مركز إدارة Microsoft 365 كمسؤول عام:
وحدات PowerShell التالية مطلوبة وسيتم تثبيتها تلقائيًا:
ملاحظة: لإرجاع النطاق الكامل للتكوينات التي يتم الاستعلام عنها، يلزم الدور التالي:
عندما لا تكون صلاحيات المسؤول العام متاحة، ستُعلمك الأداة بالمعلومات التي لن تكون متاحة لك نتيجة لذلك.
بدون تحديد معلمات: _سيتم إنشاء مجلد باسم التاريخ والوقت (YYYYDDMMTHHMM) تلقائيًا في الدليل الذي يتم تشغيل البرنامج النصي منه. ستطلب طريقة المصادقة الافتراضية لكل اتصال للتوافق مع MFA._
معامل `-BasicAuth`: _[اختياري] إذا لم يتم فرض MFA لمستخدمك الأساسي، يمكنك استخدام هذا المعامل الذي سيطلب المصادقة مرة واحدة فقط ويخزن بيانات الاعتماد باستخدام`Get-Credential`. (غير موصى به)_
معامل `-JobName`: _[اختياري] استخدم معامل JobName للتمييز بين المستأجرين المختلفين. إذا لم يتم تحديد JobName، فسيتم وضع مجلد بتنسيق التاريخ/الوقت داخل دليل العمل._
معامل `-WorkingDirectory`: _[اختياري] إذا كنت ترغب في تحديد دليل عمل مختلف لمهامك، يمكنك القيام بذلك باستخدام هذا المعامل. دليل العمل الافتراضي هو الدليل الذي يتم تشغيل البرنامج النصي منه._
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder'
معامل `-Commands`: _[اختياري] باستخدام هذا المعامل، حدد الأوامر المحددة التي تريد تشغيلها بين علامات اقتباس، مفصولة بفاصلة أو مسافة._
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Commands "Command1,Command2"
معاملا `-AzureEnvironmentName` و `-ExchangeEnvironmentName`: _[اختياري] باستخدام هذين المعاملين، حدد أسماء بيئات Azure أو Exchange. باستخدام الإكمال التلقائي (Tab) يمكنك البحث عن القيم المقبولة._
.\Get-CRTReport.ps1 -ExchangeEnvironmentName O365USGovGCCHigh -AzureEnvironmentName AzureUSGovernment
معامل `-Interactive`: _[اختياري] قد تستغرق بعض الأوامر وقتًا طويلاً للمعالجة حسب كمية البيانات في المستأجر. باستخدام معامل Interactive، سيكون لديك خيار تخطي أي أمر معين قبل تشغيل الوحدة النمطية._
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Interactive
مع كل تشغيل، ستقوم CRT بإخراج تقرير لكل استعلام بصيغة json بالإضافة إلى صيغ .TXT و .CSV الأكثر قابلية للقراءة:
بدون تحديد معلمات: _سيتم إنشاء مجلد باسم التاريخ والوقت (YYYYDDMMTHHMM) تلقائيًا في الدليل الذي يتم تشغيل البرنامج النصي منه. لدعم MFA، ستطلب طريقة المصادقة الافتراضية من المستخدم تسجيل الدخول لكل اتصال._
* `YYYYDDMMTHHMM\output.log` (نسخة مطبوعة من سجل وحدة التحكم)
* `YYYYDDMMTHHMM\_CRTReportSummary.txt` (ملخص للبرامج النصية التي تم تشغيلها ونصائح تحقيق للإرشاد)
* `YYYYDDMMTHHMM\Reports\ .csv` (تقرير بصيغة CSV، حيثما ينطبق)
* `YYYYDDMMTHHMM\Reports\ .txt` (تقرير بصيغة TXT، حيثما ينطبق)
* `YYYYDDMMTHHMM\Reports\json\ .json` (كل تقرير مصحوب بمخرجات JSON لمزيد من التفصيل)
* محاولة الاتصال بـ Exchange Online باستخدام تسجيلات الدخول الموحدة (Federated) لا تعمل حاليًا أثناء محاولة الاتصال بكل من Exchange Online و Azure AD في نفس جلسة PowerShell.
* قد يؤدي استرداد نتائج أذونات Any/FullAccess (أوامر AnyAccessGranted و FullAccessGranted) في بعض الحالات إلى ظهور خطأ وقد لا يكتمل بالكامل. قد يظل تشغيل الأمر يدويًا ناجحًا:
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission | Where-Object { ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF")} | Export-Csv "AnyAssignedPerms.csv" -NoTypeInformation -Encoding Default
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission | Where-Object { ($_.AccessRights -eq "FullAccess") -and ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF")} | Export-Csv "FullAccessPerms.csv" -NoTypeInformation -Encoding Default
إذا وجدت خطأ، يرجى استخدام علامة التبويب "Issues" للإبلاغ عن مشكلة جديدة أو إضافة تعليقاتك إلى مشكلة قائمة.
إذا كانت لديك أي توصيات للأداة أو تحتاج إلى تصعيد عاجل، يرجى إرسال بريد إلكتروني إلى: [email protected].
The full story
This article is one source in a clustered incident — the cluster page carries the summary, timeline and every other outlet covering it.
