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
Unicode 字串的指標,指定 usri3_name 成員所識別之用戶的密碼。 長度不能超過 PWLEN 位元組。 NetUserEnum 和 NetUserGetInfo 函式會傳回 NULL 指標,以維護密碼安全性。
依照慣例,密碼長度限制為LM20_PWLEN個字元。
usri3_password_age
類型: DWORD
自上次變更 usri3_password 成員以來經過的秒數。 NetUserAdd 和 NetUserSetInfo 函式會忽略此成員。
usri3_priv
類型: DWORD
指派給 usri3_name 成員的許可權層級。 NetUserAdd 和 NetUserSetInfo 函式會忽略此成員。 這個成員可以是下列其中一個值。 如需使用者和組帳戶許可權的詳細資訊,請參閱 許可權。
值 | 意義 |
---|---|
|
來賓 |
|
使用者 |
|
系統管理員 |
usri3_home_dir
類型: LPWSTR
Unicode 字串的指標,指定 usri3_name 成員所指定使用者主目錄的路徑。 字串可以是 NULL。
usri3_comment
類型: LPWSTR
Unicode 字串的指標,其中包含要與使用者帳戶相關聯的批注。 字串可以是 NULL 字串,或者它可以在終止 Null 字元之前有任意數目的字元。
usri3_flags
類型: DWORD
這個成員可以是下列一或多個值。
請注意,設定使用者帳戶控制旗標可能需要特定 許可權 和控制 訪問許可權。 如需詳細資訊,請參閱 NetUserSetInfo 函式的一節。
值 | 意義 |
---|---|
|
執行的登入腳本。 必須設定此值。 |
|
用戶帳戶已停用。 |
|
需要主目錄。 這個值會被忽略。 |
|
不需要密碼。 |
|
用戶無法變更密碼。 |
|
帳戶目前已鎖定。您可以呼叫 NetUserSetInfo 函式來清除此值,並解除鎖定先前鎖定的帳戶。 您無法使用此值來鎖定先前解除鎖定的帳戶。 |
|
密碼應該永遠不會在帳戶上過期。 |
|
用戶的密碼會儲存在 Active Directory 中可反轉加密之下。 |
|
將帳戶標示為「敏感性」;其他使用者無法作為此用戶帳戶的委派。 |
|
需要使用者以智慧卡登入用戶帳戶。 |
|
限制此主體只使用金鑰的數據加密標準 (DES) 加密類型。 |
|
此帳戶不需要 Kerberos 預先驗證進行登入。 |
|
帳戶已啟用委派。 這是安全性敏感性設定;啟用此選項的帳戶應該受到嚴格控制。 此設定可讓帳戶下執行的服務假設用戶端的身分識別,並以該使用者身分向網路上的其他遠端伺服器進行驗證。 |
|
用戶的密碼已過期。
Windows 2000: 不支援這個值。 |
|
此帳戶受信任,可驗證 Kerberos 安全性套件外部的使用者,並透過限制委派該使用者。 這是安全性敏感性設定;啟用此選項的帳戶應該受到嚴格控制。 此設定可讓帳戶下執行的服務判斷提示用戶端的身分識別,並以該使用者身分驗證網路上特別設定的服務。
Windows XP/2000: 不支援這個值。 |
下列值描述帳戶類型。 只能設定一個值。 您無法使用 NetUserSetInfo 函式來變更帳戶類型。
usri3_script_path
類型: LPWSTR
Unicode 字串的指標,指定使用者登入腳本檔案的路徑。 文稿檔案可以是 。CMD 檔案、.EXE 檔案或 .BAT 檔案。 字串也可以是 NULL。
usri3_auth_flags
類型: DWORD
使用者的操作員許可權。
針對 NetUserGetInfo 和 NetUserEnum 函式,會根據本地組成員資格傳回適當的值。 如果使用者是列印運算符的成員,則會設定AF_OP_PRINT。 如果使用者是伺服器操作員的成員,則會設定AF_OP_SERVER。 如果使用者是帳戶操作員的成員,則會設定AF_OP_ACCOUNTS。 永遠不會設定AF_OP_COMM。
NetUserAdd 和 NetUserSetInfo 函式會忽略此成員。
這個成員可以是下列一或多個值。
值 | 意義 |
---|---|
|
已啟用列印操作員許可權。 |
|
通訊操作員許可權已啟用。 |
|
已啟用伺服器操作員許可權。 |
|
已啟用帳戶操作員許可權。 |
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 字串的指標,其中包含用戶可從中登入的工作站名稱。 可以指定多達八個工作站;名稱必須以逗號分隔。 如果您不想限制工作站數目,請使用 NULL 字串。 若要停用從所有工作站登入此帳戶,請在 usri3_flags 成員中設定 UF_ACCOUNTDISABLE 值。
usri3_last_logon
類型: DWORD
上次登入的日期和時間。 此值會儲存為自 00:00:00:00、1970 年 1 月 1 日起經過的秒數。 NetUserAdd 和 NetUserSetInfo 函式會忽略此成員。
此成員會在網域中的每個備份域控制器上個別維護 (BDC) 。 若要取得精確的值,您必須查詢網域中的每個 BDC。 上次登入發生在最大擷取值所指示的時間。
usri3_last_logoff
類型: DWORD
目前未使用這個成員。
上次註銷的日期和時間。 此值會儲存為自 00:00:00:00、1970 年 1 月 1 日起經過的秒數。 值為零表示最後一次註銷時間未知。
此成員會在網域中的每個備份域控制器上個別維護 (BDC) 。 若要取得精確的值,您必須查詢網域中的每個 BDC。 上次註銷發生在最大擷取值所指示的時間。
usri3_acct_expires
類型: DWORD
帳戶到期的日期和時間。 此值會儲存為自 00:00:00:00、1970 年 1 月 1 日起經過的秒數。 TIMEQ_FOREVER值表示帳戶永遠不會過期。
usri3_max_storage
類型: DWORD
用戶可以使用的磁碟空間上限。 指定USER_MAXSTORAGE_UNLIMITED以使用所有可用的磁碟空間。
usri3_units_per_week
類型: DWORD
周除以的相等長度時間單位數目。 需要這個值,才能計算 usri3_logon_hours 成員中位字串的長度。
局域網路管理員 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 位) 位字串的指標,指定使用者可以登入的時間。 每一位都代表一周中唯一的小時,以 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 指標,指出用戶可登入的時間不會進行任何變更。
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 字串的指標,其中包含傳送登入要求之伺服器的名稱。 伺服器名稱前面應該有兩個反斜杠 (\) 。 若要指出登入要求可由任何登入伺服器處理,請為伺服器名稱指定星號 (\*) 。 NULL 字串表示要求應該傳送至域控制器。
針對 Windows 伺服器, NetUserGetInfo 和 NetUserEnum 會 傳回 \*。 NetUserAdd 和 NetUserSetInfo 函式會忽略此成員。
usri3_country_code
類型: DWORD
用戶所選語言的國家/地區代碼。
usri3_code_page
類型: DWORD
用戶所選語言的代碼頁。
usri3_user_id
類型: DWORD
用戶的相對標識碼 (RID) 。 RID 是由建立使用者時,安全性帳戶管理員 (SAM) 來決定。 它會在網域內將用戶帳戶唯一定義為 SAM。 NetUserAdd 和 NetUserSetInfo 函式會忽略此成員。 如需 RID 的詳細資訊,請參閱 SID 元件。
usri3_primary_group_id
類型: DWORD
使用者的主要全域群組 RID。 當您呼叫 NetUserAdd 函式時,必須在 WinNT.h) 中定義此成員DOMAIN_GROUP_RID_USERS (。 當您呼叫 NetUserSetInfo 時,此成員必須是註冊使用者的全域群組 RID。 如需詳細資訊,請參閱 已知 SID。
usri3_profile
類型: LPWSTR
Unicode 字串的指標,指定使用者配置檔的路徑。 此值可以是 NULL 字串、本機絕對路徑或 UNC 路徑。
usri3_home_dir_drive
類型: LPWSTR
Unicode 字串的指標,指定指派給使用者主目錄的驅動器號以供登入之用。
usri3_password_expired
類型: DWORD
密碼到期資訊。
如果密碼尚未過期 (,則 NetUserGetInfo 和 NetUserEnum 函式會傳回零,如果密碼已) ,則傳回非零。
當您呼叫 NetUserAdd 或 NetUserSetInfo 時,請在此成員中指定非零值,以通知使用者在下次登入時必須變更其密碼。 若要關閉此訊息,請呼叫 NetUserSetInfo 並在此成員中指定零。 請注意,您無法指定零來否定已經過期的密碼到期。
備註
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_4 結構,而不是使用 USER_INFO_3 結構。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | lmaccess.h (包括 Lm.h) |