다음을 통해 공유


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

사용자 계정의 이름을 지정하는 유니코드 문자열에 대한 포인터입니다. NetUserSetInfo 함수의 경우 이 멤버는 무시됩니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

usri3_password

형식: LPWSTR

usri3_name 멤버로 식별된 사용자의 암호를 지정하는 유니코드 문자열에 대한 포인터입니다. 길이가 PWLEN 바이트를 초과할 수 없습니다. NetUserEnumNetUserGetInfo 함수는 NULL 포인터를 반환하여 암호 보안을 유지합니다.

규칙에 따라 암호 길이는 LM20_PWLEN 문자로 제한됩니다.

usri3_password_age

형식:DWORD

usri3_password 멤버가 마지막으로 변경된 후 경과된 시간(초)입니다. NetUserAddNetUserSetInfo 함수는 이 멤버를 무시합니다.

usri3_priv

형식:DWORD

usri3_name 멤버에 할당된 권한 수준입니다. NetUserAddNetUserSetInfo 함수는 이 멤버를 무시합니다. 이 멤버는 다음 값 중 하나일 수 있습니다. 사용자 및 그룹 계정 권한에 대한 자세한 내용은 권한을 참조 하세요.

의미
USER_PRIV_GUEST
게스트
USER_PRIV_USER
사용자
USER_PRIV_ADMIN
관리자

usri3_home_dir

형식: LPWSTR

usri3_name 멤버가 지정한 사용자의 홈 디렉터리 경로를 지정하는 유니코드 문자열에 대한 포인터입니다. 문자열은 NULL일 수 있습니다.

usri3_comment

형식: LPWSTR

사용자 계정과 연결할 주석이 포함된 유니코드 문자열에 대한 포인터입니다. 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자를 포함할 수 있습니다.

usri3_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
계정은 위임에 사용할 수 있습니다. 보안에 민감한 설정입니다. 이 옵션을 사용하도록 설정된 계정은 엄격하게 제어해야 합니다. 이 설정을 사용하면 계정에서 실행되는 서비스가 클라이언트의 ID를 가정하고 네트워크의 다른 원격 서버에 해당 사용자로 인증할 수 있습니다.
UF_PASSWORD_EXPIRED
사용자의 암호가 만료되었습니다.

Windows 2000: 이 값은 지원되지 않습니다.

UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
계정은 Kerberos 보안 패키지 외부에서 사용자를 인증하고 제한된 위임을 통해 해당 사용자를 위임할 수 있습니다. 보안에 민감한 설정입니다. 이 옵션을 사용하도록 설정된 계정은 엄격하게 제어해야 합니다. 이 설정을 사용하면 계정에서 실행되는 서비스가 클라이언트의 ID를 어설션하고 해당 사용자로 인증하여 네트워크에서 특별히 구성된 서비스에 대해 인증할 수 있습니다.

Windows XP/2000: 이 값은 지원되지 않습니다.

 

다음 값은 계정 유형을 설명합니다. 하나의 값만 설정할 수 있습니다. NetUserSetInfo 함수를 사용하여 계정 유형을 변경할 수 없습니다.

의미
UF_NORMAL_ACCOUNT
일반적인 사용자를 나타내는 기본 계정 유형입니다.
UF_TEMP_DUPLICATE_ACCOUNT
기본 계정이 다른 도메인에 있는 사용자의 계정입니다. 이 계정은 이 도메인에 대한 사용자 액세스를 제공하지만 이 도메인을 신뢰하는 도메인에는 액세스할 수 없습니다. 사용자 관리자는 이 계정 유형을 로컬 사용자 계정으로 참조합니다.
UF_WORKSTATION_TRUST_ACCOUNT
이 도메인의 구성원인 컴퓨터의 컴퓨터 계정입니다.
UF_SERVER_TRUST_ACCOUNT
이 도메인의 구성원인 백업 도메인 컨트롤러에 대한 컴퓨터 계정입니다.
UF_INTERDOMAIN_TRUST_ACCOUNT
이는 다른 도메인을 신뢰하는 도메인에 대한 계정을 신뢰할 수 있는 허가입니다.

usri3_script_path

형식: LPWSTR

