কম্পিউটার টিউটোরিয়াল

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

Windows PowerShell-এর জন্য Active Directory মডিউল ডোমেন প্রশাসন, Active Directory-তে অবজেক্ট পরিচালনা এবং AD কম্পিউটার, ব্যবহারকারী, গ্রুপ ইত্যাদি সম্পর্কে বিভিন্ন তথ্য প্রাপ্তির একটি প্রধান টুল। যেকোনো Windows প্রশাসকের জন্য AD গ্রাফিক্যাল স্ন্যাপ-ইন (সাধারণত ADUC - Active Directory Users & Computers) এবং RSAT-AD-PowerShell মডিউলের কমান্ডলেট উভয়ই ব্যবহার জানা অপরিহার্য, যাতে দৈনন্দিন Active Directory প্রশাসনিক কাজগুলি সম্পাদন করা যায়। এই লেখায় আমরা Windows-এ PowerShell Active Directory মডিউল ইনস্টল করার পদ্ধতি, এর মৌলিক বৈশিষ্ট্য এবং AD পরিচালনা ও ইন্টারঅ্যাকশনের জন্য ব্যবহারিক জনপ্রিয় কমান্ডলেটগুলি নিয়ে আলোচনা করব।

Windows Server-এ PowerShell Active Directory মডিউল ইনস্টল করা

Windows Server অপারেটিং সিস্টেমে (Windows Server 2008 R2 থেকে শুরু করে) Active Directory for Windows PowerShell বিল্ট-ইন থাকে, কিন্তু ডিফল্টভাবে সক্ষম থাকে না।

Windows Server 2016-এ, Server Manager-থেকে (Add Roles and Features → Features → Remote Server Administration Tools → Role Administration Tools → AD DS and AD LDS Tools → Active Directory module for Windows PowerShell) AD PowerShell মডিউল ইনস্টল করা যায়।

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

PowerShell কনসোল থেকে নিচের কমান্ড দিয়েও মডিউলটি ইনস্টল করা সম্ভব:

Install-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

RSAT-AD-PowerShell শুধু ডোমেন কন্ট্রোলারেই নয়, যেকোনো ডোমেন মেম্বার সার্ভার বা এমনকি ওয়ার্কস্টেশনেও ইনস্টল করা যায়। Active Directory Domain Services (AD DS) রোল ডিপ্লয় করার সময় (সার্ভারকে AD ডোমেন কন্ট্রোলার হিসেবে প্রমোট করার সময়) PowerShell Active Directory মডিউল স্বয়ংক্রিয়ভাবে ইনস্টল হয়।

মডিউলটি Active Directory Web Service-এর মাধ্যমে AD-এর সাথে যোগাযোগ করে, যা আপনার ডোমেন কন্ট্রোলারে ইনস্টল থাকা বাধ্যতামূলক (যোগাযোগ TCP পোর্ট 9389-এর মাধ্যমে হয়)।

Windows 10-এ PowerShell Active Directory মডিউল ইনস্টল করার পদ্ধতি

RSAT-AD-PowerShell মডিউলটি শুধু Windows Server-এ নয়, আপনার ওয়ার্কস্টেশনেও ইনস্টল করা যায়। এই মডিউলটি RSAT (Remote Server Administration Tools) প্যাকেজের অংশ, যা Windows 7, Windows 8.1-এ ম্যানুয়ালি ডাউনলোড ও ইনস্টল করতে হয়। RSAT ইনস্টল করার পর Control Panel থেকে (Control Panel → Programs and Features → Turn Windows features on or off → Remote Server Administration Tools → Role Administration Tools → AD DS and AD LDS Tools) PowerShell-এর জন্য Active Directory মডিউল ইনস্টল করা যায়।

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

Windows 10 বিল্ড 1809 বা নতুন ভার্সনে RSAT প্যাকেজ Windows ইমেজের সাথে ইন্টিগ্রেটেড থাকে (Features on Demand হিসেবে), তাই নিচের PowerShell কমান্ড দিয়ে Active Directory মডিউল ইনস্টল করা যায়:

Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”

