次の方法で共有


UserAccountControl フラグを使用してユーザー アカウントのプロパティを操作する

この記事では、 UserAccountControl 属性を使用してユーザー アカウントのプロパティを操作する方法について説明します。

元の KB 番号: 305144

まとめ

ユーザー アカウントのプロパティを開き、[ Account ] タブをクリックし、[ Account オプション ] ダイアログ ボックスのチェック ボックスをオンまたはオフにすると、 UserAccountControl 属性に数値が割り当てられます。 属性に割り当てられた値は、有効になっているオプションを Windows に通知します。

ユーザー アカウントを表示するには、スタートをクリックし、Programs をポイントし、Administrative Tools をポイントして、Active Directory ユーザーとコンピューターをクリックします。

プロパティ フラグの一覧

これらの属性は、Ldp.exe ツールまたは Adsiedit.msc スナップインを使用して表示および編集できます。

次の表に、割り当てることができるフラグの一覧を示します。 これらの値はディレクトリ サービスによってのみ設定またはリセットできるため、ユーザーまたはコンピューター オブジェクトに一部の値を設定することはできません。 Ldp.exeは、値を 16 進数で表示します。 Adsiedit.msc では、値が 10 進数で表示されます。 フラグは累積的です。 ユーザーのアカウントを無効にするには、 UserAccountControl 属性を 0x0202 (0x002 + 0x0200) に設定します。 10 進数では、 514 (2 + 512) です。

Note

Active Directory は、Ldp.exeと Adsiedit.msc の両方で直接編集できます。 経験豊富な管理者のみが、これらのツールを使用して Active Directory を編集する必要があります。 どちらのツールも、元の Windows インストール メディアからサポート ツールをインストールした後に使用できます。

プロパティのフラグ 16 進数の値 10 進数の値
スクリプト 0x0001 1
ACCOUNTDISABLE 0x0002 2
HOMEDIR_REQUIRED 0x0008 8
ロックアウト 0x0010 16
PASSWD_NOTREQD 0x0020 32
PASSWD_CANT_CHANGE

UserAccountControl 属性を直接変更して、このアクセス許可を割り当てることはできません。 プログラムでアクセス許可を設定する方法については、「 Property フラグの説明 」セクションを参照してください。
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

Note

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 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) このプリンシパルは、キーに Data Encryption Standard (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)

Note

信頼オブジェクトは、従来のパスワード ポリシーとパスワード属性をユーザーオブジェクトとコンピューター オブジェクトと同じように使用しないため、Windows 信頼アカウントは、userAccountControl 属性値PASSWD_NOTREQDパスワードを持つことから除外されます。

信頼シークレットは、ドメイン間信頼アカウントの特別な属性によって表され、信頼の方向を示します。 受信信頼シークレットは、信頼の "信頼" 側の trustAuthIncoming 属性に格納されます。 送信信頼シークレットは、信頼の "信頼" 側の trustAuthOutgoing 属性に格納されます。

  • 双方向の信頼の場合、信頼の両側のINTERDOMAIN_TRUST_ACCOUNT オブジェクトの両方が設定されます。
  • 信頼シークレットは、信頼するドメインのプライマリ ドメイン コントローラー (PDC) エミュレーターフレキシブル シングル マスター操作 (FSMO) ロールであるドメイン コントローラーによって保持されます。
  • このため、PASSWD_NOTREQD UserAccountControl 属性は既定で INTERDOMAIN_TRUST_ACCOUNT アカウントに設定されます。