工作上需要解AD Account被鎖住的Web介面,使用MS提供的ADSI元件可以很方便的存取AD Server,以下為程式
function logintest()
‘登入測試
if sUser “” then
set oADSI = GetObject(“WinNT:”)
on error resume next
set oIIS = oADSI.OpenDSObject(“WinNT://AD server名稱” , sUser, sPassword,0)
if err.number = 0 then
Response.Write “Logon OK.
“
else
Response.Write “Logon failed.
“
end if
end if
end function
function ChgPWD()
Dim obj
set oADSI = GetObject(“WinNT:”)
set obj = oADSI.OpenDSObject(“WinNT://AD server名稱/“&sAccount , sUser, sPassword,0)
‘原密碼,新密碼
obj.ChangePassword “原來的密碼”, “新的密碼”
response.write “密碼已更新”
end function
function listmem()
‘列出ad所有帳號
Dim obj
set oADSI = GetObject(“WinNT:”)
set obj = oADSI.OpenDSObject(“WinNT://AD server名稱”, sUser, sPassword,0)
for each aaa in obj
response.write aaa.name&”
“
next
end function
function SetPWD()
‘reset密碼
Dim obj
set oADSI = GetObject(“WinNT:”)
set obj = oADSI.OpenDSObject(“WinNT://AD server名稱/“&sAccount , sUser, sPassword,0)
obj.SetPassword “Kaubarcd0410”
end function
function setAccountDisable()
‘關掉該帳號
Dim obj
set oADSI = GetObject(“WinNT:”)
set obj = oADSI.OpenDSObject(“WinNT://AD server名稱/“&sAccount , sUser, sPassword,0)
obj.AccountDisabled = true
obj.SetInfo
response.write “ok”
end function
function unlock()
‘解除鎖定的帳號
Dim obj
set oADSI = GetObject(“WinNT:”)
set obj = oADSI.OpenDSObject(“WinNT://AD server名稱/“&sAccount , sUser, sPassword,0)
obj.IsAccountLocked = False
obj.SetInfo
response.write “ok”
end function
sUser=”AD server名稱/帳號名稱”
sPassword=”你的密碼”
‘要被作用的帳號=====
sAccount=”joe_huang”
‘===================
‘call listmem
call logintest
‘call SetPWD
‘call ChgPWD
‘call unlock