UserAccountControl フラグを使用してユーザー アカウントのプロパティを操作する
この記事では、UserAccountControl 属性を使用してユーザー アカウントのプロパティを操作する方法について説明します。
元の KB 番号: 305144
概要
ユーザー アカウントのプロパティを開いて [アカウント] タブをクリックし、[アカウント オプション] ダイアログ ボックスのチェック ボックスをオンまたはオフにすると、UserAccountControl 属性に数値が割り当てられます。 属性に割り当てられた値は、どのオプションが有効になっているかを Windows に伝えます。
ユーザー アカウントを表示するには、[スタート]、[プログラム]、[管理ツール]、[Active Directory のユーザーとコンピューター] の順にクリックします。
プロパティ フラグの一覧
これらの属性は、Ldp.exe ツールまたは Adsiedit.msc スナップインを使用して表示および編集できます。
次の表に、割り当て可能なフラグを示します。 これらの値を設定またはリセットできるのはディレクトリ サービスのみであるため、ユーザー オブジェクトまたはコンピューター オブジェクトの値の中には設定できないものもあります。 Ldp.exe は、16 進数で値を表示します。 Adsiedit.msc は、10 進数で値を表示します。 フラグは累積的です。 ユーザー アカウントを無効にするには、UserAccountControl 属性を 0x0202 (0x002 + 0x0200) に設定します。 10 進数では、514 (2 + 512) です。
注:
Ldp.exeと Adsiedit.msc のどちらでも、Active Directory を直接編集できます。 これらのツールを使用して Active Directory を編集するのは、経験豊富な管理者に限ってください。 どちらのツールも、オリジナルの Windows インストール メディアからサポート ツールをインストールすると使用できるようになります。
プロパティ フラグ | 16 進数の値 | 10 進数の値 |
---|---|---|
SCRIPT | 0x0001 | 1 |
ACCOUNTDISABLE | 0x0002 | 2 |
HOMEDIR_REQUIRED | 0x0008 | 8 |
LOCKOUT | 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) アカウントは委任が有効になっています。 セキュリティに配慮した設定です。 このオプションが有効になっているアカウントは、厳密に制御する必要があります。 この設定により、このアカウントで実行されるサービスは、クライアントの ID を想定し、ネットワーク上の他のリモート サーバーに対してそのユーザーとして認証されるようになります。
PARTIAL_SECRETS_ACCOUNT - (Windows Server 2008 または Windows Server 2008 R2) アカウントは読み取り専用ドメイン コントローラー (RODC) です。 セキュリティに配慮した設定です。 RODC からこの設定を削除すると、そのサーバーのセキュリティが損なわれます。
UserAccountControl の値
特定のオブジェクトに対する既定の UserAccountControl 値を次に示します。
- 一般的なユーザー: 0x200 (512)
- ドメイン コントローラー: 0x82000 (532480)
- ワークステーションまたはサーバー: 0x1000 (4096)
- 信頼: 0x820 (2080)
注:
信頼オブジェクトでは、ユーザーオブジェクトとコンピューター オブジェクトと同じ方法で従来のパスワード ポリシーとパスワード属性が使用されないため、Windows 信頼アカウントは UserAccountControl 属性値PASSWD_NOTREQDパスワードを持つことから除外されます。
信頼シークレットは、ドメイン間信頼アカウントの特殊な属性によって表され、信頼の方向を示します。 受信信頼シークレットは、信頼の "信頼" 側の trustAuthIncoming 属性に格納されます。 送信信頼シークレットは、信頼の "信頼" の末尾にある trustAuthOutgoing 属性に格納されます。
- 双方向の信頼の場合、信頼の両側のINTERDOMAIN_TRUST_ACCOUNT オブジェクトは両方とも設定されます。
- 信頼シークレットは、信頼ドメインのプライマリ ドメイン コントローラー (PDC) エミュレーターフレキシブル シングル マスター操作 (FSMO) ロールであるドメイン コントローラーによって管理されます。
- このため、PASSWD_NOTREQD UserAccountControl 属性は既定でINTERDOMAIN_TRUST_ACCOUNTアカウントに設定されます。