사용자의 로그온 스크립트 파일의 경로를 지정하는 유니코드 문자열에 대한 포인터입니다. 스크립트 파일은 일 수 있습니다. CMD 파일, .EXE 파일 또는 .BAT 파일. 문자열은 NULL일 수도 있습니다.

usri3_auth_flags

형식:DWORD

사용자의 운영자 권한입니다.

NetUserGetInfoNetUserEnum 함수의 경우 로컬 그룹 멤버 자격에 따라 적절한 값이 반환됩니다. 사용자가 인쇄 연산자의 구성원인 경우 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
계정 운영자 권한이 사용하도록 설정됩니다.

usri3_full_name

형식: LPWSTR

사용자의 전체 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 이 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자가 있을 수 있습니다.

usri3_usr_comment

형식: LPWSTR

사용자 주석이 포함된 유니코드 문자열에 대한 포인터입니다. 이 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자가 있을 수 있습니다.

usri3_parms

형식: LPWSTR

애플리케이션에서 사용하도록 예약된 유니코드 문자열에 대한 포인터입니다. 이 문자열은 NULL 문자열이거나 종료 null 문자 앞에 임의의 수의 문자가 있을 수 있습니다. Microsoft 제품은 이 멤버를 사용하여 사용자 구성 정보를 저장합니다. 이 정보는 수정하지 마세요.

usri3_workstations

형식: LPWSTR

중요

더 이상 usri3_workstations 사용하지 않아야 합니다. 대신 사용자 권한 할당 설정을 구성하여 워크스테이션에 대한 로그인 액세스를 제어할 수 있습니다(로컬로 로그온 허용로컬 로그온 거부 또는 원격 데스크톱 서비스를 통한 로그온 허용 및 원격 데스크톱 서비스를 통한로그온 거부).

사용자가 로그온할 수 있는 워크스테이션의 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 최대 8개의 워크스테이션을 지정할 수 있습니다. 이름은 쉼표로 구분해야 합니다. 워크스테이션 수를 제한하지 않으려면 NULL 문자열을 사용합니다. 모든 워크스테이션에서 이 계정에 대한 로그온을 사용하지 않도록 설정하려면 usri3_flags 멤버에서 UF_ACCOUNTDISABLE 값을 설정합니다.

usri3_last_logon

형식:DWORD

마지막 로그온이 발생한 날짜 및 시간입니다. 이 값은 1970년 1월 1일 GMT 00:00:00 이후 경과된 시간(초)으로 저장됩니다. 이 멤버는 NetUserAddNetUserSetInfo 함수에서 무시됩니다.

이 멤버는 도메인의 각 BDC(백업 도메인 컨트롤러)에서 별도로 유지 관리됩니다. 정확한 값을 얻으려면 도메인의 각 BDC를 쿼리해야 합니다. 검색된 가장 큰 값으로 표시된 시간에 마지막 로그온이 발생했습니다.

usri3_last_logoff

형식:DWORD

이 멤버는 현재 사용되지 않습니다.

마지막 로그오프가 발생한 날짜 및 시간입니다. 이 값은 1970년 1월 1일 GMT 00:00:00 이후 경과된 시간(초)으로 저장됩니다. 값이 0이면 마지막 로그오프 시간을 알 수 없음을 나타냅니다.

이 멤버는 도메인의 각 BDC(백업 도메인 컨트롤러)에서 별도로 유지 관리됩니다. 정확한 값을 얻으려면 도메인의 각 BDC를 쿼리해야 합니다. 검색된 가장 큰 값으로 표시된 시간에 마지막 로그오프가 발생했습니다.

usri3_acct_expires

형식:DWORD

계정이 만료되는 날짜 및 시간입니다. 이 값은 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 합니다. 이 요소는 NetUserAddNetUserSetInfo 함수에서 무시됩니다.

