كيفية الاتصال بـ Exchange Online باستخدام PowerShell

Exchange Online PowerShell هو أداة سطر الأوامر التي تتيح لك إدارة صناديق البريد الإلكتروني والمستخدمين الخاصة بك في Exchange Online. يمكن استخدامه لأداء مجموعة متنوعة من المهام، مثل إنشاء وإدارة صناديق البريد الإلكتروني، وتكوين قواعد تدفق البريد، وإدارة أذونات المستخدمين. في هذا الدليل، سنوضح لك كيفية تثبيت والاتصال بـ Exchange Online PowerShell. إذا كنت محترفًا في تقنية المعلومات لديك مهام إدارية في خدمة Exchange Online من Microsoft 365، فهذا الدليل موجه لك!

كيفية تثبيت والاتصال بـ Exchange Online PowerShell

كمحترف في تقنية المعلومات، فإن مهام إدارتك الإدارية في Microsoft 365 تشمل على الأرجح Exchange Online. على الرغم من أن الغالبية العظمى من هذه المهام يمكن تحقيقها باستخدام مركز الإدارة Exchange عبر الويب، إلا أن هناك كفاءات كبيرة متاحة عبر سطر الأوامر، خاصة في البرمجة!

إعلان

المتطلبات الأولية

يمكنك الاتصال بـ Exchange Online مثل أي خدمة Office 365 أخرى عن طريق استخدام سلسلة الأمر Connect-* القياسية. ومع ذلك، هناك عدد قليل من الشروط الأساسية التي يجب مراعاتها عند تثبيت واستخدام PowerShell لـ Exchange Online.

لقد ظهرت عدة نسخ من هذه الوحدات على مر السنين. تُشار إلى الإصدار 2.0.5 والإصدارات السابقة عليه باسم وحدة PowerShell لـ Exchange Online V2 (EXO V2). ويُعرف الإصدار 3.0.0 والإصدارات اللاحقة باسم وحدة PowerShell لـ Exchange Online V3 (EXO V3).

سنركز على هذه الوحدة الأحدث لأنها تدعم المصادقة متعددة العوامل (MFA)، وتتميز بتحسينات أداء على كل من سابقيها، وهي أكثر أمانًا أيضًا! بالإضافة إلى أنه يتوافق مع أحدث إصدارات PowerShell 7.x. علاوة على ذلك، تتيح سلسلة أوامر أحدث (EXO-*) للمحترفين في مجال الأتمتة المعلوماتية أن يكونوا أسرع وأكثر إنتاجية عند القيام بالمهمة.

تثبيت وحدة Echange Online PowerShell باستخدام ‘Install-Module’

كما ذكرت، سأركز على وحدة “V3” الأحدث لبقية هذه المقالة. استنادًا إلى الخطوات التي أكملتها سابقًا على جهاز كمبيوتر محدد، هناك إمكانية لأداء بين 2 و 3 خطوات رئيسية. سأقوم بشرح الخطوات بشكل فردي حتى تتمكن من الانتقال مباشرة استنادًا إلى بيئتك.

الإعلان

I am working on a Windows 11 22H2 virtual machine (VM) in my Hyper-V lab. This machine is Azure-AD joined to my Microsoft 365 Developer tenant. This will allow me to show you the procedure and also include some basic commands at the end of this article to demonstrate how it operates.

I am using the latest version of PowerShell, version 7.3.4, at the time of writing. This will enable me to install the Exchange Online PowerShell module. All I need is a PowerShell window!

  • الخطوة الأولى التي يجب علينا اتباعها هي ضبط سياسة التنفيذ. نحن بحاجة لتغيير إعداد السياسة باستخدام الأمر Set-ExecutionPolicy:
Set-ExecutionPolicy RemoteSigned
  • بعد ذلك، قم بتشغيل الأمر Get-Module للتحقق من الوحدات المثبتة.
Get-Module
Running Get-Module to see what modules are installed (Image credit: Petri/Michael Reinders)
  • I have only the base set of modules installed on my computer. So, I need to install the ‘ExchangeOnlineManagement‘ module. Let’s do this with the Install-Module command:
Install-Module -Name ExchangeOnlineManagement
Running Connect-ExchangeOnline to connect to my tenant (Image credit: Petri/Michael Reinders)

ملاحظة: لأنني أستخدم “مستودع غير موثوق”، يجب أن أحدد أنني أريد تنزيل هذا من مستودع “PSGallery”. أدخلت “A” لاختيار “نعم للكل”.

تحميل الوحدة باستخدام ‘Import-Module’

دعونا نقوم الآن بالخطوة الرئيسية التالية، وهي تحميل الوحدة.

إعلان

  • يمكننا استيراد الوحدة باستخدام الأمر Import-Module.
  • بعد ذلك، يمكننا تشغيل أمر آخر Get-Module للحصول على تأكيد.
Import-Module ExchangeOnlineManagement
After importing the module, we confirm it is installed and loaded (Image credit: Petri/Michael Reinders)

ها هو، لقد قمنا الآن بتأكيد جاهزية الوحدة!

الاتصال بمستأجر Exchange Online الخاص بك باستخدام ‘Connect-ExchangeOnline’

الخطوة الأخيرة لإكمالها من أجل الوصول إلى معلومات خادم Exchange Online للمستأجر هي إجراء الاتصال باستخدام بيانات الاعتماد التي تسمح بهذا الوصول. هناك عدة أصناف من درجات الأدوار في Azure التي ستسمح بذلك. لهذه الأغراض، سأستخدم دور المسؤول العام لدي كجزء من مستأجر المطور. هذا الدور المسؤول، بالمناسبة، يمنحني الوصول الكامل إلى Azure AD وجميع خدمات Microsoft 365 عبر PowerShell.

Connect-ExchangeOnline -userprincipalname
Connecting to my tenant prompts in-browser authentication (Image credit: Petri/Michael Reinders)
  • لقد فتحت نافذة تأكيد متصفح يطلب فيها اسم المستخدم وكلمة المرور. هذا هو المكان الذي يمكنني فيه تسجيل الدخول بحساب المسؤول العام.
We’re connected and ready to enter cmdlets (Image credit: Petri/Michael Reinders)

ممتاز! ستحصل على بعض النصوص الصفراء التي تصف “وحدة EXO V3” ورابط الوثائق للحصول على مزيد من المعلومات.

نحن الآن قادرون على تشغيل أوامر PowerShell ضد مستأجر Exchange Online الخاص بنا. سأقوم بالتوجيه لبعض الأوامر الأساسية/الضرورية التي يمكنك البدء بها بعد ذلك.

ملاحظة: إذا كنا دائمًا نضع الأمان في اعتبارنا، فمن الأفضل إنهاء جلستك بعد الانتهاء من استخدامك. يمكن فصل جلستك عن طريق تشغيل الأمر التالي قبل إغلاق الشل الخاص بك.

Disconnect-ExchangeOnline

سهل كما الفطيرة!

أوامر بورشيل Exchange Online الأساسية

بمجرد الاتصال بوحدة التحكم PowerShell الخاصة بـ Exchange Online الإصدار 3 (EXO V3)، يمكنك البدء في تشغيل أوامر Exchange Online. دعنا نقوم أولاً بسرد جميع صناديق البريد في مؤجرنا.

نظرًا لأن هذا هو مؤجر تطويري، فإن القائمة صغيرة نوعًا ما. يُنصح بأن في البيئات العادية والأكبر، فإن الناتج لن يكون مفيدًا. سأتحدث عن ذلك قريبًا. بالإضافة إلى ذلك، لدينا مقالات PowerShell متنوعة على Petri التي يمكن أن تساعدك.

بدلاً من استخدام أمر Get-Mailbox “التقليدي” (المقرر إيقافه)، دعنا نعرض لك الأوامر الأحدث في EXO V3. هنا، سأستخدم الأمر Get-EXOMailbox ثم ‘pipe’ (|) إلى التبديل ‘ft’ (نفس ‘Format-Table’). باستخدام التبديل ‘Autosize’ يتم تنسيق عرض الأعمدة تلقائيًا ليتناسب مع نافذة الوحدة النمطية الخاصة بك.

Get-EXOMailbox | ft -Autosize
Using Get-EXOMailbox to list our mailboxes (Image credit: Petri/Michael Reinders)

افتراضيًا، نحصل على ‘ExternalDirectoryObjectId’، ‘UserPrincipalName’ (عادة عنوان البريد الإلكتروني)، واسم البريد. دعنا نطلب منه أن يعطينا بعض المعلومات الإضافية.

Get-EXOMailbox | Select DisplayName,PrimarySMTPAddress,Alias
Listing additional attributes with the ‘Select’ command (Image credit: Petri/Michael Reinders)

هذا يمنحنا بعض المعلومات المفيدة قليلاً، أليس كذلك؟ الآن، دعنا نحصل على بعض إحصائيات حجم البريد الوارد باستخدام الأمر Get-EXOMailboxStatistics. هنا، أقوم بتشغيل تلك الأمر الأول لجمع جميع صناديق البريد، ثم توجيه ذلك إلى ‘Get-EXOMailboxStatistics’ مع سماته الافتراضية، ثم استخدام ‘ft’ مرة أخرى لجعله جميلاً.

Get-EXOMailbox | Get-EXOMailboxStatistics | ft
Mailbox statistics are a cmdlet away – Get-EXOMailboxStatistics (Image credit: Petri/Michael Reinders)

هذا يمنحنا كمية معقولة من المعلومات حول عدد العناصر في مؤسستنا وحجم البريد الإلكتروني. هناك العديد من المعلمات الأخرى التي يمكنك استخدامها للحصول على سمات محددة من حساباتك وبريدك الإلكتروني.

كيفية الاتصال بـ Exchange Online عبر PowerShell باستخدام MFA؟

لحسن الحظ، لا يوجد شيء خاص يجب القيام به للاتصال عندما يتم حماية حسابك باستخدام التحقق المتعدد العوامل (يجب أن يكون!). عندما تدخل الأمر وأنت تستخدم PowerShell 7 أو أعلى، سترى شاشة التوثيق المبنية على المتصفح تظهر في اللقطة التي أعلاه.

إذا كنت تستخدم PowerShell 5.1 أو أقل، سترى نافذة التوثيق الحديث القياسي تفتح حيث ستدخل كلمة المرور وتلبي طلب MFA الخاص بك.

هل يمكنك الاتصال بـ Exchange Online PowerShell على جهاز Mac؟

هناك طرق متعددة لتثبيت PowerShell على جهاز Mac، لكن الأكثر بساطة هو استخدام روابط التنزيل المباشرة من موقع Microsoft. بدءًا من الإصدار 7.2، يدعم PowerShell أجهزة Mac Apple Silicon.

بمجرد تثبيت PowerShell على جهاز Mac الخاص بك الذي يعمل بنظام macOS 11 Big Sur أو أحدث، يمكنك استخدام نفس التعليمات المذكورة أعلاه للاتصال بـ Exchange Online على نظام macOS.

الفوائد الإضافية لاستخدام Exchange Online PowerShell

يعتبر Exchange Online PowerShell أداة قيمة لأي محترف تقنية معلومات/مسؤول يرغب في الحصول على مزيد من التحكم في بيئته على Exchange Online. 

فيما يلي بعض الفوائد الإضافية لاستخدام Exchange Online PowerShell:

  • يمكن استخدامه لتلقين العمليات باستخدام سكربتات Powershell، مما يمكن أن يوفر لك الوقت والجهد مع السكربتات.
  • يمكن استخدامه لحل المشاكل، مما يمكن أن يساعدك في حل المشاكل بشكل أسرع.
  • يمكن استخدامه لتخصيص بيئتك على Exchange Online، مما يمكن أن يجعلها أكثر كفاءة وسهولة استخدامًا.

إذا كان لديك أي أسئلة أو تعليقات، فلا تتردد في ترك تعليق أدناه. شكرًا لقراءتك!

Source:
https://petri.com/connect-to-exchange-online-powershell/