Donnerstag, 16. Februar 2012

Change Password For Current User - VbScript

ChangePasswordForCurrentUser.vbs

 Const ADS_UF_PASSWD_CANT_CHANGE = 64  

Set WshShell = WScript.CreateObject("WScript.Shell")
Set oUserEnv = WshShell.Environment("PROCESS")


userID = oUserEnv("USERNAME")

If Not IsEmpty(userID) Then
Set oADsUser = GetObject("WinNT://ww-intern/" & userID)
WScript.Echo "UserFullName = " & oAdsUser.Get("FullName")
lUserFlags = oAdsUser.Get("userFlags")
If lUserFlags AND ADS_UF_PASSWD_CANT_CHANGE THEN
WScript.Echo "User darf Kennwort nicht ändern, das passende Recht wird jetzt gesetzt"
lUserFlags = lUserFlags Or ADS_UF_PASSWD_CANT_CHANGE
ELSE
Wscript.Echo "User darf Kennwort ändern"
lUserFlags = lUserFlags And Not ADS_UF_PASSWD_CANT_CHANGE
End If
oAdsUser.Put "userFlags", lUserFlags

strOldPwd = InputBox("Bitte geben Sie das aktuelle Passwort ein:","Altes Passwort eingeben")
strNewPwd = InputBox("Bitte geben Sie das neue Passwort ein:","Neues Passwort eingeben")
If strNewPwd <> "" Then
oADsUser.ChangePassword strOldPwd, strNewPwd
WScript.Echo "Das Passwort wurde geändert"
Else
WScript.Echo "Das Passwort darf nicht leer sein!"
End if
Else
WScript.Echo "UserID konnte nicht ermittelt werden!"
End If

Keine Kommentare:

Kommentar veröffentlichen