RSAT ইনস্টল না করেই Windows 10-এ PowerShell ActiveDirectory মডিউল ডিপ্লয় করার উপায়ও আছে।

Active Directory PowerShell কমান্ডলেটসমূহ

Windows PowerShell-এর জন্য Active Directory মডিউলে AD-এর সাথে ইন্টারঅ্যাকশনের জন্য প্রচুর কমান্ডলেট রয়েছে। প্রতিটি নতুন RSAT ভার্সনে আগের চেয়ে বেশি কমান্ডলেট যোগ হয়। Windows Server 2016-এ Active Directory-এর জন্য ১৪৭টি PowerShell কমান্ডলেট উপলব্ধ।

Active Directory মডিউলের কমান্ডলেট ব্যবহার করার আগে সেটি আপনার PowerShell সেশনে ইম্পোর্ট করতে হয় (Windows Server 2012 R2/ Windows 8.1 এবং নতুন ভার্সনে মডিউলটি স্বয়ংক্রিয়ভাবে ইম্পোর্ট হয়)।

Import-Module ActiveDirectory

যদি আপনার কম্পিউটারে Active Directory মডিউল ইনস্টল না থাকে, তবে আপনি আপনার ডোমেন কন্ট্রোলার থেকে (ডোমেন অ্যাডমিন 특াধিকার দরকার) বা অন্য কোনো ডেস্কটপ কম্পিউটার থেকে এটি ইম্পোর্ট করতে পারেন:

$psSess = New-PSSession -ComputerName DC_or_Comp_with_ADPoSh_installed
Import-Module -PSsession $psSess -Name ActiveDirectory

উপলব্ধ সমস্ত Active Directory কমান্ডলেটের তালিকা দেখার কমান্ড:

Get-Command –module ActiveDirectory

AD মডিউলে মোট কমান্ডলেট সংখ্যা জানার জন্য:

Get-Command –module ActiveDirectory |measure-object|select count

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

RSAT-AD-PowerShell কমান্ডলেটের অধিকাংশ Get-, Set- বা New- প্রিফিক্স দিয়ে শুরু হয়।

  • Get- ক্লাসের কমান্ডলেট AD থেকে বিভিন্ন তথ্য প্রাপ্তির জন্য ব্যবহৃত হয় (Get-ADUser — ব্যবহারকারীর প্রপার্টি, Get-ADComputer – কম্পিউটার সেটিংস, Get-ADGroupMember — গ্রুপ মেম্বারশিপ ইত্যাদি)। এগুলো চালাতে ডোমেন অ্যাডমিন হতে হয় না। যেকোনো ডোমেন ব্যবহারকারী AD অবজেক্টের অ্যাট্রিবিউটের মান পাওয়ার জন্য PowerShell কমান্ড চালাতে পারে (গোপনীয় অ্যাট্রিবিউট বাদে, যেমন LAPS-এ);
  • Set- ক্লাসের কমান্ডলেট AD-এ অবজেক্ট সেটিংস পরিবর্তনের জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, ব্যবহারকারীর প্রপার্টি পরিবর্তন (Set-ADUser), কম্পিউটার সেটিংস (Set-ADComputer), গ্রুপে ব্যবহারকারী যোগ করা ইত্যাদি। এর জন্য আপনার অ্যাকাউন্টে অবজেক্ট প্রপার্টি মডিফাই করার পারমিশন থাকতে হবে (দেখুন: How to Delegate Administrator Privileges in Active Directory);
  • New- দিয়ে শুরু হওয়া কমান্ডলেট AD অবজেক্ট তৈরি করতে সাহায্য করে (ব্যবহারকারী তৈরি — New-ADUser, গ্রুপ তৈরি — New-ADGroup);
  • Remove- কমান্ডলেট AD অবজেক্ট ডিলিট করতে ব্যবহৃত হয়।

যেকোনো কমান্ডলেটের হেল্প পাওয়ার পদ্ধতি:

get-help Set-ADUser

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

Active Directory কমান্ডলেটের ব্যবহার উদাহরণ দেখার জন্য:

(get-help New-ADComputer).examples

PowerShell ISE-এ কমান্ডলেট প্যারামিটার টাইপ করার সময় পপ-আপ হিন্ট ব্যবহার করা খুব সুবিধাজনক।

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

RSAT-AD-PowerShell মডিউল দিয়ে Active Directory প্রশাসন

আমরা এখন একজন প্রশাসকের কিছু সাধারণ কাজ দেখব যা Active Directory for PowerShell কমান্ডলেট দিয়ে করা যায়।

WOSHub ওয়েবসাইটে AD PowerShell কমান্ডলেট ব্যবহারের কিছু उपयोगিক উদাহরণ পাওয়া যাবে। বিস্তারিত নির্দেশনা পেতে লিংকগুলি ফলো করুন।

New-ADUser: AD ব্যবহারকারী তৈরি করা

নতুন AD ব্যবহারকারী তৈরি করতে New-ADUser কমান্ডলেট ব্যবহার করা যায়। নিচের কমান্ড দিয়ে ব্যবহারকারী তৈরি করা যায়:

New-ADUser -Name "Mila Beck" -GivenName "Mila" -Surname "Beck" -SamAccountName "mbeck" -UserPrincipalName "mbeck@woshub.com" -Path "OU=Users,OU=Berlin,OU=DE,DC=woshub,DC=com" -AccountPassword(Read-Host -AsSecureString "Input User Password") -Enabled $true

New-ADUser কমান্ডলেট সম্পর্কে বিস্তারিত জানতে (বাল্কে ডোমেন ইউজার অ্যাকাউন্ট তৈরির উদাহরণসহ) এই আর্টিকেলটি দেখুন।

Get-ADComputer: কম্পিউটার প্রপার্টি পাওয়া

নির্দিষ্ট OU-এ কম্পিউটার প্রপার্টি সম্পর্কে তথ্য দেখতে (কম্পিউটার নাম এবং শেষ লগঅন তারিখ), Get-ADComputer কমান্ডলেট ব্যবহার করুন:

Get-ADComputer -SearchBase ‘OU=CA,OU=USA,DC=woshub,DC=com’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Add-AdGroupMember: AD ব্যবহারকারীকে গ্রুপে যোগ করা

আপনার AD ডোমেনে বিদ্যমান একটি সিকিউরিটি গ্রুপে ব্যবহারকারী যোগ করতে নিচের কমান্ড চালান:

Add-AdGroupMember -Identity LondonSales -Members e.braun, l.wolf

AD গ্রুপের ব্যবহারকারীদের তালিকা দেখে CSV ফাইলে এক্সপোর্ট করা:

Get-ADGroupMember LondonSales -recursive| ft samaccountname| Out-File c:\ps\export_ad_users.csv

PowerShell দিয়ে AD গ্রুপ পরিচালনা সম্পর্কে আরও জানুন।

Set-ADAccountPassword: AD-এ ব্যবহারকারীর পাসওয়ার্ড রিসেট করা

PowerShell থেকে AD ব্যবহারকারীর পাসওয়ার্ড রিসেট করতে নিচের কমান্ড চালান:

Set-ADAccountPassword m.lorenz -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “Ne8Pa$$0rd1” -Force -Verbose) –PassThru

AD অ্যাকাউন্ট আনলক, এনাবল ও ডিজেবল করার পদ্ধতি

AD ব্যবহারকারী অ্যাকাউন্ট ডিজেবল করতে:

Disable-ADAccount m.lorenz

অ্যাকাউন্ট এনাবল করতে:

Enable-ADAccount m.lorenz

ডোমেন পাসওয়ার্ড পলিসি দ্বারা ব্লক হওয়ার পর অ্যাকাউন্ট আনলক করতে:

Unlock-ADAccount m.lorenz

Search-ADAccount: নিষ্ক্রিয় ও ডিজেবল্ড অবজেক্ট খুঁজে বের করা

