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

المدونة · Mirko Peters

إتقان تدفق الهوية المُدارة باستخدام PowerShell وMicrosoft Graph

By ·

مرحباً بعودتكم إلى مدونة البودكاست! إذا سبق أن عانيتم من عناء ترميز كلمات المرور في الأكواد، أو من إدارة أسرار العملاء المعقدة، أو من القلق بشأن تسرب بيانات الاعتماد في نصوصكم الآلية…

Automatically translated with AI from the original post. Read the English original

مرحباً بعودتكم إلى مدونة البودكاست! إذا سبق أن عانيتم من عناء ترميز كلمات المرور في الأكواد، أو من إدارة أسرار العملاء المعقدة، أو من القلق بشأن تسرب بيانات الاعتماد في نصوصكم البرمجية الآلية، فأنتم في المكان الصحيح. تتطلب الأتمتة السحابية تحولاً جذرياً في طريقة تفكيرنا بالأمان. فقد ولّى الزمن الذي كان فيه المسؤولون يحفظون بيانات الاعتماد بأمان في ملفات الإعدادات النصية أو متغيرات البيئة دون أن يلتفتوا من حولهم. واليوم، نتعمق في عالم المصادقة السحابية الأصيلة، ونستعرض تحديداً كيفية الاستفادة من الهويات المُدارة في Azure ضمن نصوص PowerShell الخاصة بكم، للمصادقة مع Microsoft Graph بأمان دون تخزين بيانات اعتماد حساسة.

لم تعد أتمتة بيئة Microsoft 365 مهارة إضافية مستحبة، بل أصبحت ضرورة تشغيلية مطلقة. ومع ذلك، قد يبدو الجمع بين PowerShell وواجهة Microsoft Graph API أحياناً وكأنه التنقل في متاهة من نوافذ طلب الأذونات، وحدود الاستدعاءات، وتدفقات الحصول على الرموز المعقدة. وبتبني عقلية تركز على الهوية وتعتمد على نماذج العمل الحديثة، يمكننا إلغاء إدارة بيانات الاعتماد تماماً للأحمال التي تعمل داخل Azure. في هذه المشاركة، سنفصّل المكونات الأساسية للمصادقة السحابية الأصيلة، ونرشدكم عبر المتطلبات الأولية، وتسجيلات التطبيقات في Azure AD، وتدفقات الحصول على الرموز، وتحسين النصوص البرمجية. وإذا أردتم التعمق أكثر في هذا السير بالتحديد، فننصحكم بالاستماع إلى حلقة البودكاست المرافقة، Use Managed Identity with PowerShell for Microsoft Graph.

متطلبات PowerShell + Graph API

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

تثبيت وحدات PowerShell

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

المتطلبالوصف
إصدار PowerShellيلزم الإصدار 7 من PowerShell أو أحدث للبرمجة النصية السحابية الحديثة.
.NET Frameworkيلزم الإصدار 4.7.2 من .NET Framework أو أحدث، وخاصة في بيئات Windows.
PowerShellGetقم بتحديث PowerShellGet إلى أحدث إصدار لضمان استقرار إدارة الوحدات.
سياسة التنفيذاضبط سياسة التنفيذ على RemoteSigned أو على مستوى أقل تقييداً للسماح باستيراد النصوص البرمجية.

