কম্পিউটার

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

Active Directory Users and Computer (ADUC) গ্রাফিকাল স্ন্যাপ-ইন অ্যাক্টিভ ডিরেক্টরিতে নিরাপত্তা গোষ্ঠী পরিচালনার একমাত্র হাতিয়ার নয়। আপনি আপনার অ্যাক্টিভ ডিরেক্টরি ডোমেনে ব্যবহারকারী গোষ্ঠীগুলির দৈনন্দিন পরিচালনার জন্য সাধারণ PowerShell কমান্ড ব্যবহার করতে পারেন। এই নিবন্ধে, আমরা কীভাবে AD এ একটি নতুন গোষ্ঠী তৈরি করতে PowerShell ব্যবহার করতে হয়, এতে ব্যবহারকারীদের যুক্ত করতে (বা মুছে ফেলতে), গ্রুপ ব্যবহারকারীদের একটি তালিকা প্রদর্শন/রপ্তানি করতে এবং অন্যান্য দরকারী কমান্ডগুলি যা প্রায়শই AD পরিচালনা করার সময় ব্যবহৃত হয় তা দেখব। গ্রুপ

AD গোষ্ঠীগুলি পরিচালনা করতে, আপনি Windows PowerShell-এর জন্য সক্রিয় ডিরেক্টরি মডিউল ব্যবহার করতে পারেন। RSAT-AD-PowerShell মডিউলটি Windows সার্ভারের সমস্ত সংস্করণে উপলব্ধ (Windows Server 2008R2 দিয়ে শুরু), এবং এটি Windows 10 এবং Windows 11 ডেস্কটপে RSAT বৈশিষ্ট্য হিসাবে ইনস্টল করা যেতে পারে৷

বর্তমান PowerShell সেশনে AD মডিউল লোড হয়েছে কিনা তা পরীক্ষা করুন:

Get-Module -Listavailable

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

আপনি দেখতে পাচ্ছেন, ActiveDirectory মডিউল লোড হয়েছে। যদি না হয়, এই কমান্ড ব্যবহার করে এটি আমদানি করুন:

Import-Module ActiveDirectory

আসুন PowerShell cmdlet গুলির তালিকা করি যা আপনাকে AD গ্রুপগুলি পরিচালনা করতে দেয়:

Get-Command -Module ActiveDirectory -Name "*Group*"

11টি cmdlet পাওয়া যায়:

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

  • Add-ADGroupMember
  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Get-ADGroup
  • গেট-ADGroupMember
  • পান-ADPrincipalGroupMembership
  • নতুন-ADGroup
  • -ADGroup সরান
  • -ADGroupMember সরান
  • -ADPrincipalGroupMembership সরান
  • সেট-ADGroup

নতুন-এডি গ্রুপ:পাওয়ারশেল দিয়ে একটি নতুন এডি গ্রুপ তৈরি করা

New-ADGroup ব্যবহার করে নির্দিষ্ট অ্যাক্টিভ ডিরেক্টরি কন্টেইনারে (OU) একটি নতুন নিরাপত্তা গোষ্ঠী তৈরি করুন কমান্ড:

New-ADGroup "TestADGroup" -path 'OU=Groups,OU=NY,OU=US,DC=corp,dc=woshub,DC=com' -GroupScope Global -PassThru –Verbose

আপনি বিবরণ ব্যবহার করতে পারেন এবং DisplayName গোষ্ঠীর বিবরণ এবং প্রদর্শনের নাম উল্লেখ করার জন্য গুণাবলী।

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

আপনি GroupScope ব্যবহার করতে পারেন প্যারামিটার নিম্নলিখিত ধরণের গ্রুপগুলির মধ্যে একটি সেট করতে পারে:

  • 0 =DomainLocal
  • 1 =বিশ্বব্যাপী
  • 2 =সর্বজনীন

আপনি নিম্নরূপ একটি বিতরণ গ্রুপ তৈরি করতে পারেন:

New-ADGroup "TestADGroup-Distr" -path 'OU=Groups,OU=NY,OU=US,DC=corp,dc=woshub,DC=com' -GroupCategory Distribution -GroupScope Global -PassThru –Verbose

ডিস্ট্রিবিউশন গ্রুপ ইমেল পাঠাতে এবং/অথবা AD অনুমতি প্রদান করতে ব্যবহার করা যেতে পারে। এখানে এক্সচেঞ্জ ডিস্ট্রিবিউশন গ্রুপ সম্পর্কে আরও জানুন।

একটি AD গ্রুপ তৈরি করার সময়, আপনি যেকোনো বৈশিষ্ট্য পূরণ করতে পারেন। বিভিন্ন গ্রুপ অ্যাট্রিবিউটের মান সেট করার সবচেয়ে সহজ উপায় হল হ্যাশটেবলের মাধ্যমে:

