none
DC서버에서 마지막 로그인 정보를 알수 없을까요?? RRS feed

  • 질문

  • 현재 DC서버를 구축해서 운영하고 있는데..

     

    각 계정의 마지막 로그인 정보를 알수 있는 방법이 없을까요?

     

    하나의 계정말고 모든 계정의 마지막 로그인 정보를 알고 싶습니다.

     

    그래서 누가 AD서버에 조인을 안했는지 찾아서 조사해야 하거든요..

     

    vb로 프로그램을 짜도 되고 어떻게 SQL을 날려도 될꺼 같은데..

     

    도저히 감을 못잡겠네요..ㅡㅡ;;

     

     

    대략적이라도 방향만 잡아주심 어떻게 해보겠는데..쩝..

     

    암튼 아시는 분은 대답좀 바랍니다~~ ^^;;

     

    감사합니다..

    2008년 1월 15일 화요일 오전 6:34

모든 응답

  • 아래 스크립트를 사용하시기 바랍니다.

    Code Block

    On Error Resume Next
    OutFileName = "Logons.txt"

     

    '사용중인 DC서버를 추가로 적어준다.왜냐하면 LastLogin시간은 복제되지 않는다.

    sEnterDCs = "test-dc1,test-dc2"

     

    sObjects = Split(sEnterDCs, ",")

    Set oDomain = GetObject("WinNT://" & sObjects(0))
    oDomain.Filter = Array("User")

    WScript.Echo "Showing last login times of accounts from: " & oDomain.Name & vbNewLine

     

    For Each oDomainItem In oDomain
     sUsrLogin = oDomainItem.LastLogin
     If UBound(sObjects) >= 1 Then
       For ii = 1 To UBound(sObjects)
         Set oUsr = GetObject("WinNT://" & sObjects(ii) & "/" & oDomainItem.Name & ",user")
         If oUsr.LastLogin > sUsrLogin Then sUsrLogin = oUsr.LastLogin
       Next
     End If

     Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
     Set outFile = FileSystem.OpenTextFile(OutFileName,8,-2)
      outFile.Write vbCrLf & "---------------------------------------------------------------------------------" & vbCrLf
      OutFile.write "Username: " & Left(oDomainItem.Name & Space(22),22) & "Last login: " & FormatDateTime(sUsrLogin) & vbCrLf
      OutFile.write oDomainItem.Name & vbTab & FormatDateTime(sUsrLogin) & vbCrLf
      WScript.Echo "Username: " & Left(oDomainItem.Name & Space(22),22) & "Last login: " & FormatDateTime(sUsrLogin)

    Next

    OutFile.close

     

     

    결과물은 아래 처럼 나옵니다. 그림삽입이 안되는군요;; 링크로 대신..

    http://wishy.net/forum/story/2833

    2008년 1월 15일 화요일 오전 6:58