Option Explicit ? Описываем используемые переменные. Dim sUserName, sDomain, oUser, oNet, sComputer, pw, vbClrf, _ sPword2, sPword3, oComputer ?Запускаем подпрограмму Help по запросу пользователя или если программе не было передано ни одного аргумента. If WScript.Arguments.Count < 1 Then Call Help If WScript.Arguments(0) = «/?» Then Call Help ? Присваиваем переменным значения. sUserName = WScript.Arguments(0) sDomain = WScript.Arguments(1) ? Создаем объект oNet и получаем имена локального ? домена и компьютера. Set oNet = CreateObject(«Wscript.Network») sDomain = oNet.UserDomain sComputer = oNet.ComputerName ?Определяем версию ОС, чтобы выбрать нужную ?подпрограмму изменения пароля. Set oComputer = GetObject(«WinNT://» & sDomain & «/» & _ sComputer & «,computer») If oComputer.OperatingSystemVersion < 5.1 Then Call CheckPwd Else Call HidePwd End If ?Подключаемся к объекту пользователя и назначаем пароль. ? Метка A Set oUser = GetObject(«WinNT://» & sDomain & «/» & sUserName & _ «,user») oUser.SetPassword sPword2 ? Конец метки A ? Обязываем пользователя изменить пароль при следующей регистрации. ? Метка B oUser.Put «PasswordExpired», 1 oUser.SetInfo ? Конец метки B ? Метка C Set oWshShell = CreateObject(«WScript.Shell») oWshShell.LogEvent 4, «The password for user account», sUserName, _ «in domain», sDomain, «has been changed.» ? Конец метки C Sub CheckPwd ? Принимаем новый пароль и сохраняем его в sPword2. sPword2 = InputBox(«Please type your new password.», _ «Enter New Password») ? Подтверждаем новый пароль. sPword3 = InputBox(«Please confirm the new password.», _ «Confirm New Password») ? Сравниваем два новых пароля и подтверждаем их совпадение. If sPword2 <> sPword3 Then MsgBox(«The passwords do not match.») _ : Call CheckPwd End Sub Sub HidePwd ? Создаем объект Scriptpw. Set pw = CreateObject(«ScriptPW.Password») ? Выводим на экран приглашение ввести новый ? пароль и сохраняем его в sPword2. WScript.StdOut.Write «Please type the new password.»_ : WScript.Echo vbClrf sPword2 = pw.GetPassword() ? Подтверждаем новый пароль. WScript.StdOut.Write «Confirm the new password.» _ : WScript.Echo vbClrf sPword3 = pw.GetPassword() ? Убеждаемся, что новый пароль введен правильно. If sPword2 <> sPword3 Then WScript.Echo «The passwords « _ & «do not match.» : Call HidePwd End Sub Sub Help WScript.Echo «adminpword username domainname» WScript.Echo «This script changes the password for the specified « _ & «account.» WScript.Echo «The first argument is the user name.» WScript.Echo «The second argument is the domain name.» WScript.Quit End Sub