Option Explicit '--- Force variable declarations for safety! Dim objArguments, objUser, strDomainOrHost, strUsername, strName, cUserFlags Const UF_LOCKOUT = &H0010 Set objArguments = WScript.Arguments If(objArguments.Count < 2) Then Call Usage() End If strDomainOrHost = objArguments(0) strUsername = objArguments(1) set objUser = GetObject("WinNT://" & strDomainOrHost & "/" & strUserName & ",User") strName = objUser.Get("FullName") cUserFlags = objUser.Get("UserFlags") If(cUserFlags And UF_LOCKOUT) Then objUser.Put "UserFlags", objUser.Get("UserFlags") Xor UF_LOCKOUT objUser.SetInfo cUserFlags = objUser.Get("UserFlags") If(cUserFlags And UF_LOCKOUT) Then WScript.Echo "User: " & strName & vbNewLine & "Unlock FAILED:-(" Else WScript.Echo "User: " & strName & vbNewLine & "Unlock SUCCESSFUL:-)" End If Else WScript.Echo "User: " & strName & vbNewLine & "User Account IS NOT Locked Out." End If Set objArguments = Nothing Set objUser = Nothing WScript.Quit(1) Sub Usage() WScript.Echo "Usage:" & vbNewLine & vbNewLine &_ "c:\> unlckusr DomainOrHostname Username" & vbNewLine & vbNewLine &_ "DomainOrHostname: Domain -or- hostname where the target account resides." &_ vbNewLine & vbNewLine &_ "Username: Target user account that's locked out." WScript.Quit(0) End Sub