ActiveDirectoryでアカウントロックがかかったユーザのロック解除をするスクリプトです。
ドメインの管理者権限がないと動かないかもしれません。
' ActiveDirectoryドメイン名
Const DOMAIN_NAME = "ADのドメイン名"
' ロックアウト解除メイン
Function unlock_account(strAccount)
Dim tmpRet
Dim objUser
Dim strDomain
On Error Resume Next
Set objUser = GetObject("WinNT://" & DOMAIN_NAME & "/" & strAccount & ",user")
If Len(Err.Description) > 0 Then
tmpRet = "Error:1:" & Err.Description
Else
If objUser.IsAccountLocked Then
objUser.IsAccountLocked = False
objUser.SetInfo
If Len(Err.Description) > 0 Then
tmpRet = "Error:2:" & Err.Description
Else
tmpRet = "完了"
End If
Else
tmpRet = "ロックアウトされていません。"
End If
If Len(Err.Description) > 0 Then
tmpRet = "Error:3:" & Err.Description
End If
End If
Set objUser = Nothing
On Error Goto 0
unlock_account = tmpRet
End Function
' ユーザ入力画面表示
Sub Main()
Dim strUser
strUser = inputbox("ロック解除するユーザ名")
If strUser = "" Then
msgbox "処理を中止しました。"
Else
msgbox unlock_account(strUser)
End If
End Sub
Main
[Blog:技術系メモ http://t.co/fu4maLns ] に新規投稿しました。 「 ActiveDirectory のユーザロックアウト... 」