USER_INFO_4 構造体 (lmaccess.h)
USER_INFO_4構造体には、アカウント名、パスワード データ、特権レベル、ユーザーのホーム ディレクトリへのパス、セキュリティ識別子 (SID)、その他のユーザー関連のネットワーク統計情報など、ユーザー アカウントに関する情報が含まれます。
構文
typedef struct _USER_INFO_4 {
LPWSTR usri4_name;
LPWSTR usri4_password;
DWORD usri4_password_age;
DWORD usri4_priv;
LPWSTR usri4_home_dir;
LPWSTR usri4_comment;
DWORD usri4_flags;
LPWSTR usri4_script_path;
DWORD usri4_auth_flags;
LPWSTR usri4_full_name;
LPWSTR usri4_usr_comment;
LPWSTR usri4_parms;
LPWSTR usri4_workstations;
DWORD usri4_last_logon;
DWORD usri4_last_logoff;
DWORD usri4_acct_expires;
DWORD usri4_max_storage;
DWORD usri4_units_per_week;
PBYTE usri4_logon_hours;
DWORD usri4_bad_pw_count;
DWORD usri4_num_logons;
LPWSTR usri4_logon_server;
DWORD usri4_country_code;
DWORD usri4_code_page;
PSID usri4_user_sid;
DWORD usri4_primary_group_id;
LPWSTR usri4_profile;
LPWSTR usri4_home_dir_drive;
DWORD usri4_password_expired;
} USER_INFO_4, *PUSER_INFO_4, *LPUSER_INFO_4;
メンバー
usri4_name
種類: LPWSTR
ユーザー アカウントの名前を指定する Unicode 文字列へのポインター。 NetUserSetInfo 関数の場合、このメンバーは無視されます。
usri4_password
種類: LPWSTR
usri4_name メンバーによって識別されるユーザーのパスワードを指定する Unicode 文字列へのポインター。 長さは PWLEN バイトを超えることはできません。 NetUserGetInfo 関数は、パスワード のセキュリティを維持するために NULL ポインターを返します。
慣例により、パスワードの長さはLM20_PWLEN文字に制限されます。
usri4_password_age
型: DWORD
usri4_password メンバーが最後に変更されてから経過した秒数。 NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。
usri4_priv
型: DWORD
usri4_name メンバーに割り当てられた特権のレベル。 NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。 このメンバーには、次のいずれかの値を指定できます。 ユーザーとグループのアカウント権限の詳細については、「 特権」を参照してください。
値 | 意味 |
---|---|
|
ゲスト |
|
User |
|
管理者 |
usri4_home_dir
種類: LPWSTR
usri4_name メンバーによって指定されたユーザーのホーム ディレクトリのパスを指定する Unicode 文字列へのポインター。 文字列には NULL を指定できます。
usri4_comment
種類: LPWSTR
ユーザー アカウントに関連付けるコメントを含む Unicode 文字列へのポインター。 文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。
usri4_flags
型: DWORD
このメンバーには、次の値の 1 つ以上を指定できます。
ユーザー アカウント制御フラグを設定するには、特定 の特権 と アクセス権の制御が必要になる場合があることに注意してください。 詳細については、 NetUserSetInfo 関数の「解説」セクションを参照してください。
値 | 意味 |
---|---|
|
実行されたログオン スクリプト。 この値は設定する必要があります。 |
|
ユーザーのアカウントが無効になっています。 |
|
ホーム ディレクトリが必要です。 この値は無視されます。 |
|
パスワードは必要ありません。 |
|
ユーザーはパスワードを変更できません。 |
|
アカウントは現在ロックアウトされています。 NetUserSetInfo 関数を呼び出してこの値をクリアし、以前にロックされたアカウントのロックを解除できます。 この値を使用して、以前にロック解除されたアカウントをロックすることはできません。 |
|
アカウントでパスワードの有効期限が切れることはありません。 |
|
ユーザーのパスワードは、Active Directory の元に戻せる暗号化の下に格納されます。 |
|
アカウントを "機密" としてマークします。他のユーザーは、このユーザー アカウントの代理人として機能できません。 |
|
ユーザーがスマート カードを使用してユーザー アカウントにログオンする必要があります。 |
|
キーに Data Encryption Standard (DES) 暗号化の種類のみを使用するようにこのプリンシパルを制限します。 |
|
このアカウントでは、ログオンに Kerberos 事前認証は必要ありません。 |
|
アカウントは委任に対して有効になっています。 これはセキュリティに依存する設定です。このオプションが有効になっているアカウントは厳密に制御する必要があります。 この設定により、アカウントで実行されているサービスは、クライアントの ID を想定し、そのユーザーとしてネットワーク上の他のリモート サーバーに対して認証できます。 |
|
ユーザーのパスワードの有効期限が切れています。
Windows 2000: この値は無視されます。 |
|
アカウントは、Kerberos セキュリティ パッケージの外部でユーザーを認証し、制約付き委任を通じてそのユーザーを委任するために信頼されます。 これはセキュリティに依存する設定です。このオプションが有効になっているアカウントは厳密に制御する必要があります。 この設定により、アカウントで実行されているサービスは、クライアントの ID をアサートし、そのユーザーとしてネットワーク上で特に構成されたサービスに対して認証を行うことができます。
Windows XP/2000: この値は無視されます。 |
次の値は、アカウントの種類を示しています。 設定できる値は 1 つだけです。 NetUserSetInfo 関数を使用してアカウントの種類を変更することはできません。
usri4_script_path
種類: LPWSTR
ユーザーのログオン スクリプト ファイルのパスを指定する Unicode 文字列へのポインター。 スクリプト ファイルには を指定できます。CMD ファイル、.EXE ファイル、または .BAT ファイル。 文字列は NULL にすることもできます。
usri4_auth_flags
型: DWORD
ユーザーのオペレーター特権。
NetUserGetInfo 関数の場合、ローカル グループ メンバーシップに基づいて適切な値が返されます。 ユーザーが Print Operators のメンバーである場合は、AF_OP_PRINTが設定されます。 ユーザーがサーバーオペレーターのメンバーである場合は、AF_OP_SERVERが設定されます。 ユーザーが Account Operators のメンバーである場合は、AF_OP_ACCOUNTSが設定されます。 AF_OP_COMMは設定されません。
NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。
このメンバーには、次の値の 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
印刷オペレーター特権が有効になっています。 |
|
通信オペレーター特権が有効になっています。 |
|
サーバー オペレーター特権が有効になっています。 |
|
accounts オペレーター特権が有効になっています。 |
usri4_full_name
種類: LPWSTR
ユーザーの完全な名前を含む Unicode 文字列へのポインター。 この文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。
usri4_usr_comment
種類: LPWSTR
ユーザー コメントを含む Unicode 文字列へのポインター。 この文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。
usri4_parms
種類: LPWSTR
アプリケーションで使用するために予約されている Unicode 文字列へのポインター。 この文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。 Microsoft 製品では、このメンバーを使用してユーザー構成情報を格納します。 この情報は変更しないでください。
usri4_workstations
種類: LPWSTR
重要
usri4_workstationsは使用しなくなりました。 代わりに、[ユーザー権利の割り当て] 設定を構成してワークステーションへのサインイン アクセスを制御できます (ローカルでのログオンを許可し、ローカルでのログオンを拒否するか、リモート デスクトップ サービスを使用してログオンを許可し、リモート デスクトップ サービスを使用してログオンを拒否します)。
ユーザーがログオンできるワークステーションの名前を含む Unicode 文字列へのポインター。 指定できるワークステーションは 8 台までです。名前はコンマで区切る必要があります。 ワークステーションの数を制限しない場合は、 NULL 文字列を使用します。 すべてのワークステーションからこのアカウントへのログオンを無効にするには、 usri4_flags メンバーの UF_ACCOUNTDISABLE値を設定します。
usri4_last_logon
型: DWORD
最後のログオンが発生した日時。 この値は、GMT 1970 年 1 月 1 日の 00:00:00 から経過した秒数として格納されます。 このメンバーは、 NetUserAdd 関数と NetUserSetInfo 関数では無視されます。
このメンバーは、ドメイン内の各バックアップ ドメイン コントローラー (BDC) で個別に管理されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 最後のログオンは、取得された最大の値で示された時点で発生しました。
usri4_last_logoff
型: DWORD
このメンバーは現在使用されていません。
最後のログオフが発生した日時。 この値は、GMT 1970 年 1 月 1 日の 00:00:00 から経過した秒数として格納されます。 値 0 は、最後のログオフ時刻が不明であることを示します。
このメンバーは、ドメイン内の各バックアップ ドメイン コントローラー (BDC) で個別に管理されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 最後のログオフは、取得された最大の値で示された時点で発生しました。
usri4_acct_expires
型: DWORD
アカウントの有効期限が切れる日付と時刻。 この値は、GMT 1970 年 1 月 1 日の 00:00:00 以降に経過した秒数として格納されます。 TIMEQ_FOREVERの値は、アカウントの有効期限が切れないことを示します。
usri4_max_storage
型: DWORD
ユーザーが使用できるディスク領域の最大容量。 使用可能なすべてのディスク領域を使用するには、USER_MAXSTORAGE_UNLIMITEDを指定します。
usri4_units_per_week
型: DWORD
週を分割する等しい長さの時間単位の数。 この値は、 usri4_logon_hours メンバー内のビット文字列の長さを計算するために必要です。
この値は LAN Manager 2.0 にUNITS_PER_WEEKする必要があります。 この要素は、 NetUserAdd 関数と NetUserSetInfo 関数では無視されます。
サービス アプリケーションの場合、ユニットは、SAM_DAYS_PER_WEEK、SAM_HOURS_PER_WEEK、またはSAM_MINUTES_PER_WEEKのいずれかの値である必要があります。
usri4_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 ポインターを指定して、ユーザーがログオンできる時間に変更を加えないことを示します。
usri4_bad_pw_count
型: DWORD
ユーザーが正しくないパスワードを使用してアカウントにログオンしようとした回数。 値 – 1 は、値が不明であることを示します。 NetUserAdd 関数と NetUserSetInfo 関数の呼び出しでは、このメンバーは無視されます。
このメンバーは、プライマリ ドメイン コントローラー (PDC) からレプリケートされます。また、ドメイン内の各バックアップ ドメイン コントローラー (BDC) にも保持されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 ユーザーが正しくないパスワードを使用してログオンしようとした回数が、取得された最大値です。
usri4_num_logons
型: DWORD
ユーザーがこのアカウントに正常にログオンした回数。 値 – 1 は、値が不明であることを示します。 NetUserAdd 関数と NetUserSetInfo 関数の呼び出しでは、このメンバーは無視されます。
このメンバーは、ドメイン内の各バックアップ ドメイン コントローラー (BDC) で個別に管理されます。 正確な値を取得するには、ドメイン内の各 BDC に対してクエリを実行する必要があります。 ユーザーが正常にログオンした回数は、取得した値の合計です。
usri4_logon_server
種類: LPWSTR
ログオン要求の送信先サーバーの名前を含む Unicode 文字列へのポインター。 サーバー名の前に 2 つの円記号 (\) を付ける必要があります。 ログオン要求を任意のログオン サーバーで処理できることを示すには、サーバー名にアスタリスク (\*) を指定します。 NULL 文字列は、要求をドメイン コントローラーに送信する必要があることを示します。
Windows サーバーの場合、 NetUserGetInfo 関数は \* を返します。
NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。
usri4_country_code
型: DWORD
ユーザーが選択した言語の国/地域コード。
usri4_code_page
型: DWORD
ユーザーが選択した言語のコード ページ。
usri4_user_sid
種類: PSID
ユーザー を一 意に識別するセキュリティ識別子 (SID) を含む SID 構造体へのポインター。 NetUserAdd 関数と NetUserSetInfo 関数は、このメンバーを無視します。
usri4_primary_group_id
型: DWORD
ユーザーのプライマリ グローバル グループの相対識別子 (RID)。 NetUserAdd 関数を呼び出すときは、このメンバーをDOMAIN_GROUP_RID_USERSする必要があります (WinNT.h で定義されています)。 NetUserSetInfo を呼び出す場合、このメンバーは、ユーザーが登録されているグローバル グループの RID である必要があります。 詳細については、「 既知の SID と SID コンポーネント」を参照してください。
usri4_profile
種類: LPWSTR
ユーザーのプロファイルへのパスを指定する Unicode 文字列へのポインター。 この値には、 NULL 文字列、ローカル絶対パス、または UNC パスを指定できます。
usri4_home_dir_drive
種類: LPWSTR
ログオンのためにユーザーのホーム ディレクトリに割り当てられたドライブ文字を指定する Unicode 文字列へのポインター。
usri4_password_expired
型: DWORD
パスワードの有効期限情報。
NetUserGetInfo 関数は、パスワードの有効期限が切れていない場合は 0 を返します (パスワードの有効期限が切れている場合は 0 以外)。
NetUserAdd または NetUserSetInfo を呼び出すときに、このメンバーに 0 以外の値を指定して、次回のログオン時にパスワードを変更する必要があることをユーザーに通知します。 このメッセージをオフにするには、 NetUserSetInfo を 呼び出し、このメンバーにゼロを指定します。 既に有効期限が切れているパスワードの有効期限を無効にするには、0 を指定することはできません。
注釈
USER_INFO_4構造体は、NetUserAdd、NetUserSetInfo、および NetUserGetInfo 関数で使用できます。
ユーザー アカウント名は 20 文字に制限され、グループ名は 256 文字に制限されます。 さらに、アカウント名をピリオドで終えることはできません。また、コンマまたは"、/、、[、]、:、|<>、+、=、;、?、*のいずれかの印刷可能な文字を含めることはできません。 名前には、印刷できない 1 から 31 の範囲の文字を含めることもできます。
USER_INFO_4構造は、Windows XP 以降のUSER_INFO_3構造よりも優先されることに注意してください。 アプリケーションでは、Windows XP 以降で上記の機能を使用する USER_INFO_3 構造ではなく 、USER_INFO_4 構造を使用することをお勧めします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | lmaccess.h (include Lm.h) |