debanjanroy Ответов: 3

Как получить последнее время входа и выхода текущего пользователя с помощью VB.NET или с#


Я хочу получить последнее время входа и выхода пользователя из системы и сохранить их в SQL server 2008. Как это будет возможно. Я сделал так много попыток получить данные, но это не принесло результатов, пожалуйста, научите меня, как получить данные.

Что я уже пробовал:

Я попытался использовать cmd командой "net user" и получить вывод команды, но он не дал мне правильного вывода.

F-ES Sitecore

Не зная, как вы управляете своей аутентификацией, это невозможно сказать.

3 Ответов

Рейтинг:
1

G3Coder

Привет,

С помощью классов PrincipalContext и UserPrincipal. MSDN содержит достаточно для того, чтобы вы могли это сделать.

Класс PrincipalContext (System.Каталог.Управление учетными записями)[^]

Класс UserPrincipal (System.Каталог.Управление учетными записями)[^]

С уважением


Рейтинг:
1

Leo Chapiro

Посмотри: Запросите объявление и получите LastLogonTimeStamp[^]

Dim SearchContext As New PrincipalContext(System.DirectoryServices.AccountManagement.ContextType.Domain, <DomainName>)
 Dim ADUser As New UserPrincipal(SearchContext)
 Dim ADSearcher As New PrincipalSearcher()
 Dim LastLogonDateTimeUTC As DateTime

 ADUser.Name = "*"
 ADSearcher.QueryFilter = ADUser
 Dim SearchResult As PrincipalSearchResult(Of Principal) = ADSearcher.FindAll()
 For Each User As UserPrincipal In SearchResult
  Console.WriteLine("Name: " & User.Name)
  If User.LastLogon.HasValue Then
   LastLogonDateTimeUTC = User.LastLogon
   Console.WriteLine("Last Logon: " & LastLogonDateTimeUTC.ToLocalTime)
  End If
 Next User


debanjanroy

_duDe, PrincipalContext () говорит undefined. Как это решить?

Leo Chapiro

Вы должны добавить ссылку на систему.Каталог.Бухгалтерия.

Рейтинг:
1

Dave Kreskowiak

Если вы говорите о входах и выходах из Windows, это будет намного сложнее, чем вы думаете.

Вход в систему происходит всякий раз, когда пользователь либо входит в Windows, либо использует общий ресурс, требующий аутентификации, например сопоставление диска с общим ресурсом, открытие UNC или печать чего-либо на общем принтере, размещенном в Windows. Они могут быть аутентифицированы любым контроллером домена в сети, в зависимости от обстоятельств.

Windows по умолчанию не отслеживает выходы из системы, если вы не посмотрите журнал безопасности на рабочей станции, с которой вышел пользователь. Нет центрального хранилища, которое отслеживает выходы из системы.