يمكنكم تحديث 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 الخاص بكم عن طريق استيراد الوحدة والمصادقة بالنطاقات (Scopes) اللازمة. على سبيل المثال:
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، حدِّد النطاقات التي يحتاجها نصك البرمجي فقط. يتّبع هذا الأسلوب مبدأ الحد الأدنى من الامتيازات، ما يقلل المخاطر الأمنية. وتذكّر أن الأذونات الممنوحة لتطبيقك تسري على جميع مستخدميه، لذا راجعها وأدِرها بانتظام.

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

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

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

  1. افتح بوابة Azure وانتقل إلى Azure Active Directory > تسجيلات التطبيقات > تسجيل جديد.
  2. أعطِ تطبيقك اسمًا ذا معنى، مثل "My Graph Automation App".
  3. اختر أنواع الحسابات المدعومة:
    • مستأجر واحد: لا يمكن تسجيل الدخول إلا للمستخدمين في مستأجر Azure AD الخاص بك.
    • مستأجرون متعددون: يمكن للمستخدمين من أي مستأجر Azure AD تسجيل الدخول.
    • مستأجرون متعددون وحسابات شخصية: يشمل مستخدمي Azure AD وحسابات Microsoft الشخصية.
  4. اضبط معرّف URI لإعادة التوجيه بحسب نوع تطبيقك:
    • بالنسبة إلى تطبيقات الويب، استخدم عنوانًا مثل https://yourapp.com/auth/callback.
    • بالنسبة إلى تطبيقات الصفحة الواحدة، استخدم https://yourapp.com.
    • بالنسبة إلى تطبيقات الجوال أو سطح المكتب، استخدم https://login.microsoftonline.com/common/oauth2/nativeclient.
  5. انقر على تسجيل لإنشاء تطبيقك.

تُنشئ هذه العملية هوية تطبيق فريدة في مستأجرك. ستستخدم هذه الهوية لطلب الرموز المميزة واستدعاء Microsoft Graph API.

تكوين أذونات API

بعد تسجيل تطبيقك، يجب عليك تكوين أذونات API التي يحتاجها. تتحكم هذه الأذونات فيما يمكن لتطبيقك الوصول إليه أو تعديله في Microsoft 365. لضبط الأذونات:

  1. في تسجيل تطبيقك، انتقل إلى أذونات API > إضافة إذن > Microsoft Graph.
  2. اختر أذونات التطبيقات إذا كان نصك البرمجي يعمل دون واجهة أو عبر سياق الهوية المُدارة، أو الأذونات المفوَّضة إذا كان يعمل بشكل تفاعلي.
  3. حدِّد الأذونات المحددة التي يحتاجها تطبيقك، مثل User.Read.All أو Directory.Read.All.
  4. انقر على إضافة أذونات لتطبيقها.

⚠️ طبِّق دائمًا مبدأ الحد الأدنى من الامتيازات. امنح الأذونات التي يحتاجها تطبيقك فقط لتقليل المخاطر الأمنية.

تتطلب بعض الأذونات موافقة المسؤول قبل أن يتمكن تطبيقك من استخدامها. يمكنك منح هذه الموافقة بالنقر على منح موافقة المسؤول لـ [اسم المستأجر] في بوابة Azure. راجع الأذونات بانتظام لتجنب منح تطبيقك امتيازات زائدة.

إنشاء كلمة مرور للعميل أو شهادة

يحتاج تطبيقك إلى بيانات اعتماد للمصادقة بأمان مع Azure AD إذا كنت لا تستخدم هوية مُدارة. يمكنك استخدام إما مفتاح سري للعميل أو شهادة. كلتا الطريقتين تُثبتان هوية تطبيقك عند طلب الرموز المميزة.

الطريقةالمزاياالعيوب
مفتاح سري للعميلسهل الإنشاء والاستخدام، ويعمل مع العديد من تدفقات المصادقة.يتصرف ككلمة مرور، ويمكن أن يتسرب إذا لم يُخزَّن بشكل آمن، ولا يوجد تنبيه تلقائي في حال تعرضه للاختراق.
الشهادةأكثر أمانًا؛ لا ترسل الشهادة الفعلية أثناء المصادقة، وتدعم الإلغاء الفوري.أكثر تعقيدًا في الإدارة، وتتطلب تتبعًا قويًا لدورة حياتها.

لإنشاء مفتاح سري للعميل، انتقل إلى Certificates & secrets في تسجيل تطبيقك، واختر New client secret، وأضف وصفًا، وحدد مدة انتهاء الصلاحية. أما بالنسبة للشهادات، فقم بتحميل ملف شهادة صالح ضمن القسم نفسه.

الحصول على رموز الوصول

فهم OAuth 2.0

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

