帐户过期(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 属性包含帐户过期日期。 Active Directory 用户和计算机 MMC 管理单元显示帐户将在末尾过期的日期。 也就是说,Active Directory 用户和计算机 MMC 管理单元将帐户到期日期显示为比 accountExpires 属性中包含的日期早一天。