///
///根据AD域的userAccountControl属性判断用户是否禁用///
///
/// 是否禁用
private bool GetUserDelete(intuserAccContr)
{if (userAccContr >= 16777216) //TRUSTED_TO_AUTH_FOR_DELEGATION - 允许该帐户进行委派
{
userAccContr= userAccContr - 16777216;
}if (userAccContr >= 8388608) //PASSWORD_EXPIRED - (Windows 2000/Windows Server 2003) 用户的密码已过期
{
userAccContr= userAccContr - 8388608;
}if (userAccContr >= 4194304) //DONT_REQ_PREAUTH
{
userAccContr= userAccContr - 4194304;
}if (userAccContr >= 2097152) //USE_DES_KEY_ONLY - (Windows 2000/Windows Server 2003) 将此用户限制为仅使用数据加密标准 (DES) 加密类型的密钥
{
userAccContr= userAccContr - 2097152;
}if (userAccContr >= 1048576) //NOT_DELEGATED - 设置此标志后,即使将服务帐户设置为信任其进行 Kerberos 委派,也不会将用户的安全上下文委派给该服务
{
userAccContr= userAccContr - 1048576;
}if (userAccContr >= 524288) //TRUSTED_FOR_DELEGATION - 设置此标志后,将信任运行服务的服务帐户(用户或计算机帐户)进行 Kerberos 委派。任何此类服务都可模拟请求该服务的客户端。若要允许服务进行 Kerberos 委派,必须在服务帐户的 userAccountControl 属性上设置此标志
{
userAccContr= userAccContr - 524288;
}if (userAccContr >= 262144) //SMARTCARD_REQUIRED - 设置此标志后,将强制用户使用智能卡登录
{
userAccContr= userAccContr - 262144;
}if (userAccContr >= 131072) //MNS_LOGON_ACCOUNT - 这是 MNS 登录帐户
{
userAccContr= userAccContr - 131072;
}if (userAccContr >= 65536) //DONT_EXPIRE_PASSWORD-密码永不过期
{
userAccContr= userAccContr - 65536;
}if (userAccContr >= 2097152) //MNS_LOGON_ACCOUNT - 这是 MNS 登录帐户
{
userAccContr= userAccContr - 2097152;
}if (userAccContr >= 8192) //SERVER_TRUST_ACCOUNT - 这是属于该域的域控制器的计算机帐户
{
userAccContr= userAccContr - 8192;
}if (userAccContr >= 4096) //WORKSTATION_TRUST_ACCOUNT - 这是运行 Microsoft Windows NT 4.0 Workstation、Microsoft Windows NT 4.0 Server、Microsoft Windows 2000 Professional 或 Windows 2000 Server 并且属于该域的计算机的计算机帐户
{
userAccContr= userAccContr - 4096;
}if (userAccContr >= 2048) //INTERDOMAIN_TRUST_ACCOUNT - 对于信任其他域的系统域,此属性允许信任该系统域的帐户
{
userAccContr= userAccContr - 2048;
}if (userAccContr >= 512) //NORMAL_ACCOUNT - 这是表示典型用户的默认帐户类型
{
userAccContr= userAccContr - 512;
}if (userAccContr >= 256) //TEMP_DUPLICATE_ACCOUNT - 此帐户属于其主帐户位于另一个域中的用户。此帐户为用户提供访问该域的权限,但不提供访问信任该域的任何域的权限。有时将这种帐户称为“本地用户帐户”
{
userAccContr= userAccContr - 256;
}if (userAccContr >= 128) //ENCRYPTED_TEXT_PASSWORD_ALLOWED - 用户可以发送加密的密码
{
userAccContr= userAccContr - 128;
}if (userAccContr >= 64) //PASSWD_CANT_CHANGE - 用户不能更改密码。可以读取此标志,但不能直接设置它
{
userAccContr= userAccContr - 64;
}if (userAccContr >= 32) //PASSWD_NOTREQD - 不需要密码
{
userAccContr= userAccContr - 32;
}if (userAccContr >= 16) //LOCKOUT
{
userAccContr= userAccContr - 16;
}if (userAccContr >= 8) //HOMEDIR_REQUIRED - 需要主文件夹
{
userAccContr= userAccContr - 8;
}//if (userAccContr >= 2)//ACCOUNTDISABLE - 禁用用户帐户//{//userAccContr = userAccContr - 2;//}//if (userAccContr >= 1)//SCRIPT - 将运行登录脚本//{//userAccContr = userAccContr - 1;//}
if (userAccContr >= 2)
{return true;
}return false;
}