Что делает этот скрипт пароля?

464
Alex

Нашел этот файл на устройстве на работе ...

Set WshShell = CreateObject("WScript.Shell") PINGFlag = Not CBool(WshShell.run("ping contoso.com -n 1 " & vSystemIdentifier,0,True)) If PINGFlag = True Then 'Successful ping 'WScript.Echo "Connectivity to domain confirm." Call Password Else 'Unsuccessful ping 'WScript.Echo "No Connectivity to domain password check cancelled." End If    Function Password()  '======================================== ' First, get the domain policy. '======================================== Dim oDomain Dim oUser Dim maxPwdAge Dim numDays Dim warningDays  warningDays = 15  Set LoginInfo = CreateObject("ADSystemInfo")  Set objUser = GetObject("LDAP://" & LoginInfo.UserName & "")  strDomainDN = UCase(LoginInfo.DomainDNSName)  strUserDN = LoginInfo.UserName   Set oDomain = GetObject("LDAP://" & strDomainDN) Set maxPwdAge = oDomain.Get("maxPwdAge")  '======================================== ' Calculate the number of days that are ' held in this value. '======================================== numDays = CCur((maxPwdAge.HighPart * 2 ^ 32) + _ maxPwdAge.LowPart) / CCur(-864000000000) 'WScript.Echo "Maximum Password Age: " & numDays  '======================================== ' Determine the last time that the user ' changed his or her password. '======================================== Set oUser = GetObject("LDAP://" & strUserDN)  '======================================== ' Add the number of days to the last time ' the password was set. '======================================== whenPasswordExpires = DateAdd("d", numDays, oUser.PasswordLastChanged) fromDate = Date daysLeft = DateDiff("d",fromDate,whenPasswordExpires)  'WScript.Echo "Password Last Changed: " & oUser.PasswordLastChanged  if (daysLeft < warningDays) and (daysLeft > -1) then Msgbox "Password Expires in " & daysLeft & " day(s)" & " at " & whenPasswordExpires & chr(13) & chr(13) & "Press CTRL-ALT-DEL and" & chr(13) & "select the 'Change a password' option" & chr(13) & "Please allow enough time for password change to take effect," & chr(13) & "minimum of 15 minutes before disconnecting", 0, "PASSWORD EXPIRATION WARNING!" End if  '======================================== ' Clean up. '======================================== Set oUser = Nothing Set maxPwdAge = Nothing Set oDomain = Nothing End Function 
0
Вы спрашивали у своего местного ИТ-персонала цель сценария? Или вы являетесь местным ИТ-специалистом, и вам интересно, почему этот скрипт находится на компьютерах, которые вы поддерживаете? music2myear 5 лет назад 2
Похоже, что это просто скрипт для уведомления пользователей о том, когда истекает срок действия их пароля, чтобы они могли потенциально изменить его, прежде чем заблокировать свои учетные записи. Я предполагаю, что планируется запускать скрипт либо при входе в систему, либо при включении в фоновом режиме. Jesse P. 5 лет назад 1
Хотите знать, почему это на компьютерах. Нет доступа к этим устройствам, так как они всегда работают. Попытка их немного почистить, чтобы не так много загромождать и натолкнулась на это. Ценю информацию. Alex 5 лет назад 0
@Alex - Если учетные записи не имеют пароля, у них есть пароль, и это означает, что срок действия пароля истекает, как и у любой учетной записи. Самое смешное в сценарии - тот факт, что Windows уже делает уведомление, когда срок действия пароля истекает Ramhound 5 лет назад 0
@Alex Причина, по которой этот сценарий необходим, заключается в том, что эти компьютеры всегда входят в систему. Windows только уведомляет пользователя о том, что срок действия его пароля истекает при входе в систему. Twisty Impersonator 5 лет назад 1
@Ramhound: Как говорит TwistyImpersonator, это может запускаться запланированной задачей каждый день, так что пользователь будет уведомлен о том, что срок действия его пароля истечет, даже если он оставит свою учетную запись в системе постоянно. С другой стороны, даже если вы не находились в ситуации, когда учетные записи пользователей оставлены в системе на неопределенный срок, и вы установили его в качестве сценария входа в систему, он все равно может оказаться полезным, поскольку всплывающее окно не исчезает, пока вы не выполните что-то (нажмите ОК) с большей вероятностью будет замечено и обработано, чем всплывающее уведомление или всплывающее уведомление. Это также включает основные инструкции для менее технически подкованных. 3D1T0R 5 лет назад 0

1 ответ на вопрос

5
3D1T0R

Этот скрипт создает всплывающее окно, чтобы предупредить пользователя, когда его пароль истекает.

Первоначально он был опубликован MarkK / Mark-K в качестве ответов на сообщения как об отказе сервера, так и на форумах TechNet корпорации Майкрософт, которые оба получали обновления с момента опубликованной вами версии. Версия, которую вы включили в свой вопрос, также включает некоторые модификации, которых нет в версиях, опубликованных Mark K.

Для справки приведена ссылка на соответствующий ответ о сбое сервера, а также сообщения об оригинале и обновлении на форумах TechNet.

Кроме того, я нашел скриншот всплывающего окна скрипта производит публикуемое на JitenSh на форумах Spiceworks:
Password Expiration Warning:   ( i )   Your password will expire in 4 day(s) at 4/10/2014 2:03:42 PM   Press CTRL + ALT + DEL and select the "Change a password" option.   [OK]

Примечание: я нашел всю эту информацию с помощью простого поиска в Интернете по короткому фрагменту кода. 3D1T0R 5 лет назад 0