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

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

প্রশাসকদের প্রায়শই দ্রুত একটি রিমোট উইন্ডোজ কম্পিউটারে কে লগ অন করা আছে তা খুঁজে বের করতে হয়। এই নিবন্ধে আমরা কিছু টুল এবং PowerShell স্ক্রিপ্ট দেখাব যা রিমোট কম্পিউটারে লগ অন করা ব্যবহারকারীদের নাম পেতে সাহায্য করবে।

PSLoggedOn এবং Qwinsta দিয়ে লগড-ইন ইউজার চেক করা

Microsoft-এর SysInternals PSTools-এ একটি কনসোল ইউটিলিটি আছে PSLoggedOn.exe যা রিমোট কম্পিউটারে লগ অন করা ব্যবহারকারীর নাম পেতে এবং সেটিতে কানেক্ট করা SMB সেশন তালিকা পেতে ব্যবহার করা যায়।

টুলটি ডাউনলোড করুন এবং চালান:

psloggedon \\RemoteCompName

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

দেখুন, টুলটি লোকালি লগ অন করা ব্যবহারকারীর নাম (Users logged on locally) এবং এই কম্পিউটারের SMB রিসোর্স নেটওয়ার্ক経由 অ্যাক্সেস করার ব্যবহারকারীদের তালিকা (Users logged on via resource shares) রিটার্ন করেছে।

যদি আপনি শুধু লোকালি লগ অন করা ব্যবহারকারীর নাম চান, তবে -l অপশন ব্যবহার করুন:

Psloggedon.exe \\pc1215wks1 –l

PSLoggedOn রেজিস্ট্রি সাথে কানেক্ট হয়ে লোকালি লগ অন করা ব্যবহারকারীর নাম চেক করে। এর জন্য RemoteRegistry সার্ভিস চলমান থাকতে হবে। PowerShell ব্যবহার করে সার্ভিস চালু এবং অটোমেটিক স্টার্টআপ কনফিগার করা যাবে:

Set-Service RemoteRegistry –startuptype automatic –passthru
Start-Service RemoteRegistry

আপনি বিল্ট-ইন qwinsta টুল ব্যবহার করে রিমোট কম্পিউটারে সেশন তালিকাও পেতে পারেন। এই টুলটি Remote Desktop Services (RDS) টার্মিনাল এনভায়রনমেন্ট ম্যানেজ করার যেকোনো অ্যাডমিনিস্ট্রেটরের কাছে পরিচিত। রিমোট কম্পিউটার থেকে লগড-ইন ইউজার সেশন তালিকা পেতে কমান্ড চালান:

qwinsta /server:be-rdsh01

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

টুলটি সব সেশন (RDP টাইমআউট দিয়ে ডিসকানেক্টেড সহ এক্টিভ এবং ডিসকানেক্টেড) রিটার্ন করে RDS সার্ভার বা ডেস্কটপ উইন্ডোজ ১০ (১১) এডিশনে (যদি আপনি একাধিক RDP কানেকশন সক্ষম করে থাকেন)।

যদি qwinsta দিয়ে রিমোট সার্ভার কানেক্ট করার সময় Error 5 Access Denied পান, তবে নিশ্চিত করুন রিমোট হোস্ট RPC দিয়ে রিমোটলি ইউজার ম্যানেজ করার অনুমতি দেয়। প্রয়োজনে রেজিস্ট্রি বা GPO ব্যবহার করে সক্ষম করুন:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "AllowRemoteRPC" /t "REG_DWORD" /d "1" /f

PowerShell ব্যবহার করে রিমোট কম্পিউটারে বর্তমান ইউজার পাওয়া

আপনি Win32_ComputerSystem WMI ক্লাস ব্যবহার করে কম্পিউটারে লগ অন করা ব্যবহারকারীর নাম পেতে পারেন। PowerShell কনসোল খুলুন এবং কমান্ড চালান:

Get-WmiObject -class Win32_ComputerSystem | Format-List Username

কমান্ডটি কম্পিউটারে লগ অন করা ব্যবহারকারীর নাম রিটার্ন করে।

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

Get-WmiObject কমান্ডলেটে –ComputerName অপশন আছে যা রিমোট কম্পিউটারে WMI অবজেক্ট অ্যাক্সেস করতে দেয়। নিচের কমান্ডটি রিমোট কম্পিউটার থেকে লগড-ইন ইউজারনেম রিটার্ন করবে:

(Get-WmiObject -class Win32_ComputerSystem –ComputerName pc1215wks1).Username

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

কমান্ডটি শুধু কনসোলে লগ অন করা ব্যবহারকারী দেখায় (RDP দিয়ে নয়)।

আপনি PSRemotingও ব্যবহার করতে পারেন Invoke-Command কমান্ডলেট দিয়ে রিমোট কম্পিউটার থেকে ইনফরমেশন পেতে।

শুধু ইউজারনেম পাওয়া যায় (ডোমেন ছাড়া), রিমোট কম্পিউটার থেকে, এই কমান্ডগুলো ব্যবহার করুন:

