그럼 어떤 종류가 있는지 살펴 볼까요?...
0 : 시스템 계정만이 사용
2 - Interactive : 로컬로그온이나 터미널, 원격쉘 과 같은 로그온 형식
3 - Network : 기본인증
4 - Batch : 예약작업같은 배치실행시 사용되는 계정의 로그온
5 - Service : 서비스 실행 계정
6 - Proxy : 프록시 타입
7 - Unlock : GINA DLLs 로그온을 대시하는 형식
8 - NetworkCleartext : FTP나, IIS 기본인증과 같은 형식, Windows 2000 이후 부터 지원
9 - NewCredentials :Windows 2000 이후 부터 지원
10 - RemoteInteractive : 터미널 서버 또는 그와 같은 형식
11 - CachedInteractive : 네트워크 연결이 아닌 캐시된 자격증명
12 - CachedRemoteInteractive : RemoteInteractive 와 같음
13 - CachedUnlock : 워크스테이션 로그온
2 - Interactive : 로컬로그온이나 터미널, 원격쉘 과 같은 로그온 형식
3 - Network : 기본인증
4 - Batch : 예약작업같은 배치실행시 사용되는 계정의 로그온
5 - Service : 서비스 실행 계정
6 - Proxy : 프록시 타입
7 - Unlock : GINA DLLs 로그온을 대시하는 형식
8 - NetworkCleartext : FTP나, IIS 기본인증과 같은 형식, Windows 2000 이후 부터 지원
9 - NewCredentials :Windows 2000 이후 부터 지원
10 - RemoteInteractive : 터미널 서버 또는 그와 같은 형식
11 - CachedInteractive : 네트워크 연결이 아닌 캐시된 자격증명
12 - CachedRemoteInteractive : RemoteInteractive 와 같음
13 - CachedUnlock : 워크스테이션 로그온
이를테면,. FTP 로 로그인 한 경우에는 보안 이벤트로그에 로그온 유형이 8 로 기록됩니다.
다음 vbscript 는 현재 로그온 되어 있는 로그온 ID 를 출력해 줍니다. 다만, 로그온 ID 형식으로 출력해 주므로, 해당 ID에 매칭되는 계정명을 알아 낼려면 win32_LoggedOnUser 와 조인을 해야 합니다.
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
arrComputers = Array("SERVERINFO")
For Each strComputer In arrComputers
WScript.Echo
WScript.Echo "=========================================="
WScript.Echo "Computer: " & strComputer
WScript.Echo "=========================================="
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogonSession", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
WScript.Echo "AuthenticationPackage: " & objItem.AuthenticationPackage
WScript.Echo "Caption: " & objItem.Caption
WScript.Echo "Description: " & objItem.Description
WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
WScript.Echo "LogonId: " & objItem.LogonId
WScript.Echo "LogonType: " & objItem.LogonType
WScript.Echo "Name: " & objItem.Name
WScript.Echo "StartTime: " & WMIDateStringToDate(objItem.StartTime)
WScript.Echo "Status: " & objItem.Status
WScript.Echo
Next
Next
Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm:
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
arrComputers = Array("SERVERINFO")
For Each strComputer In arrComputers
WScript.Echo
WScript.Echo "=========================================="
WScript.Echo "Computer: " & strComputer
WScript.Echo "=========================================="
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogonSession", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
WScript.Echo "AuthenticationPackage: " & objItem.AuthenticationPackage
WScript.Echo "Caption: " & objItem.Caption
WScript.Echo "Description: " & objItem.Description
WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
WScript.Echo "LogonId: " & objItem.LogonId
WScript.Echo "LogonType: " & objItem.LogonType
WScript.Echo "Name: " & objItem.Name
WScript.Echo "StartTime: " & WMIDateStringToDate(objItem.StartTime)
WScript.Echo "Status: " & objItem.Status
WScript.Echo
Next
Next
Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm:
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
16-LogonType.png
댓글 없음:
댓글 쓰기