Поделиться через


Срок действия учетной записи (поставщик LDAP)

Чтобы задать дату окончания срока действия учетной записи, задайте для свойства IADsUser.AccountExpirationDate значение требуемой даты. Чтобы отключить дату окончания срока действия учетной записи, задайте атрибут accountExpires равным нулю. В следующих примерах кода показано, как задать дату окончания срока действия.

Public Sub SetUserAccountExpirationDate(User As IADsUser, ExpirationDate As Date)
    If 0 = ExpirationDate Then
        ' Disable the account expiration date.
        User.Put "accountExpires", 0
    Else
        ' Set the new account expiration date.
        User.AccountExpirationDate = ExpirationDate
    End If
    
    User.SetInfo
 
End Sub
/***************************************************************************

    SetUserAccountExpirationDate()

***************************************************************************/

HRESULT SetUserAccountExpirationDate(IADsUser *pUser, DATE date)
{
    if(!pUser) 
    {
        return E_INVALIDARG;
    }

    HRESULT hr;

    if(!date || date < 0) 
    {
        // Account never expires. Set the accountExpires attribute to zero.
        VARIANT var;
        VariantInit(&var);
        V_I4(&var) = 0;
        V_VT(&var) = VT_I4;
        
        hr = pUser->Put(CComBSTR("accountExpires"), var); 

        VariantClear(&var);
    }
    else 
    {
        // Account expires on date.
        hr = pUser->put_AccountExpirationDate(date); 
    }

    if(S_OK == hr)
    {
        hr = pUser->SetInfo();
    }

    return hr;
}

Примечание.

Атрибут accountExpires содержит дату истечения срока действия учетной записи. В оснастке MMC Пользователи и компьютеры Active Directory отображается дата истечения срока действия учетной записи в конце. То есть оснастка MMC Пользователи и компьютеры Active Directory будет отображать дату окончания срока действия учетной записи как за день до даты, содержащейся в атрибуте accountExpires.