Script para alteração da flag de expiração de senha
Este script tem como objetivo ser uma ferramenta de apoio para correção de contas de domínio ou contas locais que outrora foram criadas com a flag de expiração de senha, posterior a isso você pode optar por usar uma GPO para realizar a alteração da flag para novas contas que venham ser cadastradas.
Option Explicit
On Error Resume Next
Const naoExpira = &H10000
Dim colNamedArguments
Dim strDomain, strUser
Set colNamedArguments = WScript.Arguments.Named
If colNamedArguments.Exists(“domain”) Then
strDomain=colNamedArguments.Item(“domain”)
Else
WScript.Echo “Missing argument: /domain:domainname”
Usage
End If
If colNamedArguments.Exists(“user”) Then
strUser=colNamedArguments.Item(“user”)
Else
WScript.Echo “Missing argument: /user:username”
Usage
End If
PasswordNeverExpires strDomain, strUser
Sub PasswordNeverExpires(domainname, username)
Dim objUser, objUserFlags
Set objUser = GetObject(“WinNT://” & domainname & “/” & username & “,user”)
objUserFlags = objUser.Get(“UserFlags”)
If (objUserFlags And naoExpira) = 0 Then
objUserFlags = objUserFlags Or naoExpira
objUser.Put “UserFlags”, objUserFlags
objUser.SetInfo
WScript.Echo domainname & “\” & username & ” senha foi setada para não expirar.”
Else
WScript.Echo domainname & “\” & username & ” senha já está setada para não expirar.”
End If
End Sub
‘ ******************************************************************************
Sub Usage()
Wscript.Echo VbCr
WScript.Echo “Usage: cscript expuser.vbs /domain:domainname /user:username”
Wscript.Quit
End Sub
‘ ******************************************************************************