【发布时间】:2015-09-25 09:29:08
【问题描述】:
我需要通过 c# 锁定 AD 帐户。这是我的功能
/// <summary>
/// This Methoid will Disable the User Account based on the Directory Entry Object
/// </summary>
/// <param name="oDE">The Directoy Entry Object of the Account to Disable</param>
public void LockAccount(DirectoryEntry oDE)
{
oDE.InvokeSet("IsAccountLocked", true);
//oDE.Properties["userAccountControl"][0] = ADMethods.ADAccountOptions.UF_NORMAL_ACCOUNT | ADMethods.ADAccountOptions.UF_DONT_EXPIRE_PASSWD | ADMethods.ADAccountOptions.UF_ACCOUNT_LOCKOUT;
//oDE.CommitChanges();
//oDE.Close();
}
运行它和舞会异常:
System.Reflection.TargetInvocationException:已抛出异常 通过调用的目标。 ---> System.Runtime.InteropServices.COMException:来自 HRESULT 的异常: 0x80005008 --- 内部异常堆栈跟踪结束 --- 在 System.DirectoryServices.DirectoryEntry.InvokeSet(字符串属性名称, 对象[] 参数)
【问题讨论】:
-
尝试将其设置为 false 看看会发生什么? msdn.microsoft.com/en-us/library/aa746533(v=vs.85).aspx "尝试将 IsAccountLocked 属性设置为 TRUE 将失败。只有系统可以锁定帐户。"
-
这意味着没有办法以编程方式锁定帐户?
标签: c# active-directory