- 記事一覧 >
- ブログ記事
AD(Active Directory)の設定項目と属性名を紐付けてみた
はじめに
WindowsのAD(Active Directory)は、LDAPのように、ツリー構造のデータベースで管理されています。そのため、OpenLDAPのldapsearchコマンドで中身を見られます。
ldapsearch以外にもいろいろな方法で中身を見られるというのを前回記事「AD(Active Directory)の中身を覗いてみた - ldapsearch,php,PowerShell」に書きました。
今回は、「Active Directory ユーザーとコンピュータ」で設定した値がどの 属性: 値
に該当するのかを調査した結果をまとめました。
本記事情報の誤りにより何らかの問題が生じても、一切責任を負いません。
2021/10/08 (userParameters)のCtxCfgFlags1の値が全面的に間違っていたため、訂正しました。
【検証環境】
Windows Server 2019 Datacenter Desktop
ドメインコントローラーに昇格したActive Directory
ユーザー:dn: CN=山田 太郎,CN=Users,DC=ad,DC=contoso,DC=com
グループ:dn: CN=グループX,CN=Users,DC=ad,DC=contoso,DC=com
を見ていきます。
ユーザー
全般
住所
アカウント
アカウントのロックを解除する
アカウントオプション
プロファイル
電話
組織
所属するグループ
リモートディスクトップサービスのプロファイル
COM+
フリガナ
ダイヤルイン
環境
セッション
リモート制御
グループ
全般
メンバー
所属するグループ
管理者
表記ルール
*赤文字
最初にアスタリスク(*)が付いて赤文字のものは、PowerShellのGet-ADUser
、Get-ADGroup
でのみ表示されたものです。
人が読みやすいように、本来の属性名のエイリアスと理解しています。(違うかもしれませんが。)
黒文字
普通の黒文字は、ldapsearch(主にLDPを利用)結果の属性名と値です。
属性名: 値
一律、
属性名: 値
と表示しています。
バイナリデータを解析して表示されたパラメータもこの表記で統一しています。
(userParameters)
(userParameters)と記載があるところは、userParameters属性のバイナリデータを解析して表示された内容という意味です。解析は、前回記事「AD(Active Directory)の中身を覗いてみた - ldapsearch,php,PowerShell」に記載したConvertFrom-UserParameter.ps1
を使っています。
ConvertFrom-UserParameter.ps1
について、そのままでは正しい結果が得られないことが発覚し、修正してhttps://gist.github.com/itc-lab/3749188ce58ad803a97ae3f1f924c435に置きました。何がまずかったかについては、「AD(Active Directory)のuserParameters属性をphpで解読に成功」を参照してください。
CtxCfgFlags1
PS C:\Users\Administrator> . ConvertFrom-UserParameter.ps1
PS C:\Users\Administrator> (Get-ADUser yamada.taro -Properties "userParameters").userParameters | ConvertFrom-UserParameter -ShowAll
Name Value
---- -----
CtxCfgPresent 1428032432
CtxCfgFlags1 {INHERITMAXDISCONNECTIONTIME, DISABLECCM, INHERITAUTOCLIENT, INHERITMAXIDLETIME...}
(略)
のようにCtxCfgFlags1
の値が ... で見切れてしまうため、
((Get-ADUser taro2000 -Properties "userParameters").userParameters | ConvertFrom-UserParameter -ShowAll).CtxCfgFlags1
DISABLECCM
INHERITAUTOCLIENT
INHERITMAXIDLETIME
INHERITSECURITY
FORCECLIENTLPTDEF
のようにして、出力させました。Get-ADUser taro2000 -Properties "userParameters").userParameters | ConvertFrom-UserParameter -ShowAll
の結果のCtxCfgFlags1
プロパティの値だけ表示という意味です。
設定の適用により追加された値を CtxCfgFlags1: INHERITMAXDISCONNECTIONTIMEフラグ
のように表記しています。
ユーザー
全般
山田 太郎
※作成するときに入力した値です。変更できません。
CN=山田 太郎,CN=Users,DC=ad,DC=contoso,DC=com
cn: 山田 太郎
distinguishedName: CN=山田 太郎,CN=Users,DC=ad,DC=contoso,DC=com
name: 山田 太郎
姓
sn: 山田
名
givenName: 太郎
イニシャル
initials: James
表示名
displayName: TaroY
説明
description: 山田 太郎の説明
事業所
physicalDeliveryOfficeName: 山田 太郎の事業所
電話番号
*OfficePhone: 090-0000-0000
telephoneNumber: 090-0000-0000
電子メール
*EmailAddress: yamada.taro@contoso.com
mail: yamada.taro@contoso.com
Webページ
*HomePage: https://www.contoso.com/
wWWHomePage: https://www.contoso.com/
住所
国/地域
co: 日本
郵便番号
postalCode: 000-0000
都道府県
st: 愛知県
*State: 愛知県
市区町村
*City: 豊田市○○町
l: 豊田市○○町
私書箱
*POBox: 私書箱X
postOfficeBox: 私書箱X
番地
streetAddress: 1-1
アカウント
ユーザーログオン名
userPrincipalName: yamada.taro@ad.contoso.com
ユーザーログオン名(Windows 2000より前)
※左側のテキストボックスは、編集不可のテキストボックスで、「AD\」は、変更できません。
sAMAccountName: taro2000
ログオン時間
*logonHours: {255, 31, 128, 255...}
logonHours: <ldp: Binary blob 21 bytes>
ログオン先
*LogonWorkstations: ws2019dd
userWorkstations: ws2019dd
アカウントのロックを解除する
※このチェックボックスを付けて、適用すると、即座にアカウントのロックを解除して、チェックが外れます。属性値の変化を「アカウントのロックを解除する」にまとめて記載しました。
アカウントオプション
※一つ一つチェックを入れて、属性値の変化を「アカウントオプション」にまとめて記載しました。
アカウントの期限
*AccountExpirationDate: 2022/01/01 0:00:00
accountExpires: 132854364000000000
accountExpires: 2022/01/01 0:00:00 東京 (標準時)←LDPの場合
アカウントのロックを解除する
ロックアウト状態遷移
※ロックアウト前Get-ADUser
の値
AccountLockoutTime:
BadLogonCount: 18
badPasswordTime: 132773707893194799
badPwdCount: 18
LastBadPasswordAttempt: 2021/09/29 15:33:09
LockedOut: False
lockoutTime: 0
msDS-User-Account-Control-Computed: 0
↓
※ロックアウト後Get-ADUser
の値
AccountLockoutTime: 2021/09/29 15:44:44
BadLogonCount: 19
badPasswordTime: 132773714847543562
badPwdCount: 19
LastBadPasswordAttempt: 2021/09/29 15:44:44
LockedOut: True
lockoutTime: 132773714847543562
msDS-User-Account-Control-Computed: 16
↓
※ロックアウト解除後Get-ADUser
の値
AccountLockoutTime:
BadLogonCount: 0
badPasswordTime: 132773714847543562
badPwdCount: 0
LastBadPasswordAttempt: 2021/09/29 15:44:44
LockedOut: False
lockoutTime: 0
msDS-User-Account-Control-Computed: 0
アカウントオプション
ユーザーは次回ログイン時にパスワード変更が必要
※このチェックボックスのみにチェックした場合です。チェックを付ける前、付けた後の順に記載しています。以降のチェックボックスも同じで、そのチェックボックスのみにチェックです。先頭*無し黒文字は、LDPの値です。(LDPは見やすいように値を変えていますので、生の値とは異なります。)
*msDS-User-Account-Control-Computed: 0
*PasswordExpired: False
*PasswordLastSet: 2021/09/23 18:55:39
pwdLastSet: 2021/09/28 17:36:22 東京 (標準時)
↓
*msDS-User-Account-Control-Computed: 8388608
*PasswordExpired: True
*PasswordLastSet:
pwdLastSet: 0 (never)
ユーザーはパスワード変更できない
*CannotChangePassword: False
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
↓
*CannotChangePassword: True
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
パスワード無期限にする
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
*PasswordNeverExpires: False
↓
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
*PasswordNeverExpires: True
暗号化を元に戻せる状態でパスワードを保存する
*AllowReversiblePasswordEncryption: False
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
userAccountControl: 512
↓
*AllowReversiblePasswordEncryption: True
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
userAccountControl: 0x280 = ( ENCRYPTED_TEXT_PASSWORD_ALLOWED | NORMAL_ACCOUNT )
アカウントは無効
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*Enabled: True
*KerberosEncryptionType: {}
userAccountControl: 512
↓
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*Enabled: False
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
userAccountControl: 0x202 = ( ACCOUNTDISABLE | NORMAL_ACCOUNT )
対話型ログインにはスマートカードが必要
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
*SmartcardLogonRequired: False
userAccountControl: 512
↓
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
*SmartcardLogonRequired: True
userAccountControl: 0x40200 = ( NORMAL_ACCOUNT | SMARTCARD_REQUIRED )
アカウントは重要なので委任できない
*AccountNotDelegated: False
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
userAccountControl: 512
↓
*AccountNotDelegated: True
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
userAccountControl: 0x100200 = ( NORMAL_ACCOUNT | NOT_DELEGATED )
このアカウントに Kerberos DES 暗号化のみを使う
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
*UseDESKeyOnly: False
userAccountControl: 512
↓
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
*UseDESKeyOnly: True
userAccountControl: 0x200200 = ( NORMAL_ACCOUNT | USE_DES_KEY_ONLY )
このアカウントに Kerberos AES 128 ビット暗号化をサポートする
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
↓
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {AES128}
msDS-SupportedEncryptionTypes: 0x8 = ( AES128_CTS_HMAC_SHA1_96 )
このアカウントに Kerberos AES 256 ビット暗号化をサポートする
*CompoundIdentitySupported: {}
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
↓
*CompoundIdentitySupported: {False}
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {AES256}
msDS-SupportedEncryptionTypes: 0x10 = ( AES256_CTS_HMAC_SHA1_96 )
Kerberos 事前認証を必要としない
*CompoundIdentitySupported: {}
*DoesNotRequirePreAuth: False
dSCorePropagationData: 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( )
*KerberosEncryptionType: {}
userAccountControl: 512
↓
*CompoundIdentitySupported: {False}
*DoesNotRequirePreAuth: True
dSCorePropagationData: 2021/09/28 17:38:21 東京 (標準時); 2021/09/23 18:06:47 東京 (標準時); 0x0 = ( ), 0x0 = ( )
*KerberosEncryptionType: {None}
msDS-SupportedEncryptionTypes: 0x0 = ( )
userAccountControl: 0x400200 = ( NORMAL_ACCOUNT | DONT_REQUIRE_PREAUTH )
プロファイル
プロファイル パス
profilePath: \192.168.12.219\profile\yamada.taro
ログオン スクリプト
scriptPath: C:\Windows\SYSVOL\domain\scripts\test.bat
ローカル パス
*homeDirectory: C:\profile\yamadashome
接続ドライブ
*HomeDrive: Z:
*homeDirectory: \192.168.12.219\setsuzoku\taro\taro2000
電話
自宅電話番号(その他)
otherHomePhone: 000-0000-1111
ポケットベル番号(その他)
otherPager: 000-0000-2222
携帯電話番号(その他)
otherMobile: 090-0000-1111
FAX 番号(その他)
otherFacsimileTelephoneNumber: 000-000-0001
IP 電話番号(その他)
otherIpPhone: 000-000-00002
メモ
info: 電話
メモ
組織
会社名
company: 株式会社丸丸
部署
department: 経営企画部
役職
title: 部長
名前
manager: CN=田中 上司,CN=Users,DC=ad,DC=contoso,DC=com
直属の部下
directReports: CN=佐藤 部下,CN=Users,DC=ad,DC=contoso,DC=com
所属するグループ
所属するグループ
*PrimaryGroup: CN=Domain Users,CN=Users,DC=ad,DC=contoso,DC=com
primarygroupid: 513
primaryGroupID: 513 = ( GROUP_RID_USERS )←LDPの場合
managedObjects: CN=グループX,CN=Users,DC=ad,DC=contoso,DC=com
memberOf: CN=グループX,CN=Users,DC=ad,DC=contoso,DC=com
リモートディスクトップサービスのプロファイル
プロファイル パス
(userParameters)
CtxWFProfilePath: \192.168.12.219\RDSprofile\yamada.taro
CtxWFProfilePathW: \192.168.12.219\RDSprofile\yamada.taro
ローカル パス
(userParameters)
CtxWFHomeDir: C:\RDSprofile\yamadashome
CtxWFHomeDirW: C:\RDSprofile\yamadashome
接続ドライブ
(userParameters)
CtxWFHomeDirDrive: Z:
CtxWFHomeDirDriveW: Z:
パス
(userParameters)
CtxWFHomeDir: \192.168.12.219\setsuzoku\taro
CtxWFHomeDirW: \192.168.12.219\setsuzoku\taro
このユーザーのリモートディスクトップセッションホストサーバーへのログオンを拒否する
(userParameters)
CtxCfgFlags1: LOGONDISABLEDフラグ
COM+
※無効になっていて、変更できませんでした。設定次第で選択できるようになるような気がしますが、パスしました。
フリガナ
姓
msDS-PhoneticLastName: ヤマダ
名
msDS-PhoneticFirstName: タロウ
表示名
msDS-PhoneticDisplayName: ヤマダ タロウ
会社名
msDS-PhoneticCompanyName: カブシキガイシャマルマル
部署
msDS-PhoneticDepartment: ケイエイキカクブ
ダイヤルイン
アクセスを許可
msNPAllowDialin: TRUE
アクセスを拒否
msNPAllowDialin: FALSE
NPSネットワークポリシーでアクセスを制御
msNPAllowDialin無し。
発信者番号を確認
msNPCallingStationID: 000-111-2222
msNPSavedCallingStationID: 000-111-2222
呼び出し元による設定(ルーティングとリモートアクセスサービスのみ)
msRADIUSServiceType: 4
常に次の電話番号にコールバック
msRADIUSCallbackNumber: 000-222-1111
msRADIUSServiceType: 4
msRASSavedCallbackNumber: 000-222-1111
静的 IP アドレス
静的 IPv4 アドレスを割り当てる
msRADIUSFramedIPAddress: -1062728523
msRASSavedFramedIPAddress: -1062728523
プレフィックス
msRADIUS-FramedIpv6Prefix: fe8e::
msRADIUS-SavedFramedIpv6Prefix: fe8e::
インターフェイス ID
msRADIUS-FramedInterfaceId: ::10
msRADIUS-SavedFramedInterfaceId: ::10
静的ルート
IPv6
msRADIUS-FramedIpv6Route: {2001:1:2:3::/64 :: 1}
msRADIUS-SavedFramedIpv6Route: {2001:1:2:3::/64 :: 1}
IPv4
msRADIUSFramedRoute: {192.168.0.0/24 0.0.0.0 1}
msRASSavedFramedRoute: {192.168.0.0/24 0.0.0.0 1}
環境
ログオン時に次のプログラムを起動する
※チェックが無い場合
(userParameters)
CtxCfgFlags1:INHERITINITIALPROGRAMフラグ
プログラムのファイル名
(userParameters)
CtxInitialProgram: C:\Windows\system32\notepad.exe
CtxInitialProgramW: C:\Windows\system32\notepad.exe
作業フォルダ―
(userParameters)
CtxWorkDirectory: C:\Windows\system32
CtxWorkDirectoryW: C:\Windows\system32
ログオン時、クライアントのドライブに接続する
(userParameters)
CtxCfgFlags1: AUTOCLIENTDRIVESフラグ
ログオン時、クライアントのプリンターに接続する
(userParameters)
CtxCfgFlags1: AUTOCLIENTLPTSフラグ
クライアントの通常使うプリンターを既定にする
(userParameters)
CtxCfgFlags1: FORCECLIENTLPTDEFフラグ
セッション
切断されたセッションの終了
(userParameters)
CtxMaxDisconnectionTime: -527236096
アクティブセッションの最大時間
(userParameters)
CtxMaxConnectionTime: -527236096
アイドルなセッションの最大時間
(userParameters)
CtxMaxIdleTime: -527236096
セッションを終了する
(userParameters)
CtxCfgFlags1: RESETBROKENフラグ
前回接続したクライアント
(userParameters)
CtxCfgFlags1: RECONNECTSAMEフラグ
リモート制御
リモート制御を有効にする
※リモート制御を有効にするチェック無し
(userParameters)
CtxShadow: Disable
セッションを制御、監視するにはユーザーの許可を必要とする
※セッションを制御、監視するにはユーザーの許可を必要とする チェック無し
(userParameters)
CtxShadow: EnableInputNoNotify
ユーザーのセッションを監視する
※セッションを制御、監視するにはユーザーの許可を必要とする チェック有り & ユーザーのセッションを監視する
(userParameters)
CtxShadow: EnableNoInputNotify
ユーザのセッションと対話する
※セッションを制御、監視するにはユーザーの許可を必要とする チェック有り & ユーザのセッションと対話する
(userParameters)
CtxShadow: EnableInputNotify
グループ
全般
グループX
※作成するときに入力した値です。変更できません。
Dn: CN=グループX,CN=Users,DC=ad,DC=contoso,DC=com
cn: グループX
distinguishedName: CN=グループX,CN=Users,DC=ad,DC=contoso,DC=com
name: グループX
*CanonicalName: ad.contoso.com/Users/グループX
グループ名(Windows 2000 より前)
sAMAccountName: グループX2000
説明
description: グループXの説明です。
電子メール
mail: groupx@ad.contoso.com
グローバル
*GroupScope: Global
ユニバーサル
※エラーになり、選択できないため、これを選択した場合の値の変化の調査は見送りました。
セキュリティ
*GroupCategory: Security
groupType: -2147483646
→LDPで見ると、groupType: 0x80000002 = ( ACCOUNT_GROUP | SECURITY_ENABLED )
配布
*GroupCategory: Distribution
groupType: 2
→LDPで見ると、groupType: 0x2 = ( ACCOUNT_GROUP )
メモ
info: グループXのメモです。
グループXのメモ2行目です。
メンバー
所属するメンバー
member: CN=山田 太郎,CN=Users,DC=ad,DC=contoso,DC=com
*Members: {CN=山田 太郎,CN=Users,DC=ad,DC=contoso,DC=com}
所属するグループ
所属するグループ
memberOf: CN=Domain Admins,CN=Users,DC=ad,DC=contoso,DC=com
管理者
名前
山田太郎のユーザー情報の方の属性値
*CanonicalName: ad.contoso.com/Users/山田 太郎
管理者がメンバーシップ一覧を変更できる
※値の変化が無く、良く分かりませんでした。(Users,Groups以外が変わっているかもしれません。)
その他、宣伝、誹謗中傷等、当方が不適切と判断した書き込みは、理由の如何を問わず、投稿者に断りなく削除します。
書き込み内容について、一切の責任を負いません。
このコメント機能は、予告無く廃止する可能性があります。ご了承ください。
コメントの削除をご依頼の場合はTwitterのDM等でご連絡ください。