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

Unicode 字串的指標,指定 usri4_name 成員所識別之用戶的密碼。 長度不能超過 PWLEN 位元組。 NetUserGetInfo 函式會傳回 NULL 指標,以維護密碼安全性。

依照慣例,密碼長度限制為LM20_PWLEN個字元。

usri4_password_age

類型: DWORD

上次變更usri4_password 成員以來經過的秒數。 NetUserAddNetUserSetInfo 函式會忽略此成員。

usri4_priv

類型: DWORD

指派給 usri4_name 成員的許可權層級。 NetUserAddNetUserSetInfo 函式會忽略此成員。 這個成員可以是下列其中一個值。 如需使用者和群組帳戶許可權的詳細資訊,請參閱 Privileges

意義
USER_PRIV_GUEST
來賓
USER_PRIV_USER
使用者
USER_PRIV_ADMIN
系統管理員

usri4_home_dir

類型: LPWSTR

Unicode 字串的指標,指定 usri4_name 成員所指定使用者主目錄的路徑。 字串可以是 NULL

usri4_comment

類型: LPWSTR

Unicode 字串的指標,其中包含要與用戶帳戶建立關聯的批注。 字串可以是 NULL 字串,或者它可以在終止 Null 字元之前有任意數目的字元。

usri4_flags

類型: DWORD

這個成員可以是下列一或多個值。

請注意,設定使用者帳戶控制旗標可能需要特定 許可權 和控制 訪問許可權。 如需詳細資訊,請參閱 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
限制此主體僅針對金鑰使用資料加密標準 (DES) 加密類型。
UF_DONT_REQUIRE_PREAUTH
此帳戶不需要 Kerberos 預先驗證進行登入。
UF_TRUSTED_FOR_DELEGATION
帳戶已啟用委派。 這是安全性敏感性設定;啟用此選項的帳戶應受到嚴格控制。 此設定可讓帳戶下執行的服務假設用戶端的身分識別,並以該使用者身分向網路上的其他遠端伺服器進行驗證。
UF_PASSWORD_EXPIRED
用戶的密碼已過期。

Windows 2000: 這個值會被忽略。

UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
此帳戶受信任,可驗證 Kerberos 安全性套件外部的使用者,並透過限制委派該使用者。 這是安全性敏感性設定;啟用此選項的帳戶應受到嚴格控制。 此設定可讓帳戶下執行的服務判斷提示用戶端的身分識別,並以該使用者身分驗證網路上的特定設定服務。

Windows XP/2000: 這個值會被忽略。

 

下列值描述帳戶類型。 只能設定一個值。 您無法使用 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 函式,會根據本地組成員資格傳回適當的值。 如果使用者是列印運算符的成員,則會設定AF_OP_PRINT。 如果使用者是伺服器操作員的成員,則會設定AF_OP_SERVER。 如果使用者是帳戶操作員的成員,則會設定AF_OP_ACCOUNTS。 永遠不會設定AF_OP_COMM。

NetUserAddNetUserSetInfo 函式會忽略此成員。

這個成員可以是下列一或多個值。

意義
AF_OP_PRINT
已啟用列印操作員許可權。
AF_OP_COMM
通訊操作員許可權已啟用。
AF_OP_SERVER
已啟用伺服器操作員許可權。
AF_OP_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 字串的指標,其中包含用戶可從中登入的工作站名稱。 可以指定多達八個工作站;名稱必須以逗號分隔。 如果您不想限制工作站數目,請使用 NULL 字串。 若要停用從所有工作站登入此帳戶,請在 usri4_flags 成員中設定 UF_ACCOUNTDISABLE 值。

usri4_last_logon

類型: DWORD

上次登入的日期和時間。 此值會儲存為自 00:00:00:00、1970 年 1 月 1 日起經過的秒數。 NetUserAddNetUserSetInfo 函式會忽略此成員。

此成員會在網域中的每個備份域控制器上個別維護 (BDC) 。 若要取得精確的值,您必須查詢網域中的每個 BDC。 上次登入發生在最大擷取值所指示的時間。

usri4_last_logoff

類型: DWORD

目前未使用這個成員。

上次註銷的日期和時間。 此值會儲存為自 00:00:00:00、1970 年 1 月 1 日起經過的秒數。 值為零表示最後一次註銷時間未知。

此成員會在網域中的每個備份域控制器上個別維護 (BDC) 。 若要取得精確的值,您必須查詢網域中的每個 BDC。 上次註銷發生在最大擷取值所指示的時間。

usri4_acct_expires

類型: DWORD

帳戶到期的日期和時間。 此值會儲存為自 00:00:00:00、1970 年 1 月 1 日起經過的秒數。 TIMEQ_FOREVER值表示帳戶永遠不會過期。

usri4_max_storage

類型: DWORD

用戶可以使用的磁碟空間上限。 指定USER_MAXSTORAGE_UNLIMITED以使用所有可用的磁碟空間。

usri4_units_per_week

類型: DWORD

周除以的相等長度時間單位數目。 需要這個值,才能計算 usri4_logon_hours 成員中位字串的長度。

