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

usri3_home_dir

種類: LPWSTR

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

usri3_comment

種類: LPWSTR

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

usri3_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
これは、他のドメインを信頼するドメインのアカウントを信頼する許可です。

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

意味
AF_OP_PRINT
印刷オペレーター特権が有効になっています。
AF_OP_COMM
通信オペレーター特権が有効になっています。
AF_OP_SERVER
サーバー オペレーター特権が有効になっています。
AF_OP_ACCOUNTS
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 サーバーの場合、 NetUserGetInfoNetUserEnum は \* を返します。 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)

こちらもご覧ください

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

ネットワーク管理の概要

ネットワーク管理構造

ユーザー関数