[VBS]如何將用戶密碼改為永不過期
發表於 : 2009年 5月 8日, 17:10
利用 net user 的方式可以將用戶新增出來, 但仍無法避免會有該帳號密碼過期問題. 若是該帳號只是用來做發起一些應用程式時, 而非一般使用者時, 將會有密碼過期後, 沒有被更新而無法繼續發起對應應用程式的問題, 如何來解決這個問題, 當然可以透過手動將該帳號設為"密碼永不過期"(password never expires)即可.
不過若是利用程式來做這件事的話, 可以利用 vbs 來操作, 可以先參考文章:
http://www.markwilson.co.uk/blog/2004/0 ... ry-for.htm
實作如下:
利用這種方式, 將可以順利將指定的帳號(user)的密碼永不過期設定起來!
不過若是利用程式來做這件事的話, 可以利用 vbs 來操作, 可以先參考文章:
http://www.markwilson.co.uk/blog/2004/0 ... ry-for.htm
實作如下:
代碼: 選擇全部
domainname = "." '本機
username = "user" '帳號
Const ufDONT_EXPIRE_PASSWD = &H10000
Set objUser = GetObject("WinNT://" & domainname & "/" & username & ",user")
' Examine flags set against account
objUserFlags = objUser.Get("UserFlags")
' If password expiry is allowed, then set password never to expire.
If (objUserFlags And ufDONT_EXPIRE_PASSWD) = 0 Then
' Password does expire
' WScript.Echo objUserFlags
objUserFlags = objUserFlags Or ufDONT_EXPIRE_PASSWD
' WScript.Echo objUserFlags
objUser.Put "UserFlags", objUserFlags
objUser.SetInfo
'WScript.Echo domainname & "" & username & " password has been set never to expire."
Else
' Password does not expire
' WScript.Echo objUserFlags
'WScript.Echo domainname & "" & username & " password was already set never to expire."
End If