M365Con 2027 – مؤتمر مجاني عبر الإنترنت · 11–22 Jan 2027 · 120 sessions→ m365con.net

2025-12-08

استخدم الهوية المُدارة مع PowerShell لـ Microsoft Graph

استخدم الهوية المُدارة مع PowerShell لـ Microsoft Graph
ما زلت تكتب PowerShell مقابل وحدات MSOnline وAzureAD في عام 2025؟ تشرح هذه الحلقة لماذا أصبحت هذه المنظومة قديمة، وكيف يمكن الانتقال إلى نهج يعتمد على واجهات البرمجة أولاً باستخدام REST الخالص وMicrosoft Graph. نستعرض نمط «الرمز المميز، والترويسات، واستدعاء REST» الأساسي، وثلاثة تدفقات مصادقة واقعية (رمز الجهاز، وبيانات اعتماد العميل بالشهادات، والهوية المُدارة)، إضافةً إلى الفخ الشائع المتعلق بجمهور الرمز المميز والذي يُعطّل معظم سكربتات Graph. سترى كيفية بناء أتمتة Graph متعددة المنصات تعمل بسلاسة على Linux والحاويات وGitHub Actions وAzure Functions وAzure Automation دون الاعتماد على وحدات هشة. ثم نطبّق هذا النمط على سيناريوهات المؤسسات: تنظيف أجهزة Intune، وإعداد الهوية للموظفين الجدد، واكتشاف انحراف الامتثال ومعالجته، مع أذونات Graph بأقل امتياز ممكن، ومنطق إعادة محاولة قوي، ومساعدات للترقيم الصفحي، ومسارات تدقيق كاملة في Log Analytics. إذا كنت مهندس Azure أو Intune أو…

على نحوٍ متزايد، تعتمد الشركات على Microsoft 365، لذا يصبح أتمتة مهام الإدارة أمرًا أساسيًا. يمكنك تعزيز الكفاءة وتوفير وقت ثمين من خلال دمج PowerShell + Graph API. يتيح هذا المزيج القوي قدرات إدارة متينة تُبسّط العمليات.

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

أبرز النقاط

  • ادمج PowerShell مع Graph API لأتمتة مهام Microsoft 365 وتعزيز الكفاءة.
  • تأكد من أن نظامك يلبي المتطلبات الأساسية مثل PowerShell 7 أو أحدث ووحدة Microsoft Graph الأحدث لضمان التنفيذ السلس.
  • افهم الأذونات والنطاقات للتحكم في ما يمكن لسكرابتاتك الوصول إليه في Microsoft 365، مع اتباع مبدأ أقل الامتيازات.
  • سجّل تطبيقك في Azure AD لإنشاء هوية آمنة لسكرابتاتك، تتيح الوصول الآمن إلى Microsoft Graph.
  • اختر تدفق المصادقة المناسب، مثل Device Code Flow أو Managed Identity Flow، لتأمين رموز الوصول بفعالية.
  • أنشئ طلبات HTTP سليمة باستخدام PowerShell للتفاعل مع Microsoft Graph API واسترجاع البيانات.
  • تعامل مع الأخطاء وحدود واجهات البرمجة بعناية لضمان تشغيل سكرابتاتك بسلاسة وتجنب الانقطاعات.
  • حسّن سكرابتاتك باستخدام استرجاع الخصائص الانتقائي وتجميع الطلبات لتحسين الأداء وتقليل استهلاك الموارد.

المتطلبات الأساسية لـ PowerShell + Graph API

قبل أن تبدأ بأتمتة مهام Microsoft 365 باستخدام PowerShell + Graph API، تحتاج إلى تجهيز نظامك وبيئتك بشكل صحيح. يضمن هذا التجهيز التنفيذ السلس والوصول الآمن إلى موارد Microsoft Graph.

تثبيت وحدات PowerShell

يجب عليك تثبيت وحدات PowerShell المناسبة للتفاعل مع Microsoft Graph API. يوفر Microsoft Graph PowerShell SDK جميع الأوامر (cmdlets) اللازمة لهذا التكامل. لتجنب الأخطاء، تحقق من أن نظامك يلبي هذه الحدود الدنيا للمتطلبات:

المتطلب الوصف
إصدار PowerShell مطلوب PowerShell الإصدار 7 أو أحدث.
.NET Framework مطلوب .NET Framework 4.7.2 أو أحدث على macOS.
PowerShellGet حدّث PowerShellGet إلى أحدث إصدار.
سياسة التنفيذ اضبط سياسة التنفيذ على remote signed أو أقل تقييدًا.

