원격 Windows 시스템에 로그온 한 사람 감지 로그온했는지 어떻게 알 수 있습니까? 현재 psloggedon 을

원격 Windows 시스템에 누가 로그온했는지 어떻게 알 수 있습니까?

현재 psloggedon 을 사용 하고 있지만 한 번에 하나의 컴퓨터 만 제공합니다.

psloggeon \\ 172.21.0.5


psloggedon

전체 서브넷을 스캔하는 더 좋은 방법이 있습니까? 바람직하게는 일부 GUI 애플리케이션.



답변

GUI가 아니라 :

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 서브넷을 스캔합니다.


답변

이 스크립트를 찾았습니다 . 그것은 전체 도메인을 스캔하고 좋은 결과 (컴퓨터 이름 및 사용자 이름)를 제공합니다.

whoisloggedinwhere.bat> users.txt

@ 에코 오프
setlocal
( 'net view / domain : "% USERDOMAIN %"^ | Findstr / L / C : "\\"')에서 / f "토큰 = 1"%% c의 경우
 / f "토큰 = *"%% u in ( 'PsLoggedOn -L %% c ^ | find / i "% USERDOMAIN % \"' ')
  전화 :보고 %% c "%% u"
 )
)
지역
고토 : EOF
:보고서
작업 설정 = % 1
comp = % work 설정 : ~ 2 %
사용자 설정 = % 2
사용자 설정 = % 사용자 : "= %
통화 세트 사용자 = %% user : * % USERDOMAIN % \ = %%
@echo % comp % % user %

이 스크립트는 PsLoggedOn을 사용 합니다 .


답변

시험 nbtstat -a <computername>


답변

로그온 스크립트를 사용하여 컴퓨터 설명 속성에 사용자 이름을 작성하여 AD 사용자 및 컴퓨터의 모든 내용을보고 검색 할 수 있습니다. 매우 편리합니다.


답변

서버에서 터미널 서비스를 실행중인 경우 터미널 서비스 관리자를 사용하여 도메인의 서버와 누가 로그온했는지 확인할 수 있습니다. GUI이며 아래에서 찾을 수 있습니다

Start -> Administrative Tools -> Terminal Services Manager


답변

qwinsta는 또 다른 dos 명령이지만 여전히 한 번에 하나씩 만 제공합니다 …

C:\>qwinsta /server:test_srv
 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
 console           test_usr                  0  Active  wdcon
 rdp-tcp                                 65536  Listen  rdpwd


답변

다음 PowerShell 스크립트를 통해 WMI를 쿼리하여 워크 스테이션에 로컬로 로그온 한 사용자를 감지 할 수 있습니다 . 로컬로 로그온 한 사람의 이름이나 빈 문자열을 반환합니다.

function logged_in($host_name) {
    (get-wmiobject -class Win32_ComputerSystem -computername $host_name `
        -namespace "root\CIMV2").UserName
}