局域網路管理員 2.0 必須UNITS_PER_WEEK此值。 NetUserAddNetUserSetInfo 函式會忽略這個專案。

對於服務應用程式,單位必須是下列其中一個值:SAM_DAYS_PER_WEEK、SAM_HOURS_PER_WEEK或SAM_MINUTES_PER_WEEK。

usri4_logon_hours

類型: PBYTE

21 位元組 (168 位) 位字串的指標,指定使用者可以登入的時間。 每一位都代表一周中唯一的小時,以 Greenwich Mean Time (GMT) 。

第一個位 (位 0,單字 0) 是星期日,0:00 到 0:59;第二個位 (位 1,word 0) 是星期日,1:00 到 1:59;依此類故。 請注意,只有在您位於 GMT 時區時,字 0 中的位 0 代表從 0:00 到 0:59 的星期日。 在其他所有情況下,您必須根據時區位移來調整位 (例如,太平洋標準時間) 的 GMT 減 8 小時。

呼叫 NetUserAdd 函式以指出沒有時間限制時,請指定這個成員中的 NULL 指標。 呼叫 NetUserSetInfo 函式時,請指定 NULL 指標,指出用戶可登入的時間不會進行任何變更。

usri4_bad_pw_count

類型: DWORD

用戶嘗試使用不正確的密碼登入帳戶的次數。 值為 – 1 表示值未知。 呼叫 NetUserAddNetUserSetInfo 函式會忽略此成員。

此成員會從主要域控制器複寫, (PDC) ;它也會在網域中的每個備份域控制器上維護 (BDC) 。 若要取得精確的值,您必須查詢網域中的每個 BDC。 用戶嘗試使用不正確密碼登入的次數是擷取的最大值。

usri4_num_logons

類型: DWORD

使用者成功登入此帳戶的次數。 值為 – 1 表示值未知。 呼叫 NetUserAddNetUserSetInfo 函式會忽略此成員。

此成員會在網域中的每個備份域控制器上個別維護 (BDC) 。 若要取得精確的值,您必須查詢網域中的每個 BDC。 使用者成功登入的次數是所擷取值的總和。

usri4_logon_server

類型: LPWSTR

Unicode 字串的指標,其中包含傳送登入要求之伺服器的名稱。 伺服器名稱前面應該有兩個反斜杠 (\) 。 若要指出登入要求可由任何登入伺服器處理,請為伺服器名稱指定星號 (\*) 。 NULL 字串表示要求應該傳送至域控制器。

對於 Windows 伺服器, NetUserGetInfo 函式會傳回 \*。

NetUserAddNetUserSetInfo 函式會忽略此成員。

usri4_country_code

類型: DWORD

用戶所選語言的國家/地區代碼。

usri4_code_page

類型: DWORD

用戶所選語言的代碼頁。

usri4_user_sid

類型: PSID

SID 結構的指標,其中包含可唯一識別使用者的 SID (安全性識別碼) 。 NetUserAddNetUserSetInfo 函式會忽略此成員。

usri4_primary_group_id

類型: DWORD

使用者主要全域群組的相對標識碼 (RID) 。 當您呼叫 NetUserAdd 函式時,必須在 WinNT.h) 中定義此成員DOMAIN_GROUP_RID_USERS (。 當您呼叫 NetUserSetInfo 時,此成員必須是註冊使用者的全域群組 RID。 如需詳細資訊,請參閱 已知 SIDSID 元件

usri4_profile

類型: LPWSTR

Unicode 字串的指標,指定使用者配置檔的路徑。 此值可以是 NULL 字串、本機絕對路徑或 UNC 路徑。

usri4_home_dir_drive

類型: LPWSTR

Unicode 字串的指標,指定指派給使用者主目錄的驅動器號以供登入之用。

usri4_password_expired

類型: DWORD

密碼到期資訊。

如果密碼尚未過期, 則 NetUserGetInfo 函式會傳回零 (,如果密碼已) 則傳回非零。

當您呼叫 NetUserAddNetUserSetInfo 時,請在此成員中指定非零值,以通知使用者在下次登入時必須變更其密碼。 若要關閉此訊息,請呼叫 NetUserSetInfo 並在此成員中指定零。 請注意,您無法指定零來否定已經過期的密碼到期。

備註

USER_INFO_4 結構可以搭配 NetUserAddNetUserSetInfoNetUserGetInfo 函式使用。

用戶帳戶名稱限製為 20 個字元,且組名限製為 256 個字元。 此外,帳戶名稱不能以句號終止,而且不能包含逗號或任何下列可列印字元:“、/、、、[、]、:、|<>、?、*。 名稱也無法在範圍 1-31 中包含不可列印的字元。

請注意 ,USER_INFO_4 結構取代 Windows XP 和更新版本上的 USER_INFO_3 結構。 建議應用程式使用 USER_INFO_4 結構,而不是在 Windows XP 和更新版本上使用上述函式 的 USER_INFO_3 結構。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 lmaccess.h (包括 Lm.h)

另請參閱

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

網路管理概觀

網路管理結構

SID

USER_INFO_3

使用者函式