2025-12-08
Managed Identity के साथ PowerShell का उपयोग करके Microsoft Graph

As businesses increasingly rely on Microsoft 365, automating management tasks becomes essential. Integrating PowerShell + Graph API can enhance efficiency and save valuable time. This powerful combination unlocks robust management capabilities that streamline operations.
However, many users encounter challenges. For instance, some key functionalities lack documented endpoints, complicating automation efforts. Additionally, legacy APIs may lead to silent failures, hindering your scripts' maintainability. Don't worry! This post will break down these complex concepts into easy, actionable steps, guiding you through the process with clear solutions.
मुख्य बातें
- Microsoft 365 कार्यों को स्वचालित करने और दक्षता बढ़ाने के लिए PowerShell को Graph API के साथ एकीकृत करें।
- सुचारू निष्पादन के लिए सुनिश्चित करें कि आपके सिस्टम में PowerShell 7 या उससे उच्चतर और नवीनतम Microsoft Graph मॉड्यूल जैसी पूर्वापेक्षाएँ हों।
- अनुमतियों और स्कोप को समझें ताकि आप नियंत्रित कर सकें कि आपकी स्क्रिप्ट Microsoft 365 में क्या एक्सेस कर सकती हैं, और न्यूनतम विशेषाधिकार के सिद्धांत का पालन करें।
- Azure AD में अपना ऐप पंजीकृत करें ताकि आपकी स्क्रिप्ट के लिए एक सुरक्षित पहचान बने, जो Microsoft Graph तक सुरक्षित पहुँच की अनुमति दे।
- एक्सेस टोकन को प्रभावी ढंग से सुरक्षित करने के लिए सही प्रमाणीकरण प्रवाह चुनें, जैसे Device Code Flow या Managed Identity Flow।
- Microsoft Graph API के साथ इंटरैक्ट करने और डेटा प्राप्त करने के लिए PowerShell का उपयोग करके सही ढंग से बने HTTP अनुरोध बनाएँ।
- त्रुटियों और API सीमाओं को सावधानीपूर्वक संभालें ताकि आपकी स्क्रिप्ट सुचारू रूप से चलें और व्यवधानों से बचें।
- चयनात्मक गुण पुनर्प्राप्ति और बैचिंग अनुरोधों का उपयोग करके अपनी स्क्रिप्ट को अनुकूलित करें ताकि प्रदर्शन में सुधार हो और संसाधन खपत कम हो।
PowerShell + Graph API के लिए पूर्वापेक्षाएँ
Microsoft 365 कार्यों को PowerShell + Graph API का उपयोग करके स्वचालित करना शुरू करने से पहले, आपको अपने सिस्टम और वातावरण को ठीक से तैयार करना होगा। यह तैयारी सुचारू निष्पादन और Microsoft Graph संसाधनों तक सुरक्षित पहुँच सुनिश्चित करती है।
PowerShell मॉड्यूल स्थापित करना
Microsoft Graph API के साथ इंटरैक्ट करने के लिए आपको सही PowerShell मॉड्यूल स्थापित करने होंगे। Microsoft Graph PowerShell SDK इस एकीकरण के लिए सभी आवश्यक cmdlets प्रदान करता है। त्रुटियों से बचने के लिए, जाँच लें कि आपका सिस्टम इन न्यूनतम आवश्यकताओं को पूरा करता है:
| आवश्यकता | विवरण |
|---|---|
| PowerShell संस्करण | PowerShell संस्करण 7 या उससे उच्चतर आवश्यक है। |
| .NET Framework | macOS पर .NET Framework 4.7.2 या बाद का संस्करण आवश्यक है। |
| PowerShellGet | PowerShellGet को नवीनतम संस्करण में अपडेट करें। |
| Execution Policy | Execution policy को remote signed या कम प्रतिबंधात्मक पर सेट करें। |
आप Install-Module PowerShellGet -Force चलाकर PowerShellGet अपडेट कर सकते हैं और Set-ExecutionPolicy RemoteSigned से execution policy सेट कर सकते हैं। इसके बाद, निम्न कमांड से Microsoft Graph मॉड्यूल स्थापित करें:
Install-Module Microsoft.Graph -Scope CurrentUser
यह कमांड मॉड्यूल का नवीनतम स्थिर संस्करण डाउनलोड करता है, जिससे आप Microsoft Graph endpoints को आसानी से कॉल कर सकते हैं।
Microsoft 365 वातावरण सेट करना
स्वचालन के लिए अपने Microsoft 365 वातावरण को सही ढंग से कॉन्फ़िगर करना महत्वपूर्ण है। शुरू करने के लिए इन चरणों का पालन करें:
- पुष्टि करें कि आपका सिस्टम आवश्यकताओं को पूरा करता है: PowerShell 7.2 या बाद का संस्करण, .NET Framework 4.7.2 या नया, और नवीनतम PowerShellGet मॉड्यूल।
- ऊपर दिखाए अनुसार Microsoft Graph PowerShell मॉड्यूल स्थापित करें।
- मॉड्यूल इम्पोर्ट करके और आवश्यक scopes के साथ प्रमाणीकरण करके अपने Microsoft 365 tenant से कनेक्ट करें। उदाहरण के लिए:
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"
यह कमांड आपको साइन इन करने के लिए कहता है और आपके सत्र को उपयोगकर्ता और डायरेक्टरी डेटा पढ़ने और लिखने की अनुमति देता है। आप अपनी स्वचालन आवश्यकताओं के अनुसार scopes समायोजित कर सकते हैं।
अनुमतियों और Scopes को समझना
अनुमतियाँ और scopes परिभाषित करते हैं कि आपकी स्क्रिप्ट Microsoft 365 में क्या एक्सेस या संशोधित कर सकती हैं। Microsoft Graph API दो मुख्य अनुमति प्रकारों का उपयोग करता है:
- प्रत्यायोजित अनुमतियाँ (Delegated permissions): ये तब लागू होती हैं जब आप किसी साइन-इन उपयोगकर्ता के रूप में स्क्रिप्ट चलाते हैं। ये उस डेटा तक पहुँच सीमित करती हैं जिसका उपयोगकर्ता मालिक है या जिस तक वह पहुँच सकता है।
- एप्लिकेशन अनुमतियाँ (Application permissions): ये आपके ऐप या स्क्रिप्ट को बिना साइन-इन उपयोगकर्ता के पूरे संगठन में डेटा तक पहुँचने की अनुमति देती हैं।
सामान्य अनुमतियों में केवल-पढ़ने की पहुँच के लिए *.Read.All और पूर्ण पढ़ने-लिखने की क्षमता के लिए *.ReadWrite.All शामिल हैं। उदाहरण के लिए, SecurityActions.Read.All आपको सुरक्षा कार्रवाइयाँ देखने देता है, जबकि SecurityActions.ReadWrite.All उन्हें संशोधित करने की अनुमति देता है।
एप्लिकेशन अनुमतियों के लिए एडमिन सहमति आवश्यक है। सुरक्षा सुनिश्चित करने के लिए tenant administrator को इन अनुमतियों को मंज़ूरी देनी होगी। साथ ही, संवेदनशील डेटा तक पहुँचने के लिए उपयोगकर्ताओं के पास उचित Microsoft Entra भूमिकाएँ होनी चाहिए, जैसे Security Reader। यह भूमिका-आधारित पहुँच एक अतिरिक्त सुरक्षा परत जोड़ती है।
Microsoft Graph PowerShell SDK का उपयोग करके कनेक्ट करते समय, केवल वही scopes निर्दिष्ट करें जिनकी आपकी स्क्रिप्ट को आवश्यकता है। यह अभ्यास न्यूनतम विशेषाधिकार के सिद्धांत का पालन करता है और सुरक्षा जोखिमों को कम करता है। ध्यान रखें कि आपके ऐप को दी गई अनुमतियाँ उस ऐप के सभी उपयोगकर्ताओं पर लागू होती हैं, इसलिए उनकी नियमित समीक्षा और प्रबंधन करें।
अनुमतियों को सावधानीपूर्वक समझने और कॉन्फ़िगर करने से आप अपने वातावरण की सुरक्षा करते हुए PowerShell + Graph API के साथ शक्तिशाली स्वचालन सक्षम कर सकते हैं।
Azure AD में ऐप पहचान
नया ऐप पंजीकृत करना
PowerShell और Graph API के साथ Microsoft 365 कार्यों को स्वचालित करने के लिए, आपको पहले Azure Active Directory (Azure AD) में एक एप्लिकेशन पंजीकृत करना होगा। यह ऐप एक पहचान के रूप में कार्य करता है जिसका उपयोग आपकी स्क्रिप्ट Microsoft Graph तक सुरक्षित रूप से पहुँचने के लिए करती हैं। अपना ऐप पंजीकृत करने के लिए इन चरणों का पालन करें:
- Azure portal खोलें और Azure Active Directory > App registrations > New registration पर जाएँ।
- अपने ऐप को एक सार्थक नाम दें, जैसे "My Graph App"।
- समर्थित खाता प्रकार चुनें:
- Single tenant: केवल आपके Azure AD tenant के उपयोगकर्ता साइन इन कर सकते हैं।
- Multi-tenant: किसी भी Azure AD tenant के उपयोगकर्ता साइन इन कर सकते हैं।
- Multi-tenant and personal accounts: Azure AD उपयोगकर्ता और व्यक्तिगत Microsoft खाते दोनों शामिल हैं।
Apple Podcasts · Spotify · YouTube · YouTube Music
Use Managed Identity with PowerShell for Microsoft Graph (English)