• 如何使用 UserAccountControl 标志操纵用户帐户属性


     

    转载: http://support.microsoft.com/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 安装媒体安装支持工具后,即可使用这两个工具。

     

    在这里加上一点代码:

     

      DirectoryEntry entry = new DirectoryEntry(path, user, password, AuthenticationTypes.Secure);

      entry.Properties["userAccountControl"].Value = 512;

     

    属性标志

    十六进制值

    十进制值

    SCRIPT

    0x0001

    1

    ACCOUNTDISABLE

    0x0002

    2

    HOMEDIR_REQUIRED

    0x0008

    8

    LOCKOUT

    0x0010

    16

    PASSWD_NOTREQD

    0x0020

    32

    PASSWD_CANT_CHANGE

    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

     

    属性标志说明

    SCRIPT - 将运行登录脚本。

    ACCOUNTDISABLE - 禁用用户帐户。

    HOMEDIR_REQUIRED - 需要主文件夹。

    PASSWD_NOTREQD - 不需要密码。

    PASSWD_CANT_CHANGE - 用户不能更改密码。可以读取此标志,但不能直接设置它。

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

    TEMP_DUPLICATE_ACCOUNT - 此帐户属于其主帐户位于另一个域中的用户。此帐户为用户提供访问该域的权限,但不提供访问信任该域的任何域的权限。有时将这种帐户称为本地用户帐户

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

    INTERDOMAIN_TRUST_ACCOUNT - 对于信任其他域的系统域,此属性允许信任该系统域的帐户。

    WORKSTATION_TRUST_ACCOUNT - 这是运行 Microsoft Windows NT 4.0 WorkstationMicrosoft Windows NT 4.0 ServerMicrosoft 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) 允许该帐户进行委派。这是一个与安全相关的设置。应严格控制启用此选项的帐户。此设置允许该帐户运行的服务冒充客户端的身份,并作为该用户接受网络上其他远程服务器的身份验证。

    UserAccountControl

    这些值是某些对象的默认 UserAccountControl 值:

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

     

        DirectoryEntry entry = new DirectoryEntry(path, user, password, AuthenticationTypes.Secure);

        entry.Properties["userAccountControl"].Value = 512;

  • 相关阅读:
    没穿过几次的衬衫,发黄了!郁闷ing!
    delta3d与ode物理引擎的结合。
    PIMPL 模式的实现及应用。
    互联网搜索广告介绍(一)
    Windows Phone 7的Launchers&Choosers简介及其行为浅析
    Windows Phone 7的屏幕方向及变更处理
    Windows Phone 7常用资源大集合
    Windows Phone 7 Developer Tools 更新指南
    html 5简易的影片播放器(高手绕行)
    App Inventor for Android Button单击事件
  • 原文地址:https://www.cnblogs.com/LeimOO/p/1328940.html
Copyright © 2020-2023  润新知