如何使用 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 Workstation、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) 允許該帳戶進行委派。這是一個與安全相關的設置。應嚴格控制啟用此選項的帳戶。此設置允許該帳戶運行的服務冒充客戶端的身份,并作為該用戶接受網絡上其他遠程服務器的身份驗證。 |
UserAccountControl 值
這些值是某些對象的默認 UserAccountControl 值:
典型用戶:0x200 (512)
域控制器:0x82000 (532480)
工作站/服務器:0x1000 (4096)
?
?
?
?
DirectoryEntry entry = new DirectoryEntry(path, user, password, AuthenticationTypes.Secure);
entry.Properties["userAccountControl"].Value = 512;
轉載于:https://www.cnblogs.com/LeimOO/archive/2008/11/07/1328940.html
總結
以上是生活随笔為你收集整理的如何使用 UserAccountControl 标志操纵用户帐户属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 足银多少钱啊?
- 下一篇: 斯柯达亚克预售价是多少