USER_INFO_3 構造体 (lmaccess.h)
USER_INFO_3構造体には、アカウント名、パスワード データ、特権レベル、ユーザーのホーム ディレクトリへのパス、相対識別子 (RID)、その他のユーザー関連のネットワーク統計情報など、ユーザー アカウントに関する情報が含まれます。
構文
typedef struct _USER_INFO_3 {
LPWSTR usri3_name;
LPWSTR usri3_password;
DWORD usri3_password_age;
DWORD usri3_priv;
LPWSTR usri3_home_dir;
LPWSTR usri3_comment;
DWORD usri3_flags;
LPWSTR usri3_script_path;
DWORD usri3_auth_flags;
LPWSTR usri3_full_name;
LPWSTR usri3_usr_comment;
LPWSTR usri3_parms;
LPWSTR usri3_workstations;
DWORD usri3_last_logon;
DWORD usri3_last_logoff;
DWORD usri3_acct_expires;
DWORD usri3_max_storage;
DWORD usri3_units_per_week;
PBYTE usri3_logon_hours;
DWORD usri3_bad_pw_count;
DWORD usri3_num_logons;
LPWSTR usri3_logon_server;
DWORD usri3_country_code;
DWORD usri3_code_page;
DWORD usri3_user_id;
DWORD usri3_primary_group_id;
LPWSTR usri3_profile;
LPWSTR usri3_home_dir_drive;
DWORD usri3_password_expired;
} USER_INFO_3, *PUSER_INFO_3, *LPUSER_INFO_3;
メンバー
usri3_name
種類: LPWSTR
ユーザー アカウントの名前を指定する Unicode 文字列へのポインター。 NetUserSetInfo 関数の場合、このメンバーは無視されます。 詳細については、「解説」を参照してください。
usri3_password
種類: LPWSTR
usri3_name メンバーによって識別されるユーザーのパスワードを指定する Unicode 文字列へのポインター。 長さは PWLEN バイトを超えることはできません。 NetUserEnum 関数と NetUserGetInfo 関数は、パスワードのセキュリティを維持するために NULL ポインターを返します。
慣例により、パスワードの長さはLM20_PWLEN文字に制限されます。
usri3_password_age
型: DWORD
usri3_password メンバーが最後に変更されてから経過した秒数。 NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。
usri3_priv
型: DWORD
usri3_name メンバーに割り当てられた特権のレベル。 NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。 このメンバーには、次のいずれかの値を指定できます。 ユーザーとグループのアカウント権限の詳細については、「 特権」を参照してください。
値 | 意味 |
---|---|
|
ゲスト |
|
User |
|
管理者 |
usri3_home_dir
種類: LPWSTR
usri3_name メンバーによって指定されたユーザーのホーム ディレクトリのパスを指定する Unicode 文字列へのポインター。 文字列には NULL を指定できます。
usri3_comment
種類: LPWSTR
ユーザー アカウントに関連付けるコメントを含む Unicode 文字列へのポインター。 文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。
usri3_flags
型: DWORD
このメンバーには、次の値の 1 つ以上を指定できます。
ユーザー アカウント制御フラグを設定するには、特定 の特権 と アクセス権の制御が必要になる場合があることに注意してください。 詳細については、 NetUserSetInfo 関数の「解説」セクションを参照してください。
値 | 意味 |
---|---|
|
実行されたログオン スクリプト。 この値は設定する必要があります。 |
|
ユーザーのアカウントが無効になっています。 |
|
ホーム ディレクトリが必要です。 この値は無視されます。 |
|
パスワードは必要ありません。 |
|
ユーザーはパスワードを変更できません。 |
|
アカウントは現在ロックアウトされています。 NetUserSetInfo 関数を呼び出してこの値をクリアし、以前にロックされたアカウントのロックを解除できます。 この値を使用して、以前にロック解除されたアカウントをロックすることはできません。 |
|
アカウントでパスワードの有効期限が切れることはありません。 |
|
ユーザーのパスワードは、Active Directory の元に戻せる暗号化の下に格納されます。 |
|
アカウントを "機密" としてマークします。他のユーザーは、このユーザー アカウントの代理人として機能できません。 |
|
ユーザーがスマート カードを使用してユーザー アカウントにログオンする必要があります。 |
|
キーに Data Encryption Standard (DES) 暗号化の種類のみを使用するようにこのプリンシパルを制限します。 |
|
このアカウントでは、ログオンに Kerberos 事前認証は必要ありません。 |
|
アカウントは委任に対して有効になっています。 これはセキュリティに依存する設定です。このオプションが有効になっているアカウントは厳密に制御する必要があります。 この設定により、アカウントで実行されているサービスは、クライアントの ID を想定し、そのユーザーとしてネットワーク上の他のリモート サーバーに対して認証できます。 |
|
ユーザーのパスワードの有効期限が切れています。
Windows 2000: この値はサポートされていません。 |
|
アカウントは、Kerberos セキュリティ パッケージの外部でユーザーを認証し、制約付き委任を通じてそのユーザーを委任するために信頼されます。 これはセキュリティに依存する設定です。このオプションが有効になっているアカウントは厳密に制御する必要があります。 この設定により、アカウントで実行されているサービスは、クライアントの ID をアサートし、そのユーザーとしてネットワーク上で特に構成されたサービスに対して認証を行うことができます。
Windows XP/2000: この値はサポートされていません。 |
次の値は、アカウントの種類を示しています。 設定できる値は 1 つだけです。 NetUserSetInfo 関数を使用してアカウントの種類を変更することはできません。
usri3_script_path
種類: LPWSTR
ユーザーのログオン スクリプト ファイルのパスを指定する Unicode 文字列へのポインター。 スクリプト ファイルには、 を指定できます。CMD ファイル、.EXE ファイル、または .BAT ファイル。 文字列は NULL にすることもできます。
usri3_auth_flags
型: DWORD
ユーザーのオペレーター特権。
NetUserGetInfo 関数と NetUserEnum 関数の場合、ローカル グループ メンバーシップに基づいて適切な値が返されます。 ユーザーが Print Operators のメンバーである場合は、AF_OP_PRINTが設定されます。 ユーザーがサーバーオペレーターのメンバーである場合、AF_OP_SERVERが設定されます。 ユーザーが Account Operators のメンバーである場合は、AF_OP_ACCOUNTSが設定されます。 AF_OP_COMMは設定されません。
NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。
このメンバーには、次の値の 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
印刷オペレーター特権が有効になっています。 |
|
通信オペレーター特権が有効になっています。 |
|
サーバー オペレーター特権が有効になっています。 |
|
accounts オペレーター特権が有効になっています。 |
usri3_full_name
種類: LPWSTR
ユーザーの完全な名前を含む Unicode 文字列へのポインター。 この文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。
usri3_usr_comment
種類: LPWSTR
ユーザー コメントを含む Unicode 文字列へのポインター。 この文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。
usri3_parms
種類: LPWSTR
アプリケーションで使用するために予約されている Unicode 文字列へのポインター。 この文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。 Microsoft 製品では、このメンバーを使用してユーザー構成情報を格納します。 この情報は変更しないでください。
usri3_workstations
種類: LPWSTR
重要
usri3_workstationsは使用しなくなります。 代わりに、[ユーザー権利の割り当て] 設定を構成して、ワークステーションへのサインイン アクセスを制御できます (ローカルでのログオンを許可 し、 ローカルログオンを拒否するか、 リモート デスクトップ サービス経由のログオンを許可 し、 リモート デスクトップ サービスによるログオンを拒否します)。
ユーザーがログオンできるワークステーションの名前を含む Unicode 文字列へのポインター。 最大 8 台のワークステーションを指定できます。名前はコンマで区切る必要があります。 ワークステーションの数を制限しない場合は、 NULL 文字列を使用します。 すべてのワークステーションからこのアカウントへのログオンを無効にするには、 usri3_flags メンバーに UF_ACCOUNTDISABLE値を設定します。
usri3_last_logon
型: DWORD
最後のログオンが発生した日時。 この値は、GMT 1970 年 1 月 1 日の 00:00:00 以降に経過した秒数として格納されます。 このメンバーは、 NetUserAdd 関数と NetUserSetInfo 関数では 無視されます。
このメンバーは、ドメイン内の各バックアップ ドメイン コントローラー (BDC) で個別に管理されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 最後のログオンは、取得された最大値で示された時点で発生しました。
usri3_last_logoff
型: DWORD
このメンバーは現在使用されていません。
最後のログオフが発生した日時。 この値は、GMT 1970 年 1 月 1 日の 00:00:00 以降に経過した秒数として格納されます。 値 0 は、最後のログオフ時刻が不明であることを示します。
このメンバーは、ドメイン内の各バックアップ ドメイン コントローラー (BDC) で個別に管理されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 最後のログオフは、取得された最大の値で示された時点で発生しました。
usri3_acct_expires
型: DWORD
アカウントの有効期限が切れる日時。 この値は、GMT 1970 年 1 月 1 日の 00:00:00 以降の経過時間として格納されます。 TIMEQ_FOREVER の値は、アカウントの有効期限が切れないことを示します。
usri3_max_storage
型: DWORD
ユーザーが使用できるディスク領域の最大容量。 使用可能なすべてのディスク領域を使用するには、USER_MAXSTORAGE_UNLIMITEDを指定します。
usri3_units_per_week
型: DWORD
週を分割する等しい長さの時間単位の数。 この値は、 usri3_logon_hours メンバー内のビット文字列の長さを計算するために必要です。
この値は LAN Manager 2.0 にUNITS_PER_WEEKする必要があります。 この要素は、 NetUserAdd 関数と NetUserSetInfo 関数では 無視されます。
サービス アプリケーションの場合、単位は、SAM_DAYS_PER_WEEK、SAM_HOURS_PER_WEEK、またはSAM_MINUTES_PER_WEEKのいずれかの値である必要があります。
usri3_logon_hours
種類: PBYTE
ユーザーがログオンできる時間を指定する 21 バイト (168 ビット) ビット文字列へのポインター。 各ビットは、グリニッジ標準時 (GMT) の週の一意の時間を表します。
最初のビット (ビット 0、単語 0) は日曜日の 0:00 から 0:59 です。2 番目のビット (ビット 1、単語 0) は日曜日の 1:00 から 1:59 です。などなど。 ワード 0 のビット 0 は、GMT タイム ゾーンにいる場合にのみ、日曜日の 0:00 から 0:59 を表します。 それ以外の場合は、タイム ゾーン オフセットに従ってビットを調整する必要があります (たとえば、太平洋標準時の GMT - 8 時間)。
NetUserAdd 関数を呼び出すときに、このメンバーに NULL ポインターを指定して、時間制限がないことを示します。 NetUserSetInfo 関数を呼び出すときに NULL ポインターを指定して、ユーザーがログオンできる時間に変更を加えないことを示します。
usri3_bad_pw_count
型: DWORD
ユーザーが正しくないパスワードを使用してアカウントにログオンしようとした回数。 値 – 1 は、値が不明であることを示します。 NetUserAdd 関数と NetUserSetInfo 関数の呼び出しでは、このメンバーは無視されます。
このメンバーは、プライマリ ドメイン コントローラー (PDC) からレプリケートされます。また、ドメイン内の各バックアップ ドメイン コントローラー (BDC) でも保持されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 ユーザーが正しくないパスワードを使用してログオンしようとした回数が、取得された最大値です。
usri3_num_logons
型: DWORD
ユーザーがこのアカウントに正常にログオンした回数。 値 – 1 は、値が不明であることを示します。 NetUserAdd 関数と NetUserSetInfo 関数の呼び出しでは、このメンバーは無視されます。
このメンバーは、ドメイン内の各バックアップ ドメイン コントローラー (BDC) で個別に管理されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 ユーザーが正常にログオンした回数は、取得した値の合計です。
usri3_logon_server
種類: LPWSTR
ログオン要求の送信先サーバーの名前を含む Unicode 文字列へのポインター。 サーバー名の前には、2 つの円記号 (\) を付ける必要があります。 ログオン要求を任意のログオン サーバーで処理できることを示すには、サーバー名にアスタリスク (\*) を指定します。 NULL 文字列は、要求をドメイン コントローラーに送信する必要があることを示します。
Windows サーバーの場合、 NetUserGetInfo と NetUserEnum は \* を返します。 NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。
usri3_country_code
型: DWORD
ユーザーが選択した言語の国/地域コード。
usri3_code_page
型: DWORD
ユーザーが選択した言語のコード ページ。
usri3_user_id
型: DWORD
ユーザーの相対 ID (RID)。 RID は、ユーザーの作成時にセキュリティ アカウント マネージャー (SAM) によって決定されます。 ドメイン内の SAM に対してユーザー アカウントを一意に定義します。 NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。 RID の詳細については、「 SID コンポーネント」を参照してください。
usri3_primary_group_id
型: DWORD
ユーザーのプライマリ グローバル グループの RID。 NetUserAdd 関数を呼び出すときは、このメンバーをDOMAIN_GROUP_RID_USERSする必要があります (WinNT.h で定義されます)。 NetUserSetInfo を呼び出すとき、このメンバーは、ユーザーが登録されているグローバル グループの RID である必要があります。 詳細については、「 既知の SID」を参照してください。
usri3_profile
種類: LPWSTR
ユーザーのプロファイルへのパスを指定する Unicode 文字列へのポインター。 この値には、 NULL 文字列、ローカル絶対パス、または UNC パスを指定できます。
usri3_home_dir_drive
種類: LPWSTR
ログオンのためにユーザーのホーム ディレクトリに割り当てられたドライブ文字を指定する Unicode 文字列へのポインター。
usri3_password_expired
型: DWORD
パスワードの有効期限情報。
NetUserGetInfo 関数と NetUserEnum 関数は、パスワードの有効期限が切れていない場合は 0 を返します (パスワードの有効期限が切れていない場合は 0 以外)。
NetUserAdd または NetUserSetInfo を呼び出すときに、次のログオン時にパスワードを変更する必要があることをユーザーに通知するために、このメンバーに 0 以外の値を指定します。 このメッセージをオフにするには、 NetUserSetInfo を 呼び出し、このメンバーに 0 を指定します。 既に有効期限が切れているパスワードの有効期限を無効にするには、0 を指定できないことに注意してください。
注釈
USER_INFO_3構造体は、NetUserAdd、NetUserEnum、NetUserSetInfo、および NetUserGetInfo 関数と共に使用できます。
ユーザー アカウント名は 20 文字に制限され、グループ名は 256 文字に制限されます。 さらに、アカウント名をピリオドで終えることはできません。また、コンマまたは印刷可能な文字を含めることはできません: "、/、、[、]、:、|、 <、 >、+、=、;、;、?、*。 また、名前には、印刷できない 1 から 31 の範囲の文字を含めることはできません。
USER_INFO_4構造体は、Windows XP 以降のUSER_INFO_3構造よりも優先されることに注意してください。 アプリケーションでは、Windows XP 以降の NetUserAdd、NetUserSetInfo、および NetUserGetInfo 関数を使用して、USER_INFO_3構造ではなく、USER_INFO_4構造を使用することをお勧めします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | lmaccess.h (Include Lm.h) |