编程语言
首页 > 编程语言> > c#-以编程方式锁定Active Directory帐户

c#-以编程方式锁定Active Directory帐户

作者:互联网

我必须以编程方式在C#中锁定Active Directory中的用户帐户.

不幸的是,它不能通过userAccountControl属性来工作.每当我将userAccountControl设置为528(=带锁定标志的普通帐户)时,Active Directory均不会接受该值,并且将其重置为512(=普通帐户),而无需另行通知.

现在,我试图通过提供不正确的凭据来锁定帐户(请参见下文),但这也不起作用.

int retries = 0;
while (!adsUser.IsAccountLocked && retries < MAX_LOCK_RETRIES)
{
     retries++;

    try
    {  
        new DirectoryEntry(userPath, logonName, incorrectPassword).RefreshCache();
    }
    catch (Exception)
    { 
        /* ... */ 
    }
    adsUser.GetInfo();
}

有任何想法吗?

解决方法:

确保您用来禁用该帐户的帐户具有足够的特权来禁用该帐户.请参阅Microsoft的this example.

标签:active-directory,c
来源: https://codeday.me/bug/20191024/1922039.html