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
আপনি দেখতে পাচ্ছেন, ActiveDirectory মডিউল লোড হয়েছে। যদি না হয়, এই কমান্ড ব্যবহার করে এটি আমদানি করুন:
Import-Module ActiveDirectory
আসুন PowerShell cmdlet গুলির তালিকা করি যা আপনাকে AD গ্রুপগুলি পরিচালনা করতে দেয়:
Get-Command -Module ActiveDirectory -Name "*Group*"
11টি cmdlet পাওয়া যায়:
- 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 গোষ্ঠীর বিবরণ এবং প্রদর্শনের নাম উল্লেখ করার জন্য গুণাবলী।
আপনি 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 গ্রুপ তৈরি করার সময়, আপনি যেকোনো বৈশিষ্ট্য পূরণ করতে পারেন। বিভিন্ন গ্রুপ অ্যাট্রিবিউটের মান সেট করার সবচেয়ে সহজ উপায় হল হ্যাশটেবলের মাধ্যমে:
$attrs = @{"mail"="[email protected]";"displayname"="ALL Munich Admins"}
New-ADGroup -Name MUNAdmins -GroupScope Global -OtherAttributes $attrs
Ad-AdGroupMember এর মাধ্যমে সক্রিয় ডিরেক্টরিতে ব্যবহারকারীদের যোগ করা
আপনি Add-AdGroupMember ব্যবহার করে একটি সক্রিয় ডিরেক্টরি গোষ্ঠীতে ব্যবহারকারীদের যোগ করতে পারেন cmdlet. নতুন গ্রুপে দুজন ব্যবহারকারী যোগ করা যাক:
Add-AdGroupMember -Identity TestADGroup -Members user1, user2
আপনি যদি একবারে একটি গোষ্ঠীতে বিপুল সংখ্যক ব্যবহারকারীকে যুক্ত করতে চান, তাহলে আপনি একটি CSV ফাইলে ব্যবহারকারীর নামের তালিকা সংরক্ষণ করতে পারেন, তারপরে এই ফাইলটি PowerShell-এ আমদানি করুন এবং একটি সাধারণ PowerShell স্ক্রিপ্ট ব্যবহার করে প্রতিটি ব্যবহারকারীকে গ্রুপে যোগ করুন৷
CSV ফাইলের বিন্যাসটি নিম্নরূপ হওয়া উচিত (ব্যবহারকারীদের অবশ্যই ব্যবহারকারীদের এর সাথে একটি সারিতে তালিকাভুক্ত করতে হবে কলাম হেডার হিসাবে)।
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 $_}
আপনি 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
ব্যবহারকারী অপসারণ নিশ্চিত করুন:
যদি আপনাকে একটি CSV ফাইল থেকে ব্যবহারকারীদের তালিকা অনুযায়ী একটি গ্রুপ থেকে ব্যবহারকারীদের সরাতে হয়, তাহলে এই কমান্ডটি ব্যবহার করুন:
Import-CSV .\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity ‘TestADGroup’ -members $_.users}
Add-ADGroupMember
ব্যবহার করে একটি গোষ্ঠী থেকে ব্যবহারকারীদের যুক্ত বা সরিয়ে দেবে। এবং Remove-ADGroupMember
cmdlets PowerShell-এর সাহায্যে অ্যাক্টিভ ডিরেক্টরিতে কীভাবে গতিশীল ব্যবহারকারী গোষ্ঠী তৈরি করতে হয় সে সম্পর্কে আরও জানুন। Get-ADGroup সহ সক্রিয় ডিরেক্টরি গোষ্ঠী খুঁজুন
Get-ADGroup cmdlet আপনাকে AD ডোমেইন গ্রুপ সম্পর্কে তথ্য পেতে সাহায্য করবে:
Get-ADGroup 'TestADGroup'
এই কমান্ডটি গ্রুপের প্রধান বৈশিষ্ট্য (DN, গ্রুপের ধরন, নাম, SID) সম্পর্কে তথ্য প্রদর্শন করে। সমস্ত গ্রুপ অ্যাট্রিবিউটের মান প্রদর্শন করতে, নিম্নলিখিত কমান্ডটি চালান:
Get-ADGroup 'TestADGroup' -properties *
আপনি দেখতে পাচ্ছেন, এই ধরনের গুণাবলী, যেমন গ্রুপ তৈরির সময় এবং পরিবর্তন, বর্ণনা ইত্যাদি, এখন প্রদর্শিত হয়৷
আপনি নিদর্শন দ্বারা 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
যদি এই গোষ্ঠীতে অন্যান্য ডোমেন গ্রুপ অন্তর্ভুক্ত থাকে, তাহলে পুনরাবৃত্ত ব্যবহার করুন সমস্ত নেস্টেড গ্রুপ সহ সদস্যদের সম্পূর্ণ তালিকা প্রদর্শনের জন্য প্যারামিটার।
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
একটি নির্দিষ্ট 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"="[email protected]";"displayname"="ALL MUN Admins"}
Set-ADGroup -Identity MunAdmins –Add $attrs
আপনি
get-adgroup munadmins -Properties *
সহ AD গ্রুপের বৈশিষ্ট্যগুলির একটি তালিকা পেতে পারেন অথবা ADUC কনসোলের অ্যাট্রিবিউটস এডিটর ট্যাব থেকে। অ্যাকটিভ ডিরেক্টরীতে কিভাবে PowerShell ব্যবহার করে একটি গ্রুপ মুছবেন-ADGroup?
অ্যাক্টিভ ডিরেক্টরিতে গোষ্ঠীগুলি সরাতে, Remove-ADGroup ব্যবহার করুন৷ cmdlet:
Remove-ADGroup -Identity MunSales
একটি গোষ্ঠী মুছে ফেলার সময়, আপনাকে মুছে ফেলার বিষয়টি নিশ্চিত করতে বলা হয়। অপসারণ নিশ্চিতকরণ অক্ষম করতে, নিশ্চিত করুন যোগ করুন সুইচ করুন:
Remove-ADGroup -Identity MunSales –Confirm:$false
Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*MunSales*' } –IncludeDeletedObjects| Restore-ADObject –verbose