使用 UserAccountControl 标志操作用户帐户属性

本文介绍有关使用 UserAccountControl 属性操作用户帐户属性的信息。

原始 KB 数: 305144

总结

打开用户帐户的属性时,单击“帐户”选项卡,然后在“帐户选项”对话框中选中或清除复选框,数值将分配给 UserAccountControl 属性。 分配给属性的值告知 Windows 已启用哪些选项。

若要查看用户帐户,请单击“开始”,指向程序”,指向“管理工具”,然后单击Active Directory 用户和计算机

属性标志列表

可以使用 Ldp.exe 工具或 Adsiedit.msc 管理单元查看和编辑这些属性。

下表列出了可以分配的可能标志。 不能在用户或计算机对象上设置某些值,因为这些值只能由目录服务设置或重置。 Ldp.exe显示十六进制中的值。 Adsiedit.msc 以十进制形式显示值。 标志是累积的。 若要禁用用户帐户,请将 UserAccountControl 属性设置为0x0202(0x002 + 0x0200)。 在十进制数中,它是 514 (2 + 512)。

注意

可以在 Ldp.exe 和 Adsiedit.msc 中直接编辑 Active Directory。 只有经验丰富的管理员才应使用这些工具编辑 Active Directory。 从原始 Windows 安装介质安装支持工具后,可以使用这两种工具。

属性标志 值(采用十六进制) 值(采用十进制)
SCRIPT 0x0001 1
ACCOUNTDISABLE 0x0002 2
HOMEDIR_REQUIRED 0x0008 8
闭厂 0x0010 16
PASSWD_NOTREQD 0x0020 32
PASSWD_CANT_CHANGE

无法通过直接修改 UserAccountControl 属性来分配此权限。 有关如何以编程方式设置权限的信息,请参阅 “属性标志说明 ”部分。
0x0040 64
ENCRYPTED_TEXT_PWD_ALLOWED 0x0080 128
TEMP_DUPLICATE_ACCOUNT 0x0100 256
NORMAL_ACCOUNT 0x0200 512
INTERDOMAIN_TRUST_ACCOUNT 0x0800 2048
WORKSTATION_TRUST_ACCOUNT 0x1000 4096
SERVER_TRUST_ACCOUNT 0x2000 8192
DONT_EXPIRE_PASSWORD 0x10000 65536
MNS_LOGON_ACCOUNT 0x20000 131072
SMARTCARD_REQUIRED 0x40000 262144
TRUSTED_FOR_DELEGATION 0x80000 524288
NOT_DELEGATED 0x100000 1048576
USE_DES_KEY_ONLY 0x200000 2097152
DONT_REQ_PREAUTH 0x400000 4194304
PASSWORD_EXPIRED 0x800000 8388608
TRUSTED_TO_AUTH_FOR_DELEGATION 0x1000000 16777216
PARTIAL_SECRETS_ACCOUNT 0x04000000 67108864

注意

在基于 Windows Server 2003 的域中,LOCK_OUT和PASSWORD_EXPIRED已替换为名为 ms-DS-User-Account-Control-Computed 的新属性。 有关此新属性的详细信息,请参阅 ms-DS-User-Account-Control-Computed 属性

属性标志说明

  • SCRIPT - 将运行登录脚本。

  • ACCOUNTDISABLE - 用户帐户已禁用。

  • HOMEDIR_REQUIRED - 主文件夹是必需的。

  • PASSWD_NOTREQD - 无需密码。

  • PASSWD_CANT_CHANGE - 用户无法更改密码。 它是用户对象的权限。 有关如何以编程方式设置此权限的信息,请参阅修改用户无法更改密码(LDAP 提供程序)。

  • ENCRYPTED_TEXT_PASSWORD_ALLOWED - 用户可以发送加密的密码。

  • TEMP_DUPLICATE_ACCOUNT - 它是主帐户位于另一个域中的用户的帐户。 此帐户允许用户访问该域,但无法访问信任该域的任何域。 它有时称为本地用户帐户。

  • NORMAL_ACCOUNT - 它是表示典型用户的默认帐户类型。

  • INTERDOMAIN_TRUST_ACCOUNT - 允许信任信任其他域的系统域的帐户。

  • WORKSTATION_TRUST_ACCOUNT - 它是运行Microsoft Windows NT 4.0 工作站、Microsoft Windows NT 4.0 Server、Microsoft Windows 2000 Professional 或 Windows 2000 Server 的计算机的计算机帐户,并且是此域的成员。

  • SERVER_TRUST_ACCOUNT - 它是作为此域成员的域控制器的计算机帐户。

  • DONT_EXPIRE_PASSWD - 表示密码,该密码不应在帐户上过期。

  • MNS_LOGON_ACCOUNT - 它是 MNS 登录帐户。

  • SMARTCARD_REQUIRED - 设置此标志时,它会强制用户使用智能卡登录。

  • TRUSTED_FOR_DELEGATION - 设置此标志时,服务运行的服务帐户(用户或计算机帐户)对于 Kerberos 委派是受信任的。 任何此类服务都可以模拟请求服务的客户端。 若要为 Kerberos 委派启用服务,必须在服务帐户的 userAccountControl 属性上设置此标志。

  • NOT_DELEGATED - 设置此标志时,即使服务帐户设置为 Kerberos 委派受信任,用户的安全上下文也不会委托给服务。

  • USE_DES_KEY_ONLY - (Windows 2000/Windows Server 2003)限制此主体仅对密钥使用数据加密标准(DES)加密类型。

  • DONT_REQUIRE_PREAUTH - (Windows 2000/Windows Server 2003) 此帐户不需要 Kerberos 预身份验证即可登录。

  • PASSWORD_EXPIRED - (Windows 2000/Windows Server 2003) 用户的密码已过期。

  • TRUSTED_TO_AUTH_FOR_DELEGATION - (Windows 2000/Windows Server 2003) 帐户已启用委派。 这是一个安全敏感的设置。 应严格控制启用此选项的帐户。 此设置允许在帐户下运行的服务假定客户端的标识,并将该用户作为该用户向网络上的其他远程服务器进行身份验证。

  • PARTIAL_SECRETS_ACCOUNT - (Windows Server 2008/Windows Server 2008 R2) 帐户是只读域控制器(RODC)。 这是一个安全敏感的设置。 从 RODC 中删除此设置会损害该服务器上的安全性。

UserAccountControl 值

下面是特定对象的默认 UserAccountControl 值:

  • 典型用户:0x200(512)
  • 域控制器:0x82000(532480)
  • 工作站/服务器:0x1000 (4096)
  • 信任:0x820 (2080)

注意

Windows 信任帐户可以通过 PASSWD_NOTREQD UserAccountControl 属性值免除密码,因为信任对象不会像用户和计算机对象一样使用传统的密码策略和密码属性。

信任机密由域间信任帐户的特殊属性表示,指示信任的方向。 入站信任机密存储在信任的“受信任”端的 trustAuthIncoming 属性中。 出站信任机密存储在 trustAuthOutgoing 属性中,位于信任的“信任”末尾。

  • 对于双向信任,信任的每一侧INTERDOMAIN_TRUST_ACCOUNT对象都将设置这两个对象。
  • 信任机密由域控制器维护,该域控制器是信任域中的主要域控制器(PDC)模拟器灵活单主操作(FSMO)角色。
  • 因此,默认情况下,INTERDOMAIN_TRUST_ACCOUNT帐户上设置了 PASSWD_NOTREQD UserAccountControl 属性。