Windows: Как узнать когда был сменен пароль локального пользователя?

Бывает что пароль от админа не подходит и возникает вопрос, то ли я дурак и пароль забыл\не установил, то ли кто-то его поменял. Первая мысль это посмотреть когда пароль был сменен и почитать по логам что в это время делалось.

Это можно сделать при помощи команды или скрипта.

Проверить при помощи команды: net user имя_пользователя /domain

VBS cкрипты

Проверить локально:

Set adsUser = GetObject("WinNT://./Имя_Вашего_Пользователя,user")
Wscript.Echo "Пароль был изменен : " & CStr( DateAdd("s", -adsUser.Get("MaxPasswordAge"), adsUser.PasswordExpirationDate))

Удалённо:

Set adsUser = GetObject("WinNT://Удаленый_Компьютер/Имя_Вашего_Пользователя,user")
Wscript.Echo "Пароль был изменен : " & CStr( _
DateAdd("s", -adsUser.Get("MaxPasswordAge"), _
adsUser.PasswordExpirationDate))

Помимо этого можно узнать когда в последний раз локальный пользователь заходил в Windows:

Set WshNetwork = CreateObject("Wscript.Network")
strComputer = "Имя_Компьютера"
strUser = "Имя_Пользователя"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objUser = GetObject("WinNT://" & strComputer & "/" & strUser & ",user")
dtmLastLogin = objUser.lastLogin
Wscript.Echo "Последний вход в систему: " & dtmLastLogin

Узнать время последнего входа всех локальных пользователей:

Option Explicit
Dim objWMIService, colItems, WshNetwork, strComputer
Dim objUser, objItem, dtmLastLogin, strLogonInfo
Set WshNetwork = CreateObject("Wscript.Network")
'strComputer = WshNetwork.ComputerName
strComputer = "Имя_Компьютера"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_UserAccount Where Domain = '" & strComputer & "'")

For Each objItem in colItems
dtmLastLogin = ""
On Error Resume Next
Set objUser = GetObject("WinNT://" & strComputer _
& "/" & objItem.Name & ",user")
dtmLastLogin = objUser.lastLogin
On Error Goto 0

strLogonInfo = strLogonInfo & vbCrLf & objItem.Name & ": " & dtmLastLogin
Next
Wscript.Echo strLogonInfo, vbOKOnly + vbInformation, "Информация о последнем входе в систему"
Понравилось? =) Поделись с друзьями:

Обсудить