উত্তর:
জিইউআই নয়, তবে:
for /L %x in (2,1,254) do psloggedon \\172.21.0.%x
172.21.0.2-254 থেকে একটি স্ক্যান করবে। আপনি বাসা বাঁধতে পারেন:
for /L %z in (16,1,31) do for /L %x in (1,1,254) do psloggedon \\172.21.%y.%x
এটি 172.21 স্ক্যান করবে {16-31 x .x সাবনেট।
আমি এই লিপিটি পেয়েছি । এটি একটি সম্পূর্ণ ডোমেন স্ক্যান করে এবং আপনাকে একটি সুন্দর আউটপুট দেয় (কম্পিউটারের নাম এবং ব্যবহারকারীর নাম)।
whoisloggedinwhere.bat> users.txt
@ কেচো অফ setlocal / এফ "টোকেনস = 1" %% সি-এর জন্য ('নেট ভিউ / ডোমেন: "% ইউজারডোভার%" ^ | ফাইন্ডস্টার / এল / সি: "\\"') করুন ( / f "টোকেনস = *" %% ইউ এর মধ্যে ('পিএসলোগডঅন -L %% সি ^ | সন্ধান / i "% USERDOMAIN% \"') করুন () কল: প্রতিবেদন %% c "%% u" ) ) endlocal গেটো: ইওএফ : রিপোর্ট কাজ সেট =% 1 কমপ =% কাজ সেট করুন: ~ 2% ব্যবহারকারী =% 2 সেট করুন ব্যবহারকারী =% ব্যবহারকারী সেট করুন: "=% কল সেট ব্যবহারকারী = %% ব্যবহারকারী: *% USERDOMAIN% \ = %% @ কেও% কমপ%% ব্যবহারকারী%
এই স্ক্রিপ্টটি PsLoggedOn ব্যবহার করে ।
চেষ্টা nbtstat -a <computername>
আমি লগন স্ক্রিপ্ট ব্যবহার করে কম্পিউটারের বর্ণনামুলক ব্যবহারকারীর নাম লিখি, যা আমাকে AD ব্যবহারকারী ও কম্পিউটারে সমস্ত কিছু দেখতে দেয়, এতে অনুসন্ধান করতে পারে এবং আরও কিছু করে। খুব সহজ।
সার্ভারগুলি যদি টার্মিনাল পরিষেবাদিগুলি চালাচ্ছে, আপনি কোনও ডোমেনে সার্ভারগুলি দেখতে এবং সেগুলিতে লগ ইন করাতে টার্মিনাল পরিষেবাদি ব্যবহার করতে পারেন। এটি জিইউআই এবং এটির অধীনে পাওয়া যাবে
Start -> Administrative Tools -> Terminal Services Manager
নিম্নলিখিত পাওয়ারশেল স্ক্রিপ্টের মাধ্যমে ডাব্লুএমআই-কে জিজ্ঞাসা করে আপনি কোনও ওয়ার্কস্টেশনে স্থানীয়ভাবে লগ-ইন থাকা কোনও ব্যবহারকারী সনাক্ত করতে পারেন । এটি স্থানীয়ভাবে বা খালি স্ট্রিংয়ে লগইন হয়েছে এমন ব্যক্তির নাম ফিরিয়ে দেয়।
function logged_in($host_name) {
(get-wmiobject -class Win32_ComputerSystem -computername $host_name `
-namespace "root\CIMV2").UserName
}
আমি কোথায় পেয়েছি তা নিশ্চিত নই তবে আমার কাছে এই কোডটি রয়েছে যা ব্যবহারকারীদের একটি মেশিনে দেখায়। গুচ্ছ মেশিনগুলির স্ক্যান করতে প্রতিটি লুপের জন্য আপনি এটিতে একটি মোড়ানো করতে পারেন। আমি বলব যে আপনি যদি কোনও সিস্টেমে লগ ইন করেছেন তা জানতে চাইলে সবচেয়ে সহজ উপায় হ'ল লগইন অডিটিং চালু করা এবং সুরক্ষা লগটি (বা ক্যোয়ারী) সন্ধান করা। যে কোনও মুহুর্তে কারা রয়েছেন তা দেখার জন্য এখানে কোডটি দেওয়া হল:
' PARAMETERS
'
strComputer = "machineName" ' use "." for local computer
strUser = "domain\user" ' comment this line for current user
strPassword = "password" ' comment this line for current user
' CONSTANTS
'
wbemImpersonationLevelImpersonate = 3
wbemAuthenticationLevelPktPrivacy = 6
'=======================================================================
' MAIN
'=======================================================================
' Connect to machine
'
If Not strUser = "" Then
' Connect using user and password
'
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMI = objLocator.ConnectServer _
(strComputer, "root\cimv2", strUser, strPassword)
objWMI.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate
objWMI.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy
Else
' Connect using current user
'
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
End If
' Get OS name
'
Set colOS = objWMI.InstancesOf ("Win32_OperatingSystem")
For Each objOS in colOS
strName = objOS.Name
Next
If Instr(strName, "Windows 2000") > 0 Then
'-------------------------------------------------------------------
' Code for Windows 2000
'-------------------------------------------------------------------
' Get user name
'
Set colComputer = objWMI.ExecQuery("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
Wscript.Echo "User: " & objComputer.UserName
Next
' ------------------------------------------------------------------
Else
' ------------------------------------------------------------------
' Code for Windows XP or later
' ------------------------------------------------------------------
' Get interactive session
'
Set colSessions = objWMI.ExecQuery _
("Select * from Win32_LogonSession Where LogonType = 2")
If colSessions.Count = 0 Then
' No interactive session found
'
Wscript.Echo "No interactive user found"
Else
'Interactive session found
'
For Each objSession in colSessions
Set colList = objWMI.ExecQuery("Associators of " _
& "{Win32_LogonSession.LogonId=" & objSession.LogonId & "} " _
& "Where AssocClass=Win32_LoggedOnUser Role=Dependent" )
' Show user info
'
For Each objItem in colList
WScript.Echo "User: " & objItem.Name
WScript.Echo "FullName: " & objItem.FullName
WScript.Echo "Domain: " & objItem.Domain
Next
' Show session start time
'
Wscript.Echo "Start Time: " & objSession.StartTime
Next
End If
' ------------------------------------------------------------------
End If
'=======================================================================
আমি অবাক হয়েছি এখনও কেউ লগইন 2-এর কথা উল্লেখ করেনি, যা আমি বেশ কয়েক বছর ধরে ব্যবহার করে আসছি। এটি আপনি যে জিইউআই বাস্তবায়ন চেয়েছিলেন তা এখানে পাওয়া যায় ।