لاستخدام OAuth 2.0، يجب أولًا تسجيل تطبيقك في Azure Active Directory (Azure AD). يوفر هذا التسجيل بيانات اعتماد العميل، مثل معرّف التطبيق والمفتاح السري أو الشهادة. عندما يطلب نصك البرمجي رمز وصول، يقدّم هذه البيانات إلى Azure AD. ثم يتحقق Azure AD من هويتك ويصدر رمزًا قصير الأمد. يُدرج نصك البرمجي هذا الرمز في طلبات واجهة برمجة التطبيقات ليثبت أن لديه الحق في الوصول إلى الموارد المطلوبة.

تضمن هذه العملية وصولًا آمنًا ومضبوطًا إلى بيانات Microsoft 365. كما تدعم أذونات دقيقة الحبيبات، بحيث لا تحصل نصوصك البرمجية إلا على الوصول الذي تحتاجه. ومن خلال اتباع معايير OAuth 2.0، تحمي بيئتك من الوصول غير المصرح به، مع تمكين الأتمتة القوية باستخدام PowerShell + Graph API.

استخدام PowerShell لطلبات الرموز

يمكنك الحصول على رموز الوصول باستخدام عدة تدفقات مصادقة مصممة لسيناريوهات مختلفة. يوازن كل تدفق بين الأمان وسهولة الاستخدام بطريقة مختلفة. تدعم واجهة برمجة تطبيقات Microsoft Graph تدفقات المصادقة الشائعة التالية:

  • تدفق رمز الجهاز (Device Code Flow): مثالي للأجهزة أو النصوص البرمجية التي لا تحتوي على متصفح أو إمكانات إدخال. تقوم بالمصادقة على جهاز منفصل، مما يجعله آمنًا وسهل الاستخدام.
  • تدفق قائم على الشهادة (Certificate-Based Flow): مصمم للأتمتة دون واجهة مستخدم، يستخدم هذا التدفق الشهادات بدلًا من كلمات المرور، مما يعزز الأمان للنصوص البرمجية غير المراقبة.
  • تدفق الهوية المُدارة (Managed Identity Flow): الأفضل للبيئات السحابية الأصلية مثل Azure Functions أو الأجهزة الافتراضية، يستفيد هذا التدفق من الهويات المُدارة في Azure للحصول على الرموز دون تخزين الأسرار.

تدفق رمز الجهاز

يعمل تدفق رمز الجهاز بشكل جيد عند تشغيل النصوص البرمجية محليًا أو على أجهزة لا توفر خيارات إدخال سهلة. يتيح لك المصادقة بشكل تفاعلي على جهاز آخر، مثل هاتفك أو متصفح الكمبيوتر.

إليك كيفية استخدام تدفق رمز الجهاز مع PowerShell:

  1. شغّل الأمر التالي لبدء مصادقة رمز الجهاز:
    Connect-MgGraph -Scopes "User.Read.All" -DeviceCode
  2. يعرض PowerShell رمزًا وعنوان URL. افتح عنوان URL في متصفحك على أي جهاز.
  3. أدخل الرمز المعروض في PowerShell وسجّل الدخول باستخدام حساب Microsoft 365 الخاص بك.
  4. بعد نجاح المصادقة، يحصل PowerShell على رمز وصول ويربط جلستك.

💡 يوازن تدفق رمز الجهاز بين الأمان وسهولة الاستخدام. فهو يتجنب تضمين بيانات الاعتماد في النصوص البرمجية، ويعمل بشكل جيد للمهام اليدوية أو شبه الآلية.

تدفق قائم على الشهادة

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

لاستخدام هذا التدفق، اتبع الخطوات التالية:

  1. سجّل تطبيقك في Azure AD وقم بتحميل شهادة ضمن Certificates & secrets.
  2. خزّن الشهادة بشكل آمن على الجهاز الذي يشغّل نصك البرمجي.
  3. استخدم PowerShell لطلب رمز وصول عن طريق تحديد بصمة الشهادة ومعرّف العميل ومعرّف المستأجر.

إليك مثالاً مبسطاً لكيفية الحصول على رمز وصول باستخدام شهادة في PowerShell:

