2025-12-08
PowerShell-ൽ Microsoft Graph-നായി Managed Identity ഉപയോഗിക്കുക

কৌশল বিস্তারিত মাইক্রোসফ্ট ৩৬৫ ব্যবস্থাপনার কাজগুলো স্বয়ংক্রিয় করা ক্রমশ অপরিহার্য হয়ে উঠছে। Microsoft 365 ব্যবহারে ব্যবসাগুলোর নির্ভরতা বাড়ছে। PowerShell + Graph API একত্রিত করে আপনি দক্ষতা বাড়াতে এবং মূল্যবান সময় বাঁচাতে পারেন। এই শক্তিশালী সমন্বয় অপারেশনগুলোকে সুগম করে এমন শক্তিশালী ব্যবস্থাপনার সামর্থ্য দেয়।
তবে অনেক ব্যবহারকারী চ্যালেঞ্জের মুখোমুখি হন। উদাহরণস্বরূপ, কিছু গুরুত্বপূর্ণ কার্যকারিতার নথিভুক্ত এন্ডপয়েন্ট নেই, যা স্বয়ংক্রিয়করণের কাজকে জটিল করে তোলে। এছাড়া, পুরোনো APIগুলো নীরব ব্যর্থতার কারণ হতে পারে, যা আপনার স্ক্রিপ্টের রক্ষণাবেক্ষণে বাধা সৃষ্টি করে। চিন্তার কিছু নেই! এই পোস্টে আমরা এই জটিল ধারণাগুলো সহজ, কার্যকর ধাপে ভেঙে বর্ণনা করব এবং স্পষ্ট সমাধানের মাধ্যমে আপনাকে পথ দেখাব।
মূল শিক্ষণীয় বিষয়
- মাইক্রোসফ্ট ৩৬৫ কাজ স্বয়ংক্রিয় ও দক্ষতা বাড়াতে PowerShell-কে Graph API-এর সঙ্গে সংযুক্ত করুন।
- মসৃণ কার্যকারিতার জন্য PowerShell 7 বা তার উচ্চতর এবং সর্বশেষ Microsoft Graph মডিউলের মতো পূর্বশর্ত নিশ্চিত করুন।
- অনুমতি ও স্কোপ বুঝুন, যাতে আপনার স্ক্রিপ্ট মাইক্রোসফ্ট ৩৬৫-এ কী অ্যাক্সেস করতে পারবে তা নিয়ন্ত্রণ করা যায়, সর্বনিম্ন সুবিধার নীতি মেনে।
- Azure AD-তে আপনার অ্যাপ নিবন্ধন করুন, যাতে আপনার স্ক্রিপ্টের জন্য একটি নিরাপদ পরিচয় তৈরি হয় এবং Microsoft Graph-এ নিরাপদ অ্যাক্সেস সম্ভব হয়।
- অ্যাক্সেস টোকেন কার্যকরভাবে সুরক্ষিত করতে Device Code Flow বা Managed Identity Flow-এর মতো সঠিক প্রমাণীকরণ প্রবাহ বেছে নিন।
- Microsoft Graph API-এর সঙ্গে যোগাযোগ ও ডেটা আনতে PowerShell দিয়ে সঠিক গঠনের HTTP অনুরোধ তৈরি করুন।
- স্ক্রিপ্ট নির্বিঘ্নে চালাতে এবং বিঘ্ন এড়াতে ত্রুটি ও API সীমা সতর্কভাবে পরিচালনা করুন।
- নির্বাচিত প্রপার্টি পুনরুদ্ধার ও অনুরোধ একত্রীকরণ (batching) ব্যবহার করে স্ক্রিপ্ট অপ্টিমাইজ করুন, যাতে কার্যক্ষমতা বাড়ে এবং সম্পদের ব্যবহার কমে।
PowerShell + Graph API-এর পূর্বশর্ত
মাইক্রোসফ্ট ৩৬৫ কাজ PowerShell + Graph API দিয়ে স্বয়ংক্রিয় করার আগে আপনাকে আপনার সিস্টেম ও পরিবেশ সঠিকভাবে প্রস্তুত করতে হবে। এই প্রস্তুতি মসৃণ কার্যকারিতা ও Microsoft Graph সম্পদে নিরাপদ অ্যাক্সেস নিশ্চিত করে।
PowerShell মডিউল ইনস্টল করা
Microsoft Graph API-এর সঙ্গে যোগাযোগের জন্য আপনাকে সঠিক PowerShell মডিউল ইনস্টল করতে হবে। Microsoft Graph PowerShell SDK এই সংযুক্তির জন্য প্রয়োজনীয় সব cmdlet সরবরাহ করে। ত্রুটি এড়াতে নিশ্চিত করুন আপনার সিস্টেম নিচের ন্যূনতম প্রয়োজনীয়তা পূরণ করে:
| প্রয়োজনীয়তা | বিবরণ |
|---|---|
| PowerShell সংস্করণ | PowerShell সংস্করণ 7 বা তার উচ্চতর প্রয়োজন। |
| .NET Framework | macOS-এ .NET Framework 4.7.2 বা তার পরবর্তী সংস্করণ প্রয়োজন। |
| PowerShellGet | |
| Execution Policy | Execution policy-কে remote signed বা তার কম কড়াকড়ি স্তরে সেট করুন। |
PowerShellGet আপডেট করতে Install-Module PowerShellGet -Force চালান এবং execution policy সেট করতে Set-ExecutionPolicy RemoteSigned চালান। এরপর নিচের কমান্ড দিয়ে Microsoft Graph মডিউল ইনস্টল করুন:
Install-Module Microsoft.Graph -Scope CurrentUser
এই কমান্ড মডিউলের সর্বশেষ স্থিতিশীল সংস্করণ ডাউনলোড করে, যা আপনাকে সহজে Microsoft Graph এন্ডপয়েন্ট কল করতে দেয়।
Microsoft 365 পরিবেশ সেটআপ
স্বয়ংক্রিয়করণের জন্য আপনার Microsoft 365 পরিবেশ সঠিকভাবে কনফিগার করা অত্যন্ত গুরুত্বপূর্ণ। শুরু করতে এই ধাপগুলো অনুসরণ করুন:
- নিশ্চিত করুন আপনার সিস্টেম প্রয়োজনীয়তা পূরণ করে: PowerShell 7.2 বা তার পরবর্তী, .NET Framework 4.7.2 বা নতুন, এবং সর্বশেষ PowerShellGet মডিউল।
- উপরে দেখানো মতো Microsoft Graph PowerShell মডিউল ইনস্টল করুন।
- মডিউল ইমপোর্ট করে এবং প্রয়োজনীয় স্কোপ সহ প্রমাণীকরণ করে আপনার Microsoft 365 টেনান্টের সঙ্গে সংযুক্ত হন। উদাহরণ:
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"
এই কমান্ড আপনাকে সাইন ইন করতে বলবে এবং আপনার সেশনকে ব্যবহারকারী ও ডিরেক্টরি ডেটা পড়া ও লেখার অনুমতি দেবে। আপনার স্বয়ংক্রিয়করণের প্রয়োজন অনুযায়ী স্কোপ পরিবর্তন করা যায়।
অনুমতি ও স্কোপ বোঝা
অনুমতি ও স্কোপ নির্ধারণ করে আপনার স্ক্রিপ্ট Microsoft 365-এ কী অ্যাক্সেস বা পরিবর্তন করতে পারবে। Microsoft Graph API দুটি প্রধান অনুমতির ধরন ব্যবহার করে:
- Delegated অনুমতি: আপনি সাইন-ইন করা ব্যবহারকারী হিসেবে স্ক্রিপ্ট চালালে এগুলো প্রযোজ্য হয়। এগুলো ব্যবহারকারীর মালিকানাধীন বা অ্যাক্সেসযোগ্য ডেটায় সীমাবদ্ধতা আনে।
- Application অনুমতি: এগুলো আপনার অ্যাপ বা স্ক্রিপ্টকে সাইন-ইন করা ব্যবহারকারী ছাড়াই পুরো প্রতিষ্ঠান জুড়ে ডেটা অ্যাক্সেস করতে দেয়।
সাধারণ অনুমতির মধ্যে শুধু-পঠন অ্যাক্সেসের জন্য *.Read.All এবং সম্পূর্ণ পঠন ও লেখার সামর্থ্যের জন্য *.ReadWrite.All রয়েছে। উদাহরণস্বরূপ, SecurityActions.Read.All আপনাকে নিরাপত্তা কার্যক্রম দেখতে দেয়, আর SecurityActions.ReadWrite.All সেগুলো পরিবর্তনের অনুমতি দেয়।
Application অনুমতির জন্য অ্যাডমিন সম্মতি প্রয়োজন। নিরাপত্তা নিশ্চিত করতে একজন টেনান্ট অ্যাডমিনিস্ট্রেটরকে এগুলো অনুমোদন করতে হবে। এছাড়া, সংবেদনশীল ডেটা অ্যাক্সেসের জন্য ব্যবহারকারীর উপযুক্ত Microsoft Entra ভূমিকা থাকতে হবে, যেমন Security Reader। এই ভূমিকাভিত্তিক অ্যাক্সেস একটি অতিরিক্ত নিরাপত্তা স্তর যোগ করে।
Microsoft Graph PowerShell SDK দিয়ে সংযুক্ত হওয়ার সময় শুধু আপনার স্ক্রিপ্টের প্রয়োজনীয় স্কোপগুলো নির্দিষ্ট করুন। এই চর্চা সর্বনিম্ন সুবিধার নীতি মেনে চলে এবং নিরাপত্তা ঝুঁকি কমায়। মনে রাখবেন, আপনার অ্যাপকে দেওয়া অনুমতি ওই অ্যাপের সকল ব্যবহারকারীর জন্য প্রযোজ্য, তাই এগুলো নিয়মিত পর্যালোচনা ও ব্যবস্থাপনা করুন।
অনুমতি ও কনফিগারেশন সতর্কভাবে বুঝে ঠিক করলে আপনি আপনার পরিবেশ রক্ষা করেও PowerShell + Graph API দিয়ে শক্তিশালী স্বয়ংক্রিয়করণ সক্ষম করতে পারবেন।
Azure AD-তে অ্যাপ পরিচয়
নতুন অ্যাপ নিবন্ধন
PowerShell ও Graph API দিয়ে মাইক্রোসফ্ট ৩৬৫ কাজ স্বয়ংক্রিয় করতে প্রথমে আপনাকে Azure Active Directory (Azure AD)-তে একটি অ্যাপ্লিকেশন নিবন্ধন করতে হবে। এই অ্যাপ একটি পরিচয় হিসেবে কাজ করে, যা আপনার স্ক্রিপ্ট নিরাপদে Microsoft Graph-এ অ্যাক্সেসের জন্য ব্যবহার করে। আপনার অ্যাপ নিবন্ধনের জন্য এই ধাপগুলো অনুসরণ করুন:
- Azure পোর্টাল খুলুন এবং Azure Active Directory > App registrations > New registration-এ যান।
- আপনার অ্যাপকে একটি অর্থবহ নাম দিন, যেমন "My Graph App"।
- সমর্থিত অ্যাকাউন্টের ধরন বেছে নিন:
- 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)