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_PRIV_GUEST
ゲスト
USER_PRIV_USER
User
USER_PRIV_ADMIN
管理者

usri4_home_dir

種類: LPWSTR

usri4_name メンバーによって指定されたユーザーのホーム ディレクトリのパスを指定する Unicode 文字列へのポインター。 文字列には NULL を指定できます。

usri4_comment

種類: LPWSTR

ユーザー アカウントに関連付けるコメントを含む Unicode 文字列へのポインター。 文字列には NULL 文字列を指定することも、終端の null 文字の前に任意の数の文字を指定することもできます。

usri4_flags

型: DWORD

このメンバーには、次の値の 1 つ以上を指定できます。

ユーザー アカウント制御フラグを設定するには、特定 の特権アクセス権の制御が必要になる場合があることに注意してください。 詳細については、 NetUserSetInfo 関数の「解説」セクションを参照してください。

意味
UF_SCRIPT
実行されたログオン スクリプト。 この値は設定する必要があります。
UF_ACCOUNTDISABLE
ユーザーのアカウントが無効になっています。
UF_HOMEDIR_REQUIRED
ホーム ディレクトリが必要です。 この値は無視されます。
UF_PASSWD_NOTREQD
パスワードは必要ありません。
UF_PASSWD_CANT_CHANGE
ユーザーはパスワードを変更できません。
UF_LOCKOUT
アカウントは現在ロックアウトされています。 NetUserSetInfo 関数を呼び出してこの値をクリアし、以前にロックされたアカウントのロックを解除できます。 この値を使用して、以前にロック解除されたアカウントをロックすることはできません。
UF_DONT_EXPIRE_PASSWD
アカウントでパスワードの有効期限が切れることはありません。
UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED
ユーザーのパスワードは、Active Directory の元に戻せる暗号化の下に格納されます。
UF_NOT_DELEGATED
アカウントを "機密" としてマークします。他のユーザーは、このユーザー アカウントの代理人として機能できません。
UF_SMARTCARD_REQUIRED
ユーザーがスマート カードを使用してユーザー アカウントにログオンする必要があります。
UF_USE_DES_KEY_ONLY
キーに Data Encryption Standard (DES) 暗号化の種類のみを使用するようにこのプリンシパルを制限します。
UF_DONT_REQUIRE_PREAUTH
このアカウントでは、ログオンに Kerberos 事前認証は必要ありません。
UF_TRUSTED_FOR_DELEGATION
アカウントは委任に対して有効になっています。 これはセキュリティに依存する設定です。このオプションが有効になっているアカウントは厳密に制御する必要があります。 この設定により、アカウントで実行されているサービスは、クライアントの ID を想定し、そのユーザーとしてネットワーク上の他のリモート サーバーに対して認証できます。
UF_PASSWORD_EXPIRED
ユーザーのパスワードの有効期限が切れています。

Windows 2000: この値は無視されます。

UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
アカウントは、Kerberos セキュリティ パッケージの外部でユーザーを認証し、制約付き委任を通じてそのユーザーを委任するために信頼されます。 これはセキュリティに依存する設定です。このオプションが有効になっているアカウントは厳密に制御する必要があります。 この設定により、アカウントで実行されているサービスは、クライアントの ID をアサートし、そのユーザーとしてネットワーク上で特に構成されたサービスに対して認証を行うことができます。

Windows XP/2000: この値は無視されます。

 

次の値は、アカウントの種類を示しています。 設定できる値は 1 つだけです。 NetUserSetInfo 関数を使用してアカウントの種類を変更することはできません。

意味
UF_NORMAL_ACCOUNT
これは、一般的なユーザーを表す既定のアカウントの種類です。
UF_TEMP_DUPLICATE_ACCOUNT
これは、プライマリ アカウントが別のドメインにあるユーザーのアカウントです。 このアカウントは、このドメインへのユーザー アクセスを提供しますが、このドメインを信頼するドメインにはアクセスできません。 ユーザー マネージャーは、このアカウントの種類をローカル ユーザー アカウントと呼びます。
UF_WORKSTATION_TRUST_ACCOUNT
これは、このドメインのメンバーであるコンピューターのコンピューター アカウントです。
UF_SERVER_TRUST_ACCOUNT
これは、このドメインのメンバーであるバックアップ ドメイン コントローラーのコンピューター アカウントです。
UF_INTERDOMAIN_TRUST_ACCOUNT
これは、他のドメインを信頼するドメインのアカウントを信頼する許可です。

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 つ以上を指定できます。

意味
AF_OP_PRINT
印刷オペレーター特権が有効になっています。
AF_OP_COMM
通信オペレーター特権が有効になっています。
AF_OP_SERVER
サーバー オペレーター特権が有効になっています。
AF_OP_ACCOUNTS
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 である必要があります。 詳細については、「 既知の SIDSID コンポーネント」を参照してください。

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構造体は、NetUserAddNetUserSetInfo、および 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)

こちらもご覧ください

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

ネットワーク管理の概要

ネットワーク管理構造

SID

USER_INFO_3

ユーザー関数