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
사용자 계정의 이름을 지정하는 유니코드 문자열에 대한 포인터입니다. NetUserSetInfo 함수의 경우 이 멤버는 무시됩니다.
usri4_password
형식: LPWSTR
usri4_name 멤버로 식별된 사용자의 암호를 지정하는 유니코드 문자열에 대한 포인터입니다. 길이가 PWLEN 바이트를 초과할 수 없습니다. NetUserGetInfo 함수는 NULL 포인터를 반환하여 암호 보안을 유지합니다.
규칙에 따라 암호 길이는 LM20_PWLEN 문자로 제한됩니다.
usri4_password_age
형식:DWORD
usri4_password 멤버가 마지막으로 변경된 후 경과된 시간(초)입니다. NetUserAdd 및 NetUserSetInfo 함수는 이 멤버를 무시합니다.
usri4_priv
형식:DWORD
usri4_name 멤버에 할당된 권한 수준입니다. NetUserAdd 및 NetUserSetInfo 함수는 이 멤버를 무시합니다. 이 멤버는 다음 값 중 하나일 수 있습니다. 사용자 및 그룹 계정 권한에 대한 자세한 내용은 권한을 참조 하세요.
값 | 의미 |
---|---|
|
게스트 |
|
사용자 |
|
관리자 |
usri4_home_dir
형식: LPWSTR
usri4_name 멤버가 지정한 사용자의 홈 디렉터리 경로를 지정하는 유니코드 문자열에 대한 포인터입니다. 문자열은 NULL일 수 있습니다.
usri4_comment
형식: LPWSTR
사용자 계정과 연결할 주석이 포함된 유니코드 문자열에 대한 포인터입니다. 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자를 포함할 수 있습니다.
usri4_flags
형식:DWORD
이 멤버는 다음 값 중 하나 이상일 수 있습니다.
사용자 계정 컨트롤 플래그를 설정하려면 특정 권한 및 제어 액세스 권한이 필요할 수 있습니다. 자세한 내용은 NetUserSetInfo 함수의 설명 섹션을 참조하세요.
값 | 의미 |
---|---|
|
로그온 스크립트가 실행되었습니다. 이 값을 설정해야 합니다. |
|
사용자의 계정을 사용할 수 없습니다. |
|
홈 디렉터리가 필요합니다. 이 값은 무시됩니다. |
|
암호는 필요하지 않습니다. |
|
사용자가 암호를 변경할 수 없습니다. |
|
계정이 현재 잠겨 있습니다. NetUserSetInfo 함수를 호출하여 이 값을 지우고 이전에 잠긴 계정의 잠금을 해제할 수 있습니다. 이 값을 사용하여 이전에 잠금 해제된 계정을 잠글 수 없습니다. |
|
암호는 계정에서 만료되지 않아야 합니다. |
|
사용자의 암호는 Active Directory에서 되돌릴 수 있는 암호화 아래에 저장됩니다. |
|
계정을 "중요"로 표시합니다. 다른 사용자는 이 사용자 계정의 대리자 역할을 할 수 없습니다. |
|
사용자가 스마트 카드 사용하여 사용자 계정에 로그온해야 합니다. |
|
키에 DES(데이터 암호화 표준) 암호화 유형만 사용하도록 이 보안 주체를 제한합니다. |
|
이 계정에는 로그온을 위해 Kerberos 사전 인증이 필요하지 않습니다. |
|
계정은 위임에 사용할 수 있습니다. 보안에 민감한 설정입니다. 이 옵션을 사용하도록 설정된 계정은 엄격하게 제어해야 합니다. 이 설정을 사용하면 계정에서 실행되는 서비스가 클라이언트의 ID를 가정하고 네트워크의 다른 원격 서버에 해당 사용자로 인증할 수 있습니다. |
|
사용자의 암호가 만료되었습니다.
Windows 2000: 이 값은 무시됩니다. |
|
계정은 Kerberos 보안 패키지 외부에서 사용자를 인증하고 제한된 위임을 통해 해당 사용자를 위임할 수 있습니다. 보안에 민감한 설정입니다. 이 옵션을 사용하도록 설정된 계정은 엄격하게 제어해야 합니다. 이 설정을 사용하면 계정에서 실행되는 서비스가 클라이언트의 ID를 어설션하고 해당 사용자로 인증하여 네트워크에서 특별히 구성된 서비스에 대해 인증할 수 있습니다.
Windows XP/2000: 이 값은 무시됩니다. |
다음 값은 계정 유형을 설명합니다. 하나의 값만 설정할 수 있습니다. NetUserSetInfo 함수를 사용하여 계정 유형을 변경할 수 없습니다.
usri4_script_path
형식: LPWSTR
사용자의 로그온 스크립트 파일 경로를 지정하는 유니코드 문자열에 대한 포인터입니다. 스크립트 파일은 일 수 있습니다. CMD 파일, .EXE 파일 또는 .BAT 파일입니다. 문자열은 NULL일 수도 있습니다.
usri4_auth_flags
형식:DWORD
사용자의 운영자 권한입니다.
NetUserGetInfo 함수의 경우 로컬 그룹 멤버 자격에 따라 적절한 값이 반환됩니다. 사용자가 인쇄 연산자의 구성원인 경우 AF_OP_PRINT 설정됩니다. 사용자가 서버 운영자의 구성원인 경우 AF_OP_SERVER 설정됩니다. 사용자가 계정 운영자의 구성원인 경우 AF_OP_ACCOUNTS 설정됩니다. AF_OP_COMM 설정되지 않습니다.
NetUserAdd 및 NetUserSetInfo 함수는 이 멤버를 무시합니다.
이 멤버는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
인쇄 연산자 권한이 활성화됩니다. |
|
통신 운영자 권한이 사용하도록 설정됩니다. |
|
서버 운영자 권한이 사용하도록 설정됩니다. |
|
계정 운영자 권한이 사용하도록 설정됩니다. |
usri4_full_name
형식: LPWSTR
사용자의 전체 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 이 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자를 포함할 수 있습니다.
usri4_usr_comment
형식: LPWSTR
사용자 주석이 포함된 유니코드 문자열에 대한 포인터입니다. 이 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자를 포함할 수 있습니다.
usri4_parms
형식: LPWSTR
애플리케이션에서 사용하도록 예약된 유니코드 문자열에 대한 포인터입니다. 이 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자를 포함할 수 있습니다. Microsoft 제품은 이 멤버를 사용하여 사용자 구성 정보를 저장합니다. 이 정보는 수정하지 마세요.
usri4_workstations
형식: LPWSTR
중요
더 이상 usri4_workstations 사용하지 않아야 합니다. 대신 사용자 권한 할당 설정을 구성하여 워크스테이션에 대한 로그인 액세스를 제어할 수 있습니다(로컬로 로그온 허용 및 로컬 로그온 거부 또는 원격 데스크톱 서비스를 통한 로그온 허용 및 원격 데스크톱 서비스를 통한로그온 거부).
사용자가 로그온할 수 있는 워크스테이션의 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 최대 8개의 워크스테이션을 지정할 수 있습니다. 이름은 쉼표로 구분해야 합니다. 워크스테이션 수를 제한하지 않으려면 NULL 문자열을 사용합니다. 모든 워크스테이션에서 이 계정에 대한 로그온을 사용하지 않도록 설정하려면 usri4_flags 멤버에서 UF_ACCOUNTDISABLE 값을 설정합니다.
usri4_last_logon
형식:DWORD
마지막 로그온이 발생한 날짜 및 시간입니다. 이 값은 1970년 1월 1일 GMT 00:00:00 이후 경과된 시간(초)으로 저장됩니다. 이 멤버는 NetUserAdd 및 NetUserSetInfo 함수에서 무시됩니다.
이 멤버는 도메인의 각 BDC(백업 도메인 컨트롤러)에서 별도로 유지 관리됩니다. 정확한 값을 얻으려면 도메인의 각 BDC를 쿼리해야 합니다. 검색된 가장 큰 값으로 표시된 시간에 마지막 로그온이 발생했습니다.
usri4_last_logoff
형식:DWORD
이 멤버는 현재 사용되지 않습니다.
마지막 로그오프가 발생한 날짜 및 시간입니다. 이 값은 1970년 1월 1일 GMT 00:00:00 이후 경과된 시간(초)으로 저장됩니다. 값이 0이면 마지막 로그오프 시간을 알 수 없음을 나타냅니다.
이 멤버는 도메인의 각 BDC(백업 도메인 컨트롤러)에서 별도로 유지 관리됩니다. 정확한 값을 얻으려면 도메인의 각 BDC를 쿼리해야 합니다. 검색된 가장 큰 값으로 표시된 시간에 마지막 로그오프가 발생했습니다.
usri4_acct_expires
형식:DWORD
계정이 만료되는 날짜 및 시간입니다. 이 값은 1970년 1월 1일 GMT 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입니다. 두 번째 비트(비트 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
로그온 요청이 전송되는 서버의 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 서버 이름 앞에는 두 개의 백 슬래시(\)가 있어야 합니다. 모든 로그온 서버에서 로그온 요청을 처리할 수 있음을 나타내려면 서버 이름에 별표(\*)를 지정합니다. 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
사용자 프로필의 경로를 지정하는 유니코드 문자열에 대한 포인터입니다. 이 값은 NULL 문자열, 로컬 절대 경로 또는 UNC 경로일 수 있습니다.
usri4_home_dir_drive
형식: LPWSTR
로그온을 위해 사용자의 홈 디렉터리에 할당된 드라이브 문자를 지정하는 유니코드 문자열에 대한 포인터입니다.
usri4_password_expired
형식:DWORD
암호 만료 정보입니다.
암호가 만료되지 않은 경우 NetUserGetInfo 함수는 0을 반환하고 암호가 있는 경우 0이 아닌 값을 반환합니다.
NetUserAdd 또는 NetUserSetInfo를 호출할 때 이 멤버에서 0이 아닌 값을 지정하여 사용자에게 다음 로그온 시 암호를 변경해야 한다는 것을 알릴 수 있습니다. 이 메시지를 끄려면 NetUserSetInfo를 호출하고 이 멤버에서 0을 지정합니다. 이미 만료된 암호의 만료를 부정하기 위해 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 [데스크톱 앱만 해당] |
머리글 | lmaccess.h(Lm.h 포함) |