$tenantId = "YOUR_TENANT_ID"
$clientId = "YOUR_CLIENT_ID"
$certThumbprint = "YOUR_CERT_THUMBPRINT"
$cert = Get-Item Cert:\CurrentUser\My\$certThumbprint
$body = @{
    grant_type = "client_credentials"
    client_id = $clientId
    scope = "https://graph.microsoft.com/.default"
    client_assertion_type = "urn:ietf:params:oauth:client-assertion-type:jwt-bearer"
    client_assertion = New-JwtToken -Certificate $cert -TenantId $tenantId -ClientId $clientId
}
$tokenResponse = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" -Body $body
$accessToken = $tokenResponse.access_token

⚠️ تتطلب إدارة الشهادات عناية خاصة. احمِ المفاتيح الخاصة وجدّد الشهادات بانتظام للحفاظ على الأمان.

تدفق الهوية المُدارة

يعمل تدفق الهوية المُدارة بأفضل صورة عندما تشغّل نصوص PowerShell وواجهة Graph API داخل خدمات Azure مثل Azure Virtual Machines وAzure Functions وAzure Automation. تُعيّن Azure هوية تلقائياً للمورد لديك، لذلك لا تحتاج إلى إدارة بيانات الاعتماد يدوياً.

للحصول على رمز وصول باستخدام الهوية المُدارة، اتبع الخطوات التالية:

  1. فعّل الهوية المُدارة (المُعيّنة من النظام أو المُعيّنة من المستخدم) على مورد Azure لديك.
  2. امنح هذه الهوية أذونات Microsoft Graph API اللازمة في Azure AD عبر Microsoft Graph PowerShell أو Graph Explorer.
  3. استخدم PowerShell لطلب رمز من خدمة بيانات التعريف للمثيل المحلي في Azure (IMDS).

مثال على مقتطف PowerShell للحصول على رمز عبر الهوية المُدارة:

$resource = "https://graph.microsoft.com"
$tokenAuthUri = "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=$resource"
$headers = @{ Metadata = "true" }
$response = Invoke-RestMethod -Method Get -Uri $tokenAuthUri -Headers $headers
$accessToken = $response.access_token

🔐 يُلغي تدفق الهوية المُدارة الحاجة إلى تخزين الأسرار في نصوصك البرمجية. ويوفر مصادقة آمنة وسلسة داخل بيئات Azure.

إجراء استدعاءات API باستخدام PowerShell + Graph API

Making API Calls with PowerShell + Graph API

تتيح لك استدعاءات API باستخدام PowerShell + Graph API التفاعل مع خدمات Microsoft 365 بفعالية. ويُعد فهم كيفية بناء طلبات HTTP أمراً أساسياً للتواصل الناجح مع الواجهة البرمجية.

إنشاء طلبات HTTP

عند التفاعل مع واجهة Microsoft Graph API، يجب إنشاء طلبات HTTP بشكل صحيح. فيما يلي المكونات الأساسية لطلب HTTP:

  • الحصول على رمز الوصول: استخدم الرمز الذي حصلت عليه داخل الترويسة.
  • إعداد الترويسات: اضبط الترويسات اللازمة، بما في ذلك Content-Type: application/json وAuthorization: Bearer $accessToken.
  • طلب GET/POST: أرسل طلباً صريحاً إلى نقطة النهاية المطلوبة في Microsoft Graph API.

استخدام Invoke-RestMethod

يُبسّط الأمر Invoke-RestMethod عملية التواصل مع Microsoft Graph API. فهو يتيح لك إرسال طلبات HTTP واستلام الردود بطريقة مباشرة. فيما يلي نظرة سريعة على سلوكه وحدوده:

الحد / العامل المؤثرالوصف
الحد الأقصى للنتائج في كل استدعاءتوصي Microsoft بطلب أقل من 120 نتيجة في كل استدعاء على نقاط النهاية الثقيلة لتجنب الأخطاء.
معالجة الأخطاءقد يعيد الأمر خطأ 400 Bad Request إذا كانت صيغة فلتر الاستعلام غير صحيحة.
الأداءقد يكون استرجاع سجلات الدليل أو بيانات نشاط تسجيل الدخول مكلفاً من حيث الموارد، ومن هنا تأتي الحاجة إلى ترقيم الصفحات بشكل سليم.