$userinfo = Get-WmiObject -ComputerName pc1215wks1 -Class Win32_ComputerSystem
$user = $userinfo.UserName -split '\\'
$user[1]

আধুনিক PowerShell Core (pwsh.exe) ভার্সনগুলিতে, Get-WmiObject-এর বদলে Get-CimInstance কমান্ডলেট ব্যবহার করতে হবে:

Get-CimInstance –ComputerName pc1215wks1 –ClassName Win32_ComputerSystem | Select-Object UserName

অথবা:

(Get-CimInstance -ComputerName pc1215wks1 -ClassName Win32_ComputerSystem).CimInstanceProperties | where{$_.Name -like "UserName"}| select value

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

GetCimInstance রিমোট কম্পিউটার সাথে কানেক্ট করতে WinRM ব্যবহার করে তাই সেগুলোতে WinRM সক্ষম এবং কনফিগার করা থাকতে হবে GPO বা নিচের কমান্ড দিয়ে:

WinRM quickconfig

রিমোট কম্পিউটারগুলোর লগ অন ইউজার খুঁজে বের করার PowerShell স্ক্রিপ্ট

আপনি যদি একাধিক কম্পিউটার থেকে লগড-ইন ইউজারের ইনফরমেশন কালেক্ট করতে চান, তবে নিচের PowerShell ফাংশনটি ব্যবহার করে ইউজারনেম পেতে পারেন।

function Get-LoggedUser { [CmdletBinding()] param ( [string[]]$ComputerName ) foreach ($comp in $ComputerName) { $output = @{'Computer' = $comp } $output.UserName = (Get-WmiObject -Class win32_computersystem -ComputerName $comp).UserName [PSCustomObject]$output } } 

Get-LoggedUser-এ চেক করতে চাওয়া কম্পিউটারগুলোর নাম নির্দিষ্ট করুন:

Get-LoggedUser pc1215wks1,pc1215wks2,mun-dc01

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

যদি ফাংশনটি কোনো কম্পিউটারের জন্য খালি ইউজারনেম রিটার্ন করে, তবে অর্থ সেটিতে কেউ লগ অন করা নেই।

আপনি এক্টিভ ডিরেক্টরি ডোমেনের কম্পিউটারগুলোর লগ অন করা ব্যবহারকারীদের নাম পেতে পারেন। ডোমেনের কম্পিউটার তালিকা পেতে Get-ADComputer কমান্ডলেট ব্যবহার করুন। নিচের উদাহরণে, আমরা নির্দিষ্ট ডোমেন OU-তে সক্রিয় কম্পিউটারগুলোর লগ অন করা ইউজারনেম পাব। স্ক্রিপ্ট দ্রুত কাজ করার জন্য রিমোট কম্পিউটার অ্যাক্সেস করার আগে ICMP পিং এবং Test-NetConnection কমান্ডলেট দিয়ে এর সাপেক্ষতা চেক করেছি:

function Get-LoggedUser { [CmdletBinding()] param ( [string[]]$ComputerName ) foreach ($comp in $ComputerName) { if ((Test-NetConnection $comp -WarningAction SilentlyContinue).PingSucceeded -eq $true) { $output = @{'Computer' = $comp } $output.UserName = (Get-WmiObject -Class win32_computersystem -ComputerName $comp).UserName } else { $output = @{'Computer' = $comp } $output.UserName = "offline" } [PSCustomObject]$output } } $computers = (Get-AdComputer -Filter {enabled -eq "true"} -SearchBase 'OU=Berlin,DC=woshub,DC=com').Name Get-LoggedUser $computers |ft -AutoSize 

রিমোট কম্পিউটারে বর্তমান লগ অন করা ইউজার খুঁজে বের করা

এছাড়া নোট করুন যে আপনি লগ অন করা ব্যবহারকারীর নাম AD-এ কম্পিউটার প্রোপার্টিতে সংরক্ষণ করতে পারেন। এতে আপনাকে সব কম্পিউটার স্ক্যান করতে হবে না কোনো নির্দিষ্ট ইউজার কোথায় লগ অন করেছে সেটি খুঁজে বের করতে। আপনি সিম্পল Active Directory কুয়েরি দিয়ে ইউজার কম্পিউটার খুঁজে বের করতে পারেন:

$user='m.smith'
$user_cn=(Get-ADuser $user -properties *).DistinguishedName
Get-ADComputer -Filter "ManagedBy -eq '$user_cn'" -properties *|select name,description,managedBy|ft

  1. সমাধান: দূরবর্তী কম্পিউটার নেটওয়ার্ক লেভেল অথেন্টিকেশন চাইছে

  2. রিমোট ডেস্কটপ সংযোগ সমস্যা সমাধান: অপ্রাপ্য রিমোট কম্পিউটারের জন্য দ্রুত সমাধান

  3. উইন্ডোজ ১০-এ 'রিমোট ডেস্কটপ কম্পিউটার খুঁজে পাচ্ছে না' সমস্যার সমাধান – দ্রুত গাইড

  4. কম্পিউটার লগইন ট্র্যাক করুন: কে কখন লগইন করেছে সেটা শনাক্ত করুন