$attrs = @{"mail"="mundmins@woshub.com";"displayname"="ALL Munich Admins"}
New-ADGroup -Name MUNAdmins -GroupScope Global -OtherAttributes $attrs

Ad-AdGroupMember এর মাধ্যমে সক্রিয় ডিরেক্টরিতে ব্যবহারকারীদের যোগ করা

আপনি Add-AdGroupMember ব্যবহার করে একটি সক্রিয় ডিরেক্টরি গোষ্ঠীতে ব্যবহারকারীদের যোগ করতে পারেন cmdlet. নতুন গ্রুপে দুজন ব্যবহারকারী যোগ করা যাক:

Add-AdGroupMember -Identity TestADGroup -Members user1, user2

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

আপনি যদি একবারে একটি গোষ্ঠীতে বিপুল সংখ্যক ব্যবহারকারীকে যুক্ত করতে চান, তাহলে আপনি একটি CSV ফাইলে ব্যবহারকারীর নামের তালিকা সংরক্ষণ করতে পারেন, তারপরে এই ফাইলটি PowerShell-এ আমদানি করুন এবং একটি সাধারণ PowerShell স্ক্রিপ্ট ব্যবহার করে প্রতিটি ব্যবহারকারীকে গ্রুপে যোগ করুন৷

CSV ফাইলের বিন্যাসটি নিম্নরূপ হওয়া উচিত (ব্যবহারকারীদের অবশ্যই ব্যবহারকারীদের এর সাথে একটি সারিতে তালিকাভুক্ত করতে হবে কলাম হেডার হিসাবে)।

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

Import-CSV .\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity ‘TestADGroup’ -members $_.users}

একটি গ্রুপের (গ্রুপএক্স) সমস্ত সদস্য পেতে এবং তাদের অন্য গ্রুপে (গ্রুপওয়াই) যোগ করতে, এই কমান্ডটি ব্যবহার করুন:

Get-ADGroupMember “GroupX” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “Group-Y” -Members $_}

আপনি যদি সমস্ত নেস্টেড গ্রুপের সদস্যদের একটি নতুন গ্রুপে অনুলিপি করতে চান (পুনরাবৃত্তভাবে), এই কমান্ডটি চালান:

Get-ADGroupMember -Identity “GroupX” -Recursive | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “GroupY” -Members $_}

পূর্ববর্তী নিবন্ধে, আমরা একটি পাওয়ারশেল স্ক্রিপ্ট দেখিয়েছি যা আপনাকে একজন ব্যবহারকারীর কাছ থেকে AD গ্রুপ সদস্যতা অনুলিপি করতে এবং একই গ্রুপের তালিকায় অন্যটিকে যুক্ত করতে দেয়।

আপনি Windows2016Forest স্কিমা এবং নতুন সহ অ্যাক্টিভ ডিরেক্টরিতে অস্থায়ী (সময়-ভিত্তিক) গ্রুপ সদস্যতা বৈশিষ্ট্যটি ব্যবহার করতে পারেন। সাময়িকভাবে AD গ্রুপে একজন ব্যবহারকারীকে যুক্ত করতে (উদাহরণস্বরূপ, 1 ঘন্টার জন্য), কমান্ডটি চালান:

$ttl = New-TimeSpan -Minutes 60
Add-ADGroupMember -Identity "Domain Admins" -Members j.lennon -MemberTimeToLive $ttl

এক ঘন্টা পরে, এই ব্যবহারকারীকে এই নিরাপত্তা গোষ্ঠী থেকে স্বয়ংক্রিয়ভাবে সরিয়ে দেওয়া হবে৷

Remove-ADGroupMember:PowerShell দিয়ে AD গ্রুপ থেকে ব্যবহারকারীদের সরানো হচ্ছে

AD গোষ্ঠী থেকে ব্যবহারকারীদের সরাতে, Remove-ADGroupMember ব্যবহার করুন cmdlet. গ্রুপ থেকে দুজন ব্যবহারকারীকে সরিয়ে দেওয়া যাক:

Remove-ADGroupMember -Identity TestADGroup -Members user1, user2

ব্যবহারকারী অপসারণ নিশ্চিত করুন:

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

যদি আপনাকে একটি CSV ফাইল থেকে ব্যবহারকারীদের তালিকা অনুযায়ী একটি গ্রুপ থেকে ব্যবহারকারীদের সরাতে হয়, তাহলে এই কমান্ডটি ব্যবহার করুন:

Import-CSV .\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity ‘TestADGroup’ -members $_.users}