نقاط النهاية الشائعة للواجهة البرمجية

تُستخدم عدة نقاط نهاية في Microsoft Graph API بكثرة لمهام إدارة Microsoft 365. فيما يلي بعض أكثرها شيوعاً:

نقطة النهايةحالة الاستخدام
الحصول على عدد أنشطة مجموعات Office 365تشغيل تقرير عن مجموعات Microsoft 365 وتحديد التعاونات النشطة.
سرد الخطط الخاصة بمجموعةالبحث عن الخطط المرتبطة بمجموعة Microsoft 365.
نشر المحادثاتبدء محادثة جديدة داخل مجموعة Microsoft 365.
الحصول على الدفتر الافتراضياسترجاع الدفتر الافتراضي لمجموعة.

إدارة مخرجات واجهة البرمجة

فهم استجابات JSON

عند التفاعل مع واجهة Microsoft Graph API، تُعيد البيانات بصيغة JSON. وJSON (JavaScript Object Notation) خفيف الوزن وسهل القراءة. ويُعد فهم استجابات JSON أمراً بالغ الأهمية للتعامل الفعّال مع البيانات. تبدو استجابة JSON نموذجية كما يلي:

{
  "id": "1",
  "displayName": "John Doe",
  "mail": "john.doe@example.com"
}

تحويل JSON إلى كائنات PowerShell

للعمل مع بيانات JSON في PowerShell، تحتاج إلى تحويلها إلى كائنات PowerShell. يتيح لك هذا التحويل معالجة البيانات بسهولة. يمكنك استخدام الأمر ConvertFrom-Json لهذا الغرض. وإليك طريقة عمله:

$jsonData = '{"id": "1", "displayName": "John Doe", "mail": "john.doe@example.com"}'
$powerShellObject = $jsonData | ConvertFrom-Json

الآن، يحتوي $powerShellObject على خصائص يمكنك الوصول إليها مباشرةً، مثل $powerShellObject.displayName.

تصفية البيانات وتنسيقها

بعد أن تحصل على بياناتك في صورة كائنات PowerShell، يمكنك تصفيتها وتنسيقها بما يناسب متطلباتك. يوفر PowerShell تقنيات متعددة لتحسين مخرجات البيانات. على سبيل المثال، يمكنك استخدام معلمات استعلام OData عند إجراء استدعاءات واجهة برمجة التطبيقات لتصفية النتائج مباشرةً من Microsoft Graph API.

معلمة الاستعلامالوصفمثال
$expandيُرجع الموارد ذات الصلة./groups?$expand=members
$filterيصفّي النتائج (الصفوف)./users?$filter=startswith(givenName,'J')
$orderbyيرتّب النتائج./users?$orderby=displayName desc
$selectيصفّي الخصائص (الأعمدة)./users?$select=givenName,surname
$topيحدد حجم الصفحة للنتائج./users?$top=2

تصدير النتائج

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

$users = Get-MgUser -All
$users | Select-Object DisplayName, Mail | Export-Csv -Path "Users.csv" -NoTypeInformation

أفضل الممارسات واستكشاف الأخطاء وإصلاحها

معالجة الأخطاء وحدود واجهة برمجة التطبيقات

عند العمل مع Microsoft Graph API، غالبًا ما تنشأ الأخطاء من إعدادات خاصة بالمستأجر أو مشكلات في الأذونات. يشغّل كثير من المستخدمين نصوصًا برمجية منزّلة من الإنترنت دون تكييفها مع بيئتهم، مما يتسبب في حدوث أعطال. علاوة على ذلك، تفرض Microsoft Graph حدودًا لمعدل الاستخدام لحماية خدماتها. إذا أرسل نصك البرمجي عددًا كبيرًا من الطلبات في وقت قصير، فستُرجع واجهة برمجة التطبيقات رمز الحالة 429. ينبغي عليك احترام الترويسة Retry-After وانتظار المدة المقترحة قبل إعادة المحاولة.

