Option Explicit
? Описываем используемые переменные.
Dim sUserName, sDomain, oUser, sComputer, sPword1, sPword2, _
 sPword3, oNet, oComputer, pw, vbClrf
? Метка A
Set oNet = CreateObject(«WScript.Network»)
sUserName = oNet.UserName
? Конец метки A
sDomain = oNet.UserDomain
sComputer = oNet.ComputerName
? Метка B
Set oComputer = GetObject(«WinNT://» & sDomain & «/» & _
 sComputer & «,computer»)
If oComputer.OperatingSystemVersion < 5.1 Then
 Call CheckPwd
 Else
 Call HidePwd
End If
? Конец метки B
? Метка C
Set oUser = GetObject(«WinNT://» & sDomain & «/» & sUserName & _
 «,user»)
oUser.ChangePassword sPword1, sPword2
WScript.Echo «Your password has been changed.»
? Конец метки C
Sub CheckPwd
? Выводим на экран приглашение ввести текущий пароль и сохраняем его в sPword1.
sPword1 = InputBox(«Please type your current password.», _
 «Hello, «&sUserName&»!»)
? Принимаем новый пароль и сохраняем его в 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»)
? Принимаем текущий пароль и сохраняем его в sPword1.
WScript.StdOut.Write «Please type your current password.» _
 : WScript.Echo vbClrf
sPword1 = pw.GetPassword()
? Выводим на экран приглашение ввести новый пароль и сохраняем его в 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