আপনি অন-প্রিমিসেস অ্যাক্টিভ ডিরেক্টরিতে (Azure AD এর বিপরীতে) গতিশীল ব্যবহারকারী গোষ্ঠী ব্যবহার করতে পারবেন না। যাইহোক, আপনি একটি নির্ধারিত PowerShell স্ক্রিপ্ট তৈরি করতে পারেন যা স্বয়ংক্রিয়ভাবে Add-ADGroupMember ব্যবহার করে একটি গোষ্ঠী থেকে ব্যবহারকারীদের যুক্ত বা সরিয়ে দেবে। এবং Remove-ADGroupMember cmdlets PowerShell-এর সাহায্যে অ্যাক্টিভ ডিরেক্টরিতে কীভাবে গতিশীল ব্যবহারকারী গোষ্ঠী তৈরি করতে হয় সে সম্পর্কে আরও জানুন।

Get-ADGroup সহ সক্রিয় ডিরেক্টরি গোষ্ঠী খুঁজুন

Get-ADGroup cmdlet আপনাকে AD ডোমেইন গ্রুপ সম্পর্কে তথ্য পেতে সাহায্য করবে:

Get-ADGroup 'TestADGroup'

এই কমান্ডটি গ্রুপের প্রধান বৈশিষ্ট্য (DN, গ্রুপের ধরন, নাম, SID) সম্পর্কে তথ্য প্রদর্শন করে। সমস্ত গ্রুপ অ্যাট্রিবিউটের মান প্রদর্শন করতে, নিম্নলিখিত কমান্ডটি চালান:

Get-ADGroup 'TestADGroup' -properties *

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

আপনি দেখতে পাচ্ছেন, এই ধরনের গুণাবলী, যেমন গ্রুপ তৈরির সময় এবং পরিবর্তন, বর্ণনা ইত্যাদি, এখন প্রদর্শিত হয়৷

আপনি নিদর্শন দ্বারা AD-তে গোষ্ঠী অনুসন্ধান করতে Get-ADGroup cmdlet ব্যবহার করতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডগুলি প্রশাসক বাক্যাংশ ধারণ করে এমন সমস্ত AD গ্রুপগুলি খুঁজে পেতে ব্যবহার করা যেতে পারে তাদের নামে:

Get-ADGroup -LDAPFilter “(name=*admins*)” | Format-Table

অথবা:

Get-ADGroup -Filter {name -like "*admins*"} -Properties Description,info | Select Name,samaccountname,Description,info নির্বাচন করুন

Get-ADGroup ব্যবহার করে, আপনি গ্রুপ সদস্যদের একটি তালিকা পেতে পারেন (সদস্যদের মধ্যে সংরক্ষিত বৈশিষ্ট্য):

Get-ADGroup -Identity "Domain Admins" -Properties members | Select-Object -ExpandProperty members

যাইহোক, Get-ADGroupMember ব্যবহার করা অনেক বেশি সুবিধাজনক গ্রুপ মেম্বারশিপ পেতে cmdlet।

Get-ADGroupMember:কিভাবে অ্যাক্টিভ ডিরেক্টরি গ্রুপের সদস্যদের পেতে এবং রপ্তানি করবেন?

Get-ADGroupMember cmdlet আপনাকে একটি AD গ্রুপের সদস্যদের পেতে দেয়। এগুলি ব্যবহারকারী, কম্পিউটার, অন্যান্য গোষ্ঠী বা পরিচালিত পরিষেবা অ্যাকাউন্ট (MSA/gMSA) হতে পারে।

Get-ADGroupMember 'TestADGroup'

ফলাফলে শুধুমাত্র ব্যবহারকারীর নাম প্রদর্শন করতে, চালান:

Get-ADGroupMember 'TestADGroup'| ft name

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

যদি এই গোষ্ঠীতে অন্যান্য ডোমেন গ্রুপ অন্তর্ভুক্ত থাকে, তাহলে পুনরাবৃত্ত ব্যবহার করুন সমস্ত নেস্টেড গ্রুপ সহ সদস্যদের সম্পূর্ণ তালিকা প্রদর্শনের জন্য প্যারামিটার।

Get-ADGroupMember ADadmins -recursive| ft name

একটি CSV ফাইলে (এক্সেল আরও ব্যবহারের জন্য) একটি নির্দিষ্ট গোষ্ঠীর সদস্য হওয়া অ্যাকাউন্টগুলির তালিকা রপ্তানি করতে, নিম্নলিখিত কমান্ডটি চালান:

Get-ADGroupMember 'ADadmins' -recursive| ft samaccountname| Out-File c:\PS\ADadminsList.csv

আপনি একটি টেক্সট ফাইলে একটি গ্রুপের ব্যবহারকারীদের সম্পর্কে তথ্য রপ্তানি করতে পারেন। Get-ADUser cmdlet একটি ব্যবহারকারীর বর্ধিত বৈশিষ্ট্য পেতে ব্যবহার করা হয়। উদাহরণস্বরূপ, অ্যাকাউন্টের নাম ছাড়াও, আপনি গ্রুপ ব্যবহারকারীদের UserPrincipalName, অবস্থান এবং ফোন নম্বর প্রদর্শন করতে পারেন:

Get-ADGroupMember -Identity ADadmins -recursive| foreach { Get-ADUser $_ -properties title, OfficePhone|Select-Object title, OfficePhone }

আপনি এইভাবে একটি গ্রুপে ব্যবহারকারীর সংখ্যা গণনা করতে পারেন:

(Get-ADGroupMember -Identity 'domain admins').Count

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

একটি নির্দিষ্ট OU-তে খালি গোষ্ঠীর তালিকা পেতে, এই কমান্ডটি ব্যবহার করুন:

Get-ADGroup -Filter * -Properties Members -searchbase “OU=NY,OU-US,DC=corp,dc=woshub,DC=com”  | where {-not $_.members} | select Name

Get-ADGroupMember cmdlet একটি সাধারণ PowerShell স্ক্রিপ্ট তৈরি করতে ব্যবহার করা যেতে পারে যা একজন প্রশাসককে সূচিত করে যে কেউ একটি নির্দিষ্ট AD গ্রুপে একজন নতুন ব্যবহারকারীকে যুক্ত করেছে।

সেট-এডিগ্রুপ:অ্যাক্টিভ ডিরেক্টর গ্রুপ অ্যাট্রিবিউট পরিবর্তন করা হচ্ছে

সেট-ADGroup cmdlet আপনাকে যেকোনো অ্যাক্টিভ ডিরেক্টরি গ্রুপের বৈশিষ্ট্য (গুণাবলী) পরিবর্তন করতে দেয়। উদাহরণস্বরূপ, আপনি একটি গ্রুপের বিবরণ এবং নাম পরিবর্তন করতে পারেন:

Set-ADGroup -Identity MunAdmins -Description “Munich Admins Group”

অথবা:

Get-ADGroup -Identity MunAdmins | Set-ADGroup -Description “Munich Admins Group”

এক্সচেঞ্জ GAL থেকে একটি নির্দিষ্ট গ্রুপ লুকান:

Set-ADGroup –id MunAdmins -replace @{hideDLMembership=$true}

আপনি একসাথে একাধিক গ্রুপ বৈশিষ্ট্য পরিবর্তন করতে পারেন। হ্যাশটেবল ব্যবহার করে পরিবর্তনের তালিকা সেট করা সুবিধাজনক:

$attrs = @{"mail"="munadmins@woshub.com";"displayname"="ALL MUN Admins"}
Set-ADGroup -Identity MunAdmins –Add $attrs

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

আপনি  get-adgroup munadmins -Properties * সহ AD গ্রুপের বৈশিষ্ট্যগুলির একটি তালিকা পেতে পারেন অথবা ADUC কনসোলের অ্যাট্রিবিউটস এডিটর ট্যাব থেকে।

অ্যাকটিভ ডিরেক্টরীতে কিভাবে PowerShell ব্যবহার করে একটি গ্রুপ মুছবেন-ADGroup?

অ্যাক্টিভ ডিরেক্টরিতে গোষ্ঠীগুলি সরাতে, Remove-ADGroup ব্যবহার করুন৷ cmdlet:

Remove-ADGroup -Identity MunSales

PowerShell এর মাধ্যমে সক্রিয় ডিরেক্টরি গ্রুপ পরিচালনা করা

একটি গোষ্ঠী মুছে ফেলার সময়, আপনাকে মুছে ফেলার বিষয়টি নিশ্চিত করতে বলা হয়। অপসারণ নিশ্চিতকরণ অক্ষম করতে, নিশ্চিত করুন যোগ করুন সুইচ করুন:

Remove-ADGroup -Identity MunSales –Confirm:$false

সরানো গ্রুপ (এবং অন্যান্য AD অবজেক্ট) সক্রিয় ডিরেক্টরি রিসাইকেল বিন থেকে পুনরুদ্ধার করা যেতে পারে:

Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*MunSales*' } –IncludeDeletedObjects| Restore-ADObject –verbose


  1. কিভাবে PowerShell দিয়ে ক্র্যাশ বা বন্ধ অ্যাপ/প্রসেস স্বয়ংক্রিয়ভাবে পুনরায় চালু করবেন?

  2. কিভাবে একটি সক্রিয় ডিরেক্টরি ডোমেন নাম পুনঃনামকরণ করবেন?

  3. RSAT ইনস্টল না করে PowerShell সক্রিয় ডিরেক্টরি মডিউল স্থাপন করুন

  4. PowerShell দিয়ে এক্সেল ফাইলে ডেটা পড়ুন এবং লিখুন