النطاقالنوعالحدملاحظات
عام (جميع الخدمات)أي130,000 لكل 10 ثوانٍ لكل تطبيقالحد الأقصى المطلق عبر جميع خدمات Graph
Intune (عام)أي1,000 لكل تطبيق لكل مستأجر خلال 20 ثانيةحد تطبيقك لجميع العمليات

Bar chart comparing Microsoft Graph API rate limits across different scopes and types

تأمين بيانات الاعتماد

تُعد حماية بيانات الاعتماد أمرًا بالغ الأهمية عند أتمتة مهام Microsoft 365. استخدم تسجيلات التطبيقات والهويات المُدارة لإنشاء هويات آمنة لتطبيقاتك. تجنّب تخزين الأسرار الخاصة بالعملاء كنص عادي داخل نصوصك البرمجية قدر الإمكان.

تحسين النصوص البرمجية

تُوفر النصوص البرمجية الفعّالة الوقت وتقلل استهلاك الموارد. استخدم استرجاع الخصائص الانتقائي عبر تطبيق معلمة الاستعلام $select، واستفد من آليات التجميع (Batching)، وصمّم حلقات الأتمتة لديك بمعالجات ترقيم صفحات واضحة ومنظمة.


إن إتقان تدفقات الهوية المُدارة باستخدام PowerShell وMicrosoft Graph API يغيّر جذريًا طريقة تعاملك مع أتمتة السحابة. فمن خلال إزالة الأسرار الثابتة واعتماد الهويات الأصلية للسحابة، تبني تدفقات عمل مرنة وآمنة للغاية تحمي مؤسستك. لمعرفة المزيد عن هذه الاستراتيجيات والاستماع إلى نقاشات عملية حول إدارة السحابة الحديثة، تأكد من الاطلاع على الحلقة ذات الصلة: Use Managed Identity with PowerShell for Microsoft Graph. جرّب هذه الأمثلة في بيئة الاختبار الخاصة بك اليوم، وارتقِ بإطار الأتمتة لديك إلى المستوى التالي!

الأسئلة المتداولة

ما هو PowerShell؟

PowerShell إطار عمل لأتمتة المهام من Microsoft يجمع بين واجهة سطر الأوامر ولغة البرمجة النصية لتبسيط إدارة الأنظمة وعمليات السحابة.

ما هي Microsoft Graph API؟

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

كيف أثبّت وحدة Microsoft Graph PowerShell؟

يمكنك تثبيت الوحدة بتشغيل Install-Module Microsoft.Graph -Scope CurrentUser في بيئة PowerShell 7 لديك.

ما هي الأذونات المفوضة وأذونات التطبيق؟

تتيح الأذونات المفوضة لتطبيقك التصرف نيابةً عن مستخدم قام بتسجيل الدخول، بينما تتيح أذونات التطبيق التنفيذ في الخلفية دون سياق مستخدم نشط.

كيف أتعامل مع حدود معدل استخدام واجهة برمجة التطبيقات؟

عند استلام رمز الحالة 429، تحقّق دائمًا من قيمة Retry-After في ترويسات الاستجابة، ونفّذ منطق إعادة المحاولة بالتراجع الأُسّي (Exponential Backoff) في نصوصك البرمجية.

ما هو OAuth 2.0؟

OAuth 2.0 هو إطار عمل للتفويض يتيح للتطبيقات الحصول على رموز الوصول بأمان لاستدعاء واجهات برمجة التطبيقات المحمية، دون كشف بيانات اعتماد المستخدم الأساسية.

هل يمكنني استخدام PowerShell على Linux؟

نعم! يعمل PowerShell على جميع المنصات، ويعمل بشكل أصلي على Windows وmacOS وLinux.

كيف أصدّر البيانات من PowerShell؟

يمكنك تصدير البيانات المنظمة بسهولة باستخدام أدوات مثل Export-Csv أو ConvertTo-Json، وذلك حسب متطلبات تنسيق التقارير لديك.

Entities in this article

PowerShell Microsoft Graph Microsoft Entra ID Managed identity Client secret .NET Microsoft 365 Microsoft Graph PowerShell OAuth 2.0 Automation

Related articles

RSS