يمكنك تحديث PowerShellGet بتشغيل Install-Module PowerShellGet -Force وضبط سياسة التنفيذ باستخدام Set-ExecutionPolicy RemoteSigned. بعد ذلك، ثبّت وحدة Microsoft Graph باستخدام:

Install-Module Microsoft.Graph -Scope CurrentUser

يقوم هذا الأمر بتنزيل أحدث إصدار مستقر من الوحدة، مما يتيح لك استدعاء نقاط نهاية Microsoft Graph بسهولة.

إعداد بيئة Microsoft 365

يُعد ضبط بيئة Microsoft 365 بشكل صحيح أمرًا حاسمًا للأتمتة. اتبع هذه الخطوات للبدء:

  1. تأكد من أن نظامك يلبي المتطلبات: PowerShell 7.2 أو أحدث، و.NET Framework 4.7.2 أو أحدث، وأحدث وحدة PowerShellGet.
  2. ثبّت وحدة Microsoft Graph PowerShell كما هو موضح أعلاه.
  3. اتصل بمستأجر Microsoft 365 لديك عن طريق استيراد الوحدة والمصادقة مع النطاقات اللازمة. على سبيل المثال:
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"

يطالبك هذا الأمر بتسجيل الدخول ويمنح جلستك أذونات قراءة وكتابة بيانات المستخدمين والدليل. يمكنك تعديل النطاقات بحسب احتياجات الأتمتة لديك.

فهم الأذونات والنطاقات

تحدد الأذونات والنطاقات ما يمكن لسكرابتاتك الوصول إليه أو تعديله في Microsoft 365. تستخدم Microsoft Graph API نوعين رئيسيين من الأذونات:

  • الأذونات المفوَّضة: تُطبَّق عندما تشغّل السكرابتات كمستخدم مسجَّل الدخول. وهي تحدّ من الوصول إلى البيانات التي يملكها المستخدم أو يمكنه الوصول إليها.
  • أذونات التطبيقات: تسمح لتطبيقك أو سكربتك بالوصول إلى البيانات عبر المؤسسة دون وجود مستخدم مسجَّل الدخول.

تشمل الأذونات الشائعة *.Read.All للوصول للقراءة فقط و*.ReadWrite.All للقدرات الكاملة للقراءة والكتابة. على سبيل المثال، يتيح SecurityActions.Read.All عرض إجراءات الأمان، بينما يسمح SecurityActions.ReadWrite.All بتعديلها.

تتطلب أذونات التطبيقات موافقة المسؤول. يجب أن يوافق مسؤول المستأجر على هذه الأذونات لضمان الأمان. كما يحتاج المستخدمون إلى أدوار Microsoft Entra مناسبة، مثل Security Reader، للوصول إلى البيانات الحساسة. يضيف هذا الوصول القائم على الأدوار طبقة أمان إضافية.

عند الاتصال باستخدام Microsoft Graph PowerShell SDK، حدّد فقط النطاقات التي يحتاجها سكربتك. يتبع هذا الإجراء مبدأ أقل الامتيازات، مما يقلل المخاطر الأمنية. تذكّر أن الأذونات الممنوحة لتطبيقك تنطبق على جميع مستخدمي ذلك التطبيق، لذا راجعها وأدرها بانتظام.

من خلال فهم الأذونات وضبطها بعناية، تحمي بيئتك مع تمكين أتمتة قوية باستخدام PowerShell + Graph API.

هوية التطبيق في Azure AD

تسجيل تطبيق جديد

لأتمتة مهام Microsoft 365 باستخدام PowerShell وGraph API، تحتاج أولًا إلى تسجيل تطبيق في Azure Active Directory (Azure AD). يعمل هذا التطبيق كهوية تستخدمها سكرابتاتك للوصول إلى Microsoft Graph بأمان. اتبع هذه الخطوات لـ تسجيل تطبيقك:

  1. افتح بوابة Azure وانتقل إلى Azure Active Directory > App registrations > New registration.
  2. أعطِ تطبيقك اسمًا ذا معنى، مثل "My Graph App".
  3. اختر أنواع الحسابات المدعومة:
    • Single tenant: يمكن فقط للمستخدمين في مستأجر Azure AD الخاص بك تسجيل الدخول.
    • Multi-tenant: يمكن للمستخدمين من أي مستأجر Azure AD تسجيل الدخول.
    • Multi-tenant and personal accounts: يشمل مستخدمي Azure AD وحسابات Microsoft الشخصية.

Apple Podcasts · Spotify · YouTube · YouTube Music

Use Managed Identity with PowerShell for Microsoft Graph (English)