ユーザー セキュリティ属性
objectGUID, objectSid, cn, distinguishedNameなどのユーザーオブジェクトの名前付けプロパティに加えて、ログオン、ネットワークアクセス、およびアクセス制御に使用される他のセキュリティプロパティがあります。 これらのプロパティは、Windowsセキュリティシステムによって使用され、Active Directoryユーザーとコンピュータースナップインで表示および管理できます。
accountExpires
accountExpires属性は、アカウントの有効期限を指定します。 この値は、1601年1月1日 (UTC) 以降の100ナノ秒間隔の数を表す大きな整数として格納されます。 TIMEQ_FOREVER (Lmaccess.hに定義されています)の値は、アカウントの有効期限が切れないことを示します。
altSecurityIdentities
altSecurityIdentities属性は、認証を目的としたX.509証明書または外部Kerberosユーザーアカウントのマッピングを含む複数値の属性です。 公開キー認証パッケージやKerberosを含むさまざまなセキュリティパッケージは、証明書、UNIX Kerberosチケットなどの代替形式のIDを提示するときに、このデータを使用してユーザーを認証します。 システムリソースにアクセスできるように、対応するユーザーアカウントに基づいてWindows 2000トークンを作成します。
X.509証明書の場合、値は、外部のパブリック証明機関によって発行された509v3証明書の発行者名とサブジェクト名である必要があります。これは、認証用のアカウントを検索するために使用されるユーザーアカウントにマップされます。 SSL (Schannel) パッケージでは、次の構文を使用します:X509:<somecertinfotype>somecertinfo。 例えば、以下の値は、発行者DN「<I>」をDN「C=US,O=InternetCA,CN=APublicCertificateAuthority」で指定し、サブジェクトDN「<S>」をDN「C=US,O=Fabrikam,OU=Sales,CN=Jeff Smith」で指定する。
X509:<I>C=US,O=InternetCA,CN=APublicCertificateAuthority<S>C=US,O=Fabrikam,OU=Sales,CN=Jeff Smith
<S>または「<I>」と「<S>」がサポートされていることに注意してください。 「<I>」のみを持つことはサポートされていません。 部分的なDNマッチングはサポートされていないため、アプリケーションは「<I>」または「<S>」内の値を変更してはならない。
外部Kerberosアカウントの場合、値はKerberosアカウント名にする必要があります。 Kerberosパッケージは次の構文を使用します。Kerberos:MITaccountname
. たとえば、のアカウントの値は次のとおりですFabrikam.com
:
Kerberos:Jeff.Smith@Fabrikam.com
badPasswordTime
複製されません。 badPasswordTime 属性は、ユーザーが正しくないパスワードを使用してアカウントにログオンしようとした最後の時刻を指定します。 この値は、1601年1月1日 (UTC) 以降の100ナノ秒間隔の数を表す大きな整数として格納されます。 この属性は、ドメイン内の各ドメインコントローラーで個別に保持されます。 値0は、最後に無効なパスワードの時刻が不明であることを意味します。 ドメイン内のユーザーの最後に無効なパスワードの時刻の正確な値を取得するには、ドメイン内の各ドメインコントローラーに対してクエリを実行し、最大値を使用する必要があります。
badPwdCount
複製されません。 badPwdCount 属性は、ユーザーが正しくないパスワードを使用してアカウントにログオンしようとした回数を指定します。 この属性は、ドメイン内の各ドメインコントローラーで個別に保持されます。 0
値が不明であることを示します。 ドメイン内のユーザーの無効なパスワード試行の合計の正確な値を取得するには、ドメイン内の各ドメインコントローラーに対してクエリを実行し、値の合計を使用する必要があります。
codePage
codePage属性は、ユーザーが選択した言語のコードページを指定します。 この値は、Windowsでは使用されません。
countryCode
countryCode属性は、ユーザーの言語の国/地域コードを指定します。 この値は、Windowsでは使用されません。
homeDirectory
homeDirectory属性は、ユーザーのホームディレクトリのパスを指定します。 文字列はnullにすることができます。
homeDriveが設定され、ドライブ文字が指定されている場合、homeDirectoryはUNCパスである必要があります。 パスは、\\server\share\directoryという形式のネットワークUNCパスである必要があります。 この値はnull文字列にすることができます。
homeDriveが設定されていない場合、homeDirectoryはC:\mylocaldirなどのローカルパスである必要があります。
homeDrive
homeDrive属性は、で指定されたUNCパスをマップするドライブ文字を指定しますhomeDirectory
。 ドライブ文字は、次の形式で指定する必要があります。
<drive letter>:
ここで、 「<ドライブ文字>」 はマップするドライブの文字です。 次に例を示します。
Z:
この属性が設定されていない場合、homeDirectoryはC:\mylocaldirなどのローカルパスである必要があります。
lastLogoff
複製されません。 lastLogoff属性は、最後のログオフが発生した日時を指定します。 この値は、1601年1月1日 (UTC) 以降の100ナノ秒間隔の数を表す大きな整数として格納されます。 この大きな整数の上位部分はFILETIME構造体のdwHighDateTime
メンバーに対応し、下位部分はFILETIME
構造体のdwLowDateTime
メンバーに対応します。 この属性は、ドメイン内の各ドメインコントローラーで個別に保持されます。 値0は、最後のログオフ時刻が不明であることを意味します。 ドメイン内のユーザーの最後のログオフの正確な値を取得するには、ドメイン内の各ドメインコントローラーに対してクエリを実行し、最大値を使用する必要があります。
lastLogon
複製されません。 lastLogon属性は、最後のログオンが発生した日時を指定します。 この値は、1601年1月1日 (UTC) 以降の100ナノ秒間隔の数を表す大きな整数として格納されます。 この大きな整数の上位部分はFILETIME構造体のdwHighDateTime
メンバーに対応し、下位部分はFILETIME
構造体のdwLowDateTime
メンバーに対応します。 この属性は、ドメイン内の各ドメインコントローラーで個別に保持されます。 値0は、最後のログオン時刻が不明であることを意味します。 ドメイン内のユーザーの最後のログオンの正確な値を取得するには、ドメイン内の各ドメインコントローラーを照会し、最大値を使用する必要があります。
lmPwdHistory
lmPwdHistory属性は、LAN Manager (LM) の一方向の形式 (OWF) でのユーザーのパスワード履歴です。 LM OWFは、LAN Manager 2.xクライアント、Windows 95、およびWindows 98との互換性のために使用されます。 この属性は、オペレーティングシステムによってのみ使用されます。 プレーンテキストのパスワードをOWF形式のパスワードから派生させることはできないことに注意してください。
logonCount
複製されません。 logonCount属性は、ユーザーがこのアカウントへのログオンを試行して成功した回数をカウントします。 この属性は、ドメイン内の各ドメインコントローラーで保持されます。 0
値が不明であることを示します。 ユーザーがドメイン内で成功したログオン試行の合計回数の正確な値を取得するには、ドメイン内の各ドメインコントローラーに対してクエリを実行し、値の合計を使用する必要があります。
mail 属性は単一値の属性で、例えば jeff@Fabrikam.com
のようにユーザーのSMTPアドレスを含んでいます。
maxStorage
maxStorage属性は、ユーザーが使用できるハードディスクドライブの最大容量を指定します。 使用可能なすべてのディスク領域を使用するには、USER_MAXSTORAGE_UNLIMITED (Lmaccess.hに定義されています)値を使用します。
memberOf
memberOf属性は、primaryGroupIdによって表されるプライマリグループを除き、ユーザーが直接メンバーであるグループを含む複数値の属性です。 グループメンバーシップは、この属性の取得元のドメインコントローラー (DC) に依存します。
- ユーザーを含むドメインのDCでは、ユーザーのmemberOfは、そのドメイン内のグループのメンバーシップに関して完全です。ただし、
memberOf
他のドメインのドメインローカルおよびグローバルグループのユーザーのメンバーシップは含まれません。 - GCサーバーでは、ユーザーのmemberOfは、すべてのユニバーサルグループメンバーシップに関して完全です。
DCの両方の条件がtrueの場合、両方のデータセットがmemberOfに含まれます。
この属性には、メンバー属性にユーザーを含むグループが一覧表示されることに注意してください。入れ子になった先行タスクの再帰リストは含まれません。 たとえば、ユーザーOがグループCのメンバーであり、グループBとグループBがグループAに入れ子になっている場合、ユーザーOのmemberOf属性にはグループCとグループBが一覧表示されますが、グループAは表示されません。
この属性は格納されません。計算されたバックリンク属性です。
ntPwdHistory
ntPwdHistory属性は、Windows NTの一方向形式 (OWF) のユーザーのパスワード履歴です。 Windowsでは、Windows NT OWFが使用されます。 この属性は、オペレーティングシステムによってのみ使用されます。 プレーンテキストのパスワードをOWF形式のパスワードから派生させることはできないことに注意してください。
otherMailbox
otherMailbox属性は、フォーム内の他の追加のメールアドレスを含む複数値属性です 例CCMAIL: JeffSmith
。
PasswordExpirationDate
パスワードの有効期限は、ユーザーオブジェクトの属性ではありません。 これは、ユーザーのpwdLastSetとユーザーのドメインのmaxPwdAgeの合計に基づいて計算された値です。 パスワードの有効期限を取得するには、IADsUserを取得しますIADsUser.PasswordExpirationDateプロパティ。 代わりに、IADsDomain.MaxPasswordAgeプロパティを設定して、ドメインの設定を変更します。
primaryGroupId
primaryGroupId属性は、オブジェクトのプライマリグループであるグループのprimaryGroupTokenを含む単一値の属性です。 オブジェクトのプライマリグループは、memberOf属性に含まれていません。 例えば、デフォルトではユーザーオブジェクトのプライマリグループは Domain Users グループの primaryGroupToken
ですが、Domain Users グループはユーザーオブジェクトの memberOf
属性の一部ではありません。
profilePath
profilePath属性は、ユーザーのプロファイルへのパスを指定します。 この値には、null文字列、ローカル絶対パス、またはUNCパスを指定できます。
pwdLastSet
pwdLastSet属性は、パスワードが最後に変更された日時を指定します。 この値は、1601年1月1日 (UTC) 以降の100ナノ秒間隔の数を表す大きな整数として格納されます。
システムは、この属性の値と、ユーザーオブジェクトを含むドメインのmaxPwdAge属性を使用して、パスワードの有効期限を計算します。 つまり、ユーザーのpwdLastSetとユーザーのドメインのmaxPwdAge
の合計である。
この属性は、ユーザーが次にログオンしたときにパスワードを変更する必要があるかどうかを制御します。 pwdLastSetが0 (既定値) の場合、ユーザーは次回ログオン時にパスワードを変更する必要があります。 この値-1
は、ユーザーが次回ログオン時にパスワードを変更する必要がないことを示します。 システムは、ユーザーがパスワードを-1
設定した後にこの値をに設定します。
sAMAccountType
sAMAccountType属性は、アカウントの種類を表す整数を指定します。 これは、オブジェクトの作成時にオペレーティングシステムによって設定されます。
scriptPath
scriptPath属性は、ユーザーのログオンスクリプト、.cmd、.exe、または.batファイルのパスを指定します。 文字列はnullにすることができます。
tokenGroups
tokenGroups属性は、ユーザーが直接および間接メンバーであるすべてのグループ (プライマリグループを含む) のSIDを含む複数値の属性です。 この属性は、推移的な逆方向メンバーシップを取得するためにグローバルカタログ (GC) サーバーが存在する場合にのみ取得できます。
この属性は、メンバー属性にユーザーを含むグループと、メンバー属性にそれらのグループを含むグループを再帰的に一覧表示することに注意してください。 たとえば、ユーザーOがグループCのメンバーであり、グループBとグループBがグループAに入れ子になっている場合、ユーザーOのtokenGroups属性にはグループC、グループB、およびグループAが一覧表示されます。
tokenGroups属性は、2つのLDAPクエリだけでグループメンバーシップの一覧を取得するための便利な属性です。最初のクエリでは、ユーザーのtokenGroups属性からグループSIDの一覧を取得し、2番目のクエリでは、そのSIDの一覧を使用して各グループのname属性を取得します。 これにより、primaryGroupId属性を展開し、memberOf属性を再帰的に展開するために複数の検索を行う必要がなくなります。
unicodePwd
unicodePwd属性はユーザーパスワードです。
ユーザー・パスワードを設定するには、スクリプトまたはアプリケーションがユーザー自身のパスワードを変更できるようにする場合は、IADsUser.ChangePasswordメソッドを使用し、スクリプトまたはアプリケーションが管理者にパスワードのリセットを許可する場合は、IADsUser.SetPasswordメソッドを使用します。
Windows NTの一方向形式 (OWF) のユーザーのパスワード。 Windowsでは、Windows NT OWFが使用されます。 この属性は、オペレーティングシステムによってのみ使用されます。 プレーンテキストのパスワードをOWF形式のパスワードから派生させることはできないことに注意してください。
userAccountControl
userAccountControl属性は、ユーザーのパスワード、ロックアウト、無効化/有効化、スクリプト、およびホームディレクトリの動作を制御するフラグを指定します。 この属性には、オブジェクトのアカウントの種類を示すフラグも含まれています。 通常、ユーザーオブジェクトにはUF_NORMAL_ACCOUNTが設定されています。
次のフラグは、Lmaccess.hで定義されています。
フラグ | 説明 |
---|---|
UF_SCRIPT | 実行されたログオンスクリプト。 この値は、LAN Manager 2.0またはWindows NTに設定する必要があります。 |
UF_ACCOUNTDISABLE | ユーザー アカウントが無効になります。 |
UF_HOMEDIR_REQUIRED | ホームディレクトリが必要です。 Windows NTおよびWindows 2000では、この値は無視されます。 |
UF_PASSWD_NOTREQD | パスワードは必要ありません。 |
UF_PASSWD_CANT_CHANGE | ユーザーはパスワードを変更できません。 |
UF_LOCKOUT | アカウントは現在ロックされています。 この値をクリアして、以前にロックされたアカウントのロックを解除できます。 この値を使用して、以前にロックされたアカウントをロックすることはできません。 |
UF_DONT_EXPIRE_PASSWD | アカウントの有効期限が切れないパスワードを表します。 |
次のフラグは、アカウントの種類を記述します。 設定できる値は1つだけです。 アカウントの種類を変更することはできません。
フラグ | 説明 |
---|---|
UF_NORMAL_ACCOUNT | これは、一般的なユーザーを表す既定のアカウントの種類です。 |
UF_TEMP_DUPLICATE_ACCOUNT | これは、プライマリアカウントが別のドメインにあるユーザーのアカウントです。 このアカウントは、このドメインへのユーザーアクセスを提供しますが、このドメインを信頼するドメインにはアクセスできません。 ユーザーマネージャーは、このアカウントの種類をローカルユーザーアカウントと呼びます。 |
UF_WORKSTATION_TRUST_ACCOUNT | これは、このドメインのメンバーであるWindows NT Workstation/Windows 2000 ProfessionalまたはWindows NT Server/Windows 2000 Serverのコンピューターアカウントです。 |
UF_SERVER_TRUST_ACCOUNT | これは、このドメインのメンバーであるWindows NTバックアップドメインコントローラーのコンピューターアカウントです。 |
UF_INTERDOMAIN_TRUST_ACCOUNT | これは、他のドメインを信頼するWindows NTドメインの信頼アカウントを許可します。 |
userCertificate
userCertificate属性は、ユーザーに発行されたDERでエンコードされたX509v3証明書を含む複数値の属性です。 この属性には、Microsoft証明書サービスによってこのユーザーに発行された公開キー証明書が含まれていることに注意してください。
userSharedFolder
userSharedFolder属性は、ユーザーの共有ドキュメントフォルダーへのUNCパスを指定します。 パスは、\\server\share\directoryという形式のネットワークUNCパスである必要があります。 この値はnull文字列にすることができます。
userWorkstations
userWorkstations属性は、ユーザーがログオンできるワークステーションのNetBIOS名を含む単一値の属性です。 各NetBIOS名はコンマで区切られます。
値が設定されていない場合は、制限がないことを示します。 すべてのワークステーションからこのアカウントへのログオンを無効にするには、userAccountControl属性にUF_ACCOUNTDISABLE値(Lmaccess.hに定義されています)を設定します。