서비스 애플리케이션의 경우 단위는 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입니다. 두 번째 비트(비트 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은 값을 알 수 없음을 나타냅니다. NetUserAddNetUserSetInfo 함수에 대한 호출은 이 멤버를 무시합니다.

이 멤버는 PDC(주 도메인 컨트롤러)에서 복제됩니다. 또한 도메인의 각 BDC(백업 도메인 컨트롤러)에서 유지 관리됩니다. 정확한 값을 얻으려면 도메인의 각 BDC를 쿼리해야 합니다. 사용자가 잘못된 암호를 사용하여 로그온을 시도한 횟수가 검색된 가장 큰 값입니다.

usri3_num_logons

형식:DWORD

사용자가 이 계정에 성공적으로 로그온한 횟수입니다. 값 – 1은 값을 알 수 없음을 나타냅니다. NetUserAddNetUserSetInfo 함수에 대한 호출은 이 멤버를 무시합니다.

이 멤버는 도메인의 각 BDC(백업 도메인 컨트롤러)에서 별도로 유지 관리됩니다. 정확한 값을 얻으려면 도메인의 각 BDC를 쿼리해야 합니다. 사용자가 성공적으로 로그온한 횟수는 검색된 값의 합계입니다.

usri3_logon_server

형식: LPWSTR

로그온 요청이 전송되는 서버의 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 서버 이름 앞에는 두 개의 백슬라이시(\)가 있어야 합니다. 로그온 서버에서 로그온 요청을 처리할 수 있음을 나타내려면 서버 이름에 별표(\*)를 지정합니다. NULL 문자열은 요청을 도메인 컨트롤러로 보내야 했음을 나타냅니다.

Windows 서버의 경우 NetUserGetInfoNetUserEnum은 \*를 반환합니다. NetUserAddNetUserSetInfo 함수는 이 멤버를 무시합니다.

usri3_country_code

형식:DWORD

사용자가 선택한 언어에 대한 국가/지역 코드입니다.

usri3_code_page

형식:DWORD

사용자가 선택한 언어에 대한 코드 페이지입니다.

usri3_user_id

형식:DWORD

사용자의 RID(상대 ID)입니다. RID는 사용자가 생성되면 SAM(보안 계정 관리자)에 의해 결정됩니다. 도메인 내에서 SAM에 대한 사용자 계정을 고유하게 정의합니다. NetUserAddNetUserSetInfo 함수는 이 멤버를 무시합니다. RID에 대한 자세한 내용은 SID 구성 요소를 참조하세요.

usri3_primary_group_id

형식:DWORD

사용자에 대한 기본 전역 그룹의 RID입니다. NetUserAdd 함수를 호출하는 경우 이 멤버는 DOMAIN_GROUP_RID_USERS(WinNT.h에 정의됨)이어야 합니다. NetUserSetInfo를 호출할 때 이 멤버는 사용자가 등록된 전역 그룹의 RID여야 합니다. 자세한 내용은 잘 알려진 SID를 참조하세요.

usri3_profile

형식: LPWSTR

사용자 프로필의 경로를 지정하는 유니코드 문자열에 대한 포인터입니다. 이 값은 NULL 문자열, 로컬 절대 경로 또는 UNC 경로일 수 있습니다.

usri3_home_dir_drive

형식: LPWSTR

로그온을 위해 사용자의 홈 디렉터리에 할당된 드라이브 문자를 지정하는 유니코드 문자열에 대한 포인터입니다.

usri3_password_expired

형식:DWORD

암호 만료 정보입니다.

NetUserGetInfoNetUserEnum 함수는 암호가 만료되지 않은 경우 0을 반환하고 암호가 있는 경우 0이 아닌 값을 반환합니다.

NetUserAdd 또는 NetUserSetInfo를 호출할 때 이 멤버에서 0이 아닌 값을 지정하여 사용자에게 다음 로그온 시 암호를 변경해야 한다는 사실을 알릴 수 있습니다. 이 메시지를 끄려면 NetUserSetInfo를 호출하고 이 멤버에서 0을 지정합니다. 이미 만료된 암호의 만료를 부정하기 위해 0을 지정할 수 없습니다.

설명

USER_INFO_3 구조체는 NetUserAdd, NetUserEnum, NetUserSetInfoNetUserGetInfo 함수와 함께 사용할 수 있습니다.

사용자 계정 이름은 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[데스크톱 앱만]
머리글 lmaccess.h(Lm.h 포함)

추가 정보

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

네트워크 관리 개요

네트워크 관리 구조

사용자 함수