AD ডোমেনে যেসব কম্পিউটার ৯০ দিনের বেশি সময় ধরে লগঅন করেনি, সেগুলো খুঁজে বের করে ডিজেবল করতে Search-ADAccount কমান্ডলেট ব্যবহার করুন:

$timespan = New-Timespan –Days 90
Search-ADAccount -AccountInactive -ComputersOnly –TimeSpan $timespan | Disable-ADAccount

New-ADOrganizationalUnit: AD-এ Organizational Unit তৈরি করা

AD-এ একটি সাধারণ Organizational Unit কাঠামো দ্রুত তৈরি করতে PowerShell স্ক্রিপ্ট ব্যবহার করা যায়। ধরুন, আপনি স্টেটের নামে একাধিক OU এবং সেগুলোতে সাধারণ অবজেক্ট কন্টেইনার তৈরি করতে চান। গ্রাফিক্যাল ADUC স্ন্যাপ-ইন দিয়ে ম্যানুয়ালি এই AD কাঠামো তৈরি করা খুব সময়সাপেক্ষ। PowerShell-এর AD মডিউল দিয়ে এটি সেকেন্ডগুলোতে করা যায় (স্ক্রিপ্ট লেখার সময় বাদে):

$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(".")
$Dom = $domain[0]
$Ext = $domain[1]
$Sites = ("Nevada","Texas","California","Florida")
$Services = ("Users","Admins","Computers","Servers","Contacts","Service Accounts")
$FirstOU ="USA"
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path "DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($S in $Sites)
{
New-ADOrganizationalUnit -Name $S -Description "$S" -Path "OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($Serv in $Services)
{
New-ADOrganizationalUnit -Name $Serv -Description "$S $Serv" -Path "OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
}
}

স্ক্রিপ্ট চালানোর পর Active Directory-তে নিচের OU কাঠামো তৈরি হয়।

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

AD কন্টেইনারগুলির মধ্যে অবজেক্ট সরাতে Move-ADObject কমান্ডলেট ব্যবহার করা যায়:

$TargetOU = "OU=Sales,OU=Computers,DC=woshub,DC=com"
Get-ADComputer -Filter 'Name -like "SalesPC*"' | Move-ADObject -TargetPath $TargetOU

Get-ADReplicationFailure: AD রেপ্লিকেশন ফেইলার চেক করা

Get-ADReplicationFailure কমান্ডলেট ব্যবহার করে AD ডোমেন কন্ট্রোলারগুলোর মধ্যে রেপ্লিকেশনের অবস্থা চেক করা যায়:

Get-ADReplicationFailure -Target NY-DC01,NY-DC02

ডোমেনের সব DC সম্পর্কে তথ্য পেতে Get-AdDomainController কমান্ডলেট ব্যবহার করুন:

Get-ADDomainController –filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table –auto

Windows PowerShell-এ Active Directory মডিউল ইনস্টল ও ব্যবহার করার পদ্ধতি

এভাবে আমরা Active Directory PowerShell মডিউলের মৌলিক বৈশিষ্ট্যগুলো দেখেছি AD ডোমেন প্রশাসনের জন্য। আশা করি এটি আপনাকে মডিউলের অন্যান্য বৈশিষ্ট্য এক্সপ্লোর করতে এবং AD পরিচালনার অধিকাংশ কাজ অটোমেট করতে অনুপ্রাণিত করবে।

  1. উইন্ডোজ ৮ এবং ১০-এ উইন্ডোজ আপডেট ট্রাবলশুটার ব্যবহার করার পদ্ধতি

  2. উইন্ডোজ ১০-এ Active Directory সক্ষম করা: ধাপে ধাপে সম্পূর্ণ গাইড

  3. উইন্ডোজ ১০-এ WGET ইনস্টল ও ব্যবহার: নতুনদের জন্য সম্পূর্ণ গাইড

  4. Windows 11-এ PowerShell ইনস্টল ও আপডেট করুন: ধাপে ধাপে গাইড