Okay, the script will now take optional command line arguments. You will probably want to remark out (') the msgbox lines in order to run unattended. '******************************** 'Name: ForcePasswordChange.vbs 'Purpose: Force a local user account password ' change at the next signon '******************************** Dim objShell, compname, objUser, ArgObj On Error Resume Next ' *** Place the user account below *** 'objUser="Jet" ' *** Request user name (unless passed to the script as an argument)*** If Wscript.Arguments.Count <> 0 Then objUser=Wscript.Arguments(0) Else objUser=InputBox("Enter the user name:","Force Password Change") End If ' *** Get the local computer name *** Set objShell = CreateObject("wscript.Shell") compname = objShell.ExpandEnvironmentStrings("%COMPUTERNAME%") ' *** Bind to the user account and set the expired password flag *** Set UserObj = GetObject("WinNT://" & compname & "/" & objUser & ", User") If err.number <> 0 Then msgbox("You entered an invalid user. Exiting script...") Else UserObj.Put "PasswordExpired", CLng(1) UserObj.SetInfo Set UserObj = Nothing txtMsg="User " & objUser & " will now have to change " & vbcrlf txtMsg=txtmsg & "his password the next time he logs in." msgbox(txtMsg) End If You can pass the username as an argument from the command line or batch file like this: wscript "force password change.vbs" "Jet" Let me know if you have any problems.