تثبيت وحدة Exchange Online PowerShell (خطوة بخطوة)
By Mirko Peters ·
تثبيت وحدة Exchange Online PowerShell باستخدام Install-Module ExchangeOnlineManagement: المتطلبات، والنطاق، والتحقق من الإصدار، والتحديثات، وإصلاح الأخطاء.
Automatically translated with AI from the original post. Read the English original
لتثبيت وحدة Exchange Online PowerShell، افتح PowerShell بصلاحيات المسؤول وشغّل Install-Module -Name ExchangeOnlineManagement. يؤدي ذلك إلى تثبيت الوحدة لجميع المستخدمين على الجهاز. إذا تعذّر عليك التشغيل بصلاحيات المسؤول، فأضف -Scope CurrentUser، وستُثبَّت الوحدة لحسابك فقط. تستهدف هذه المقالة مسؤولي Exchange وMicrosoft 365 الذين يجهّزون جهاز مسؤول جديدًا أو خادم قفز أو وكيل بناء. وتغطي المتطلبات، وخطوات التثبيت والتحقق، وتحديث الوحدة وإزالتها، والأخطاء الأكثر شيوعًا.
النقاط الرئيسية
- ثبّت وحدة Exchange Online PowerShell باستخدام Install-Module -Name ExchangeOnlineManagement، في نافذة PowerShell تعمل بصلاحيات المسؤول لتثبيتها لجميع المستخدمين.
- استخدم -Scope CurrentUser إذا تعذّر عليك استخدام صلاحيات المسؤول. وحدّث الوحدة لاحقًا باستخدام النطاق نفسه الذي استخدمته في التثبيت.
- يتطلب Windows PowerShell 5.1 الإطار .NET Framework 4.7.2. ويعتمد دعم PowerShell 7 على إصدار الوحدة، إذ يتطلب الإصدار 3.10.0 أو أحدث إصدار PowerShell 7.6.0 على الأقل.
- تحقّق من النتيجة باستخدام Get-InstalledModule، الذي يعرض الإصدار وما إذا كانت الوحدة موجودة في موقع تثبيت جميع المستخدمين أو موقع المستخدم الحالي.
- لم تعد الوحدة تحتاج إلى المصادقة الأساسية في WinRM، لأن اتصالاتها تعتمد على REST.
ما هي الوحدة وما الذي تحتاجه أولًا
اسم الوحدة هو ExchangeOnlineManagement، وتسميها وثائق Microsoft وحدة Exchange Online PowerShell V3. تتيح لك الاتصال بـExchange Online PowerShell، وبـSecurity & Compliance PowerShell، وبـPowerShell للإضافة الأمنية المدمجة لصناديق البريد المحلية. وتستخدم المصادقة الحديثة، لذا تعمل مع المصادقة متعددة العوامل أو بدونها.
هناك تغيير واحد يؤثر في النصوص البرمجية القديمة. تذكر Microsoft أنه منذ أكتوبر 2023 حلّت اتصالات REST API محل اتصالات Remote PowerShell القديمة التي كانت تعتمد على المصادقة الأساسية. ولا تحتاج اتصالات الوحدة إلى المصادقة الأساسية في WinRM، لذا لا يوجد ما يلزم تفعيله هناك.
قبل التثبيت، تحقّق من المتطلبات التالية:
- إصدار PowerShell وإطار .NET. يتطلب Windows PowerShell 5.1 الإطار .NET Framework 4.7.2. ويأتي Windows 11 وWindows Server 2022 وWindows Server 2025 مع الإصدار 4.8.x، لذا فالمتطلب متحقق فيها. ويعمل PowerShell 7 أيضًا، والحد الأدنى للإصدار يعتمد على إصدار الوحدة، وهو ما يشرحه القسم التالي.
- سياسة التنفيذ. تذكر صفحة Microsoft أنه بدون سياسة تنفيذ مناسبة ستظهر لك الرسالة "Files cannot be loaded because running scripts is disabled on this system". والحل الموثّق لديها هو
Set-ExecutionPolicy RemoteSigned، ويُشغَّل بصلاحيات المسؤول. اقرأ صفحة Microsoft عن سياسات التنفيذ قبل تغييرها، واسأل فريق الأمان أولًا إذا كان الجهاز خاضعًا للإدارة المركزية. - PowerShellGet وPackageManagement. يحتاج الاتصال بواجهات REST على Windows إلى PowerShellGet، وPowerShellGet يعتمد على PackageManagement. بدونهما قد تظهر لك رسالة خطأ بشأن غياب الأمر
Update-ModuleManifest. وتذكر Microsoft أيضًا أن إصدارات المعاينة من هاتين الوحدتين قد تسبب مشكلات في الاتصال، وتقدّم أمرًا لعرض الإصدارات المثبّتة:Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions. - TLS 1.2. على Windows PowerShell 5.1 مع إصدار أقدم من Windows، يتطلب PowerShell Gallery استخدام TLS 1.2 أو أحدث. إذا فشل التنزيل برسالة خطأ في الاتصال على خادم قديم، فهذا أول ما يجب التحقق منه.
النظام القديم جدًا طريق مسدود. فنظام Windows 7 SP1 وWindows Server 2008 R2 SP1 يحصلان فقط على الإصدار 2.0.3 من الوحدة، وتذكر Microsoft أن هذا الإصدار لا يستطيع الاتصال لأنه يفتقر إلى دعم REST.
أي إصدار من PowerShell يناسب أي إصدار من الوحدة
يعمل Windows PowerShell 5.1 مع جميع إصدارات الوحدة، مع مراعاة متطلبات .NET المذكورة أعلاه. وبالنسبة إلى PowerShell 7، تعرض Microsoft التوافق التالي:
- تتطلب الوحدة 3.10.0 أو أحدث الإصدار PowerShell 7.6.0 أو أحدث، الذي يستخدم .NET 10.
- تتطلب الوحدات من 3.5.0 إلى 3.9.2 الإصدار PowerShell 7.4.0 أو أحدث، الذي يستخدم .NET 8.
- تتطلب الوحدات من 3.0.0 إلى 3.4.0 الإصدار PowerShell 7.2.0 أو أحدث، الذي يستخدم .NET 6.
- تتطلب الوحدة 2.0.4 والإصدارات اللاحقة من سلسلة 2.x الإصدار PowerShell 7.0.3.
لذا، إذا ثبّتَّ أحدث وحدة على جهاز يعمل بالإصدار PowerShell 7.4، فتوقع مشكلات. إما أن تحدّث PowerShell، أو تثبّت إصدارًا أقدم من الوحدة باستخدام -RequiredVersion. وفي وقت كتابة هذا المقال، تذكر Microsoft أن الإصدار 3.10.1 هو الإصدار الحالي. تحقق من صفحة الوحدة لمعرفة الرقم المعمول به وقت قراءتك لهذا المقال.
تدعم Microsoft الوحدة أيضًا على Linux وmacOS. وعلى Linux، يتطلب الاتصال عبر خادم وكيل (proxy) الإصدار 3.0.0 أو أحدث من الوحدة. وعلى النظامين، لا يتوفر Connect-IPPSSession، ومعه Security & Compliance PowerShell، في PowerShell 7. وإذا كنت تدير Exchange Online من جهاز Mac، فهذا هو القيد الوحيد الذي يجب معرفته قبل تخطيط أدواتك.
يستحق Windows 10 ملاحظة قصيرة. فقد انتهى دعم إصدارات Consumer في أكتوبر 2025، وتذكر Microsoft أنها لا تدعم .NET 8.0 أو .NET 10.0. وبالنسبة إلى الوحدة 3.5.0 وما بعدها مع PowerShell 7.4 أو أحدث، لا تعمل إلا إصدارات Enterprise وIoT LTSC التي ما زالت مدعومة.
تحقق من إصدار PowerShell قبل التثبيت
فحص يستغرق دقيقتين يوفر عليك كثيرًا من التخمين لاحقًا. في النافذة التي تنوي العمل فيها، شغّل $PSVersionTable.PSVersion لمعرفة إصدار PowerShell الذي تستخدمه. قارن النتيجة بالتوافق الموضح أعلاه. وعلى Windows PowerShell 5.1 تحتاج أيضًا إلى معرفة إصدار PowerShellGet، لذا شغّل Get-InstalledModule PowerShellGet -AllVersions. إذا عرض هذا الأمر إصدار معاينة، فأزله أو حدّث إلى إصدار مستقر قبل المتابعة. وتذكر صفحة الوحدة لدى Microsoft أن إصدارات المعاينة من PowerShellGet وPackageManagement مصدر لمشكلات الاتصال.
دوّن النتيجة بجوار اسم الجهاز إذا كنت تدير أكثر من عدد قليل من الخوادم. عندما يبلغ زميل عن فشل اتصال بعد ثلاثة أشهر، يمكنك مقارنة الإصدارات في ثوانٍ.
كيفية تثبيت وحدة Exchange Online PowerShell خطوة بخطوة
تعمل هذه الخطوات في Windows PowerShell 5.1 وفي PowerShell 7.
- افتح PowerShell. اختر Run as administrator (تشغيل بصفة مسؤول) إذا أردت التثبيت لجميع المستخدمين. تجاوز هذه الخطوة إذا كنت تخطط للتثبيت للمستخدم الحالي فقط.
- إذا كانت هذه أول وحدة تثبّتها على الجهاز، فحدّث PowerShellGet أولًا، ثم أغلق PowerShell وأعد فتحه. توصي Microsoft بهذا الترتيب قبل أول تثبيت.
- شغّل
Install-Module -Name ExchangeOnlineManagementلجميع المستخدمين. أما لحسابك وحده، فشغّلInstall-Module -Name ExchangeOnlineManagement -Scope CurrentUser. - أجب عن أي مطالبة يعرضها PowerShell أثناء التثبيت. ويجب أن تسمح مؤسستك بالوصول إلى PowerShell Gallery حتى ينجح التنزيل.
- تحقق من التثبيت باستخدام
Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation. - انظر إلى السطر
InstalledLocation. يعني المسار الواقع ضمن%ProgramFiles%\WindowsPowerShell\Modules\أن الوحدة مثبتة لجميع المستخدمين. أما المسار الموجود في مجلد Documents الخاص بك فيعني أنها مثبتة للمستخدم الحالي فقط. - جرّبه في نافذة جديدة باستخدام
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com. للاطلاع على تفاصيل الاتصال، راجع مقالة Connect to Exchange Online PowerShell.
تريد نسخة معاينة؟ أضف -AllowPrerelease. ولاختيار إصدار معاينة محدد، استخدمه مع -RequiredVersion. يسرد الأمر Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease الإصدارات المتاحة، وإذا حذفت -AllowPrerelease فلن يعرض إلا الإصدارات العامة. لا تثبّت نسخة معاينة على خادم مسؤول إنتاجي ما لم يكن لديك سبب واضح لذلك، وجرّبها أولاً على جهاز احتياطي.
تحديث الوحدة النمطية وإلغاء تثبيتها
تنشر Microsoft إصدارات جديدة من الوحدة النمطية بانتظام، وتوضح ملاحظات الإصدار في صفحة الوحدة ما الذي تغيّر. فعلى سبيل المثال، توقف الإصدار 3.7.0 عن تحميل تعليمات سطر الأوامر افتراضياً، وأهمل الإصدار 3.9.2 المعامل UseRpsSession. والتحديث بسطر واحد: Update-Module -Name ExchangeOnlineManagement. وفي حالة التثبيت للمستخدم الحالي، أضف -Scope CurrentUser. وتوصي Microsoft باستخدام النطاق نفسه الذي استخدمته أثناء التثبيت، إذ قد يؤدي عدم التطابق إلى وجود تثبيت في الموقعين دون أن تعرف بوضوح أيهما يستخدمه PowerShell.
لهذا السبب يستحق فحص Get-InstalledModule في الخطوة 5 التنفيذ قبل التحديث وبعده. وإذا رأيت إصدارين، فتحقق من النطاق الذي ينتمي إليه كل منهما.
لإزالة الوحدة النمطية، نفّذ Uninstall-Module -Name ExchangeOnlineManagement. وإذا كانت مثبتة لجميع المستخدمين، فنفّذ ذلك بصلاحيات المسؤول. وأغلق نوافذ PowerShell المفتوحة بعد ذلك، لأن الوحدة النمطية المحمّلة تبقى في الذاكرة حتى تنتهي جلستها.
إصلاح أخطاء التثبيت الشائعة
تسرد صفحة الوحدة النمطية في Microsoft عدداً من الأخطاء المحددة وحلولها.
- "No match was found for the specified search criteria and module name 'ExchangeOnlineManagement'". نفّذ
Register-PSRepository -Defaultلإعادة تسجيل PowerShell Gallery كمستودع، ثم أعد محاولة التثبيت. - أخطاء تتعلق بـ PowerShellGetFormatVersion، أو بتعذر تنزيل الموفّرات. حدّث PowerShellGet وأعد تشغيل PowerShell.
- يفشل التنزيل على جهاز يعمل بإصدار أقدم من Windows PowerShell 5.1. يتطلب PowerShell Gallery بروتوكول TLS 1.2 أو أحدث. وتربط Microsoft بمدونة تشرح دعم المعرض لبروتوكول TLS للاطلاع على التفاصيل.
- "Files cannot be loaded because running scripts is disabled on this system". اضبط نهج تنفيذ السكربتات كما هو موضح أعلاه، بصلاحيات المسؤول.
- "Cannot find a cmdlet Update-Manifest" أو رسالة مشابهة تتعلق بـ
Update-ModuleManifestعند الاتصال. إما أن PowerShellGet أو PackageManagement غير مثبت. ثبّت الاثنين ثم أعد تشغيل PowerShell.
إذا نجح التثبيت لكن الاتصال يفشل لاحقاً بخطأ غريب في التجميعات (assembly)، فالسبب عادةً وحدة نمطية أخرى في الجلسة نفسها. افتح نافذة جديدة واتصل أولاً.
الأخطاء الشائعة
- خلط النطاقات. إذا ثبّتَّ الوحدة لجميع المستخدمين مرة، ثم حدّثتها لاحقاً باستخدام
-Scope CurrentUser، فستبقى على الجهاز نسختان. اختر نطاقاً واحداً والتزم به. - تشغيل إصدار PowerShell غير مناسب للوحدة النمطية. فالوحدة الأحدث تفشل مع إصدار PowerShell 7 أقدم بطرق تبدو كأخطاء اتصال. قارن إصداراتك بالجدول أعلاه.
- تثبيت إصدار معاينة على خادم إنتاجي. إصدارات المعاينة مخصصة للاختبار. استخدم الإصدار العام للعمل اليومي.
- إهمال PowerShellGet. قد يؤدي PowerShellGet المفقود أو إصدار المعاينة منه إلى تعطيل اتصالات REST، كما توضح صفحة Microsoft. تحقق منه أولاً عندما يفشل الاتصال بعد تثبيت جديد.
- اتباع دروس قديمة. الأدلة التي تطلب منك تفعيل مصادقة Basic في WinRM تصف أسلوب PowerShell البعيد المتقاعد. ولا تحتاج إليه.
موضوعات ذات صلة للاستكشاف
- الاتصال باستخدام الوحدة النمطية: بعد التثبيت، يكون السؤال التالي عن طريقة تسجيل الدخول، مع المصادقة متعددة العوامل أو بدونها، وهو ما تغطيه مقالة وحدة Exchange Online PowerShell النمطية ومقالة الاتصال المرافقة لها.
- المصادقة للتطبيقات فقط: تحتاج السكربتات المجدولة إلى شهادة أو هوية مُدارة، وليس إلى كلمة مرور تُكتب يدوياً.
- استخدام الوحدة في PowerShell 7 على Linux وmacOS: تختلف الإصدارات المدعومة باختلاف نظام التشغيل، لذا تحقّق من قائمة التوافق أولاً.
- التحكم في مَن يمكنه استخدام PowerShell: يستطيع مسؤول Exchange تفعيل الوصول إلى Exchange Online PowerShell أو تعطيله لكل مستخدم على حدة.
- إبقاء الوحدات محدَّثة: اضبط تذكيراً منتظماً للتحقق من إصدارات الوحدة الجديدة، لأن Microsoft ترفع الحد الأدنى لإصدار PowerShell بين حين وآخر.
الخطوة التالية
لتثبيت وحدة Exchange Online PowerShell، شغّل Install-Module -Name ExchangeOnlineManagement، ثم تحقّق من التثبيت باستخدام Get-InstalledModule، واحرص على إبقاء النطاق (scope) نفسه في كل تحديث لاحق. بعد ذلك، اتصل باستخدام Connect-ExchangeOnline في نافذة جديدة، ثم شغّل Get-AcceptedDomain للتأكد من أن الإعداد يعمل بشكل صحيح.