본문 바로가기

Trouble Shooting

UserAccountControl 플래그를 사용하여

사용자 계정 속성을 조작하는 방법

어떨때 쓰일까??

예를 들면 사용자 계정의 "암호 만료되지 않음" 체크를 없애고 싶음 이런경우에..

사용자 계정의 속성을 열고 계정 탭을 누른 다음 계정 옵션 대화 상자에서 확인란을 선택하거나 선택 취소하면 숫자 값이 UserAccountControl 특성에 할당됩니다. 특성에 할당되는 값은 사용할 수 있도록 설정된 옵션을 Windows에 알립니다.
사용자 계정을 보려면 시작을 누르고, 프로그램, 관리 도구를 차례로 가리킨 다음 Active Directory 사용자 및 컴퓨터를 누릅니다.

추가 정보

Ldp.exe 도구나 Adsiedit.msc 스냅인을 사용하여 이러한 특성을 보고 편집할 수 있습니다.
다음 표에는 할당할 수 있는 플래그가 나와 있습니다. 일부 값은 디렉터리 서비스를 통해서만 설정하거나 다시 설정할 수 있기 때문에 사용자 또는 컴퓨터 개체에서 설정할 수 없습니다. Ldp.exe는 값을 16진수로 표시하고, Adsiedit.msc는 값을 10진수로 표시합니다. 플래그는 누적되는 형태입니다. 사용자 계정을 사용하지 않으려면 UserAccountControl 특성을 0x0202 (0x002 + 0x0200)으로 설정하십시오. 이 값을 10진수로 환산하면 514 (2 + 512)입니다.
참고 Ldp.exe와 Adsiedit.msc에서 모두 직접 Active Directory를 편집할 수 있지만 이러한 도구를 사용하여 Active Directory를 편집하는 작업은 경험 많은 관리자만 하는 것이 좋습니다. 두 도구 모두 원래 Windows 설치 미디어에서 지원 도구를 설치한 후에 사용할 수 있습니다.

속성 플래그
16진수 값
10진수 값

SCRIPT
0x0001
1

ACCOUNTDISABLE
0x0002
2

HOMEDIR_REQUIRED
0x0008
8

LOCKOUT
0x0010
16

PASSWD_NOTREQD
0x0020
32

PASSWD_CANT_CHANGE
참고 UserAccountControl 특성을 직접 수정하여 이 사용 권한을 할당할 수 없습니다. 사용 권한을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 "속성 플래그 설명" 절을 참조하십시오.
0x0040
64

ENCRYPTED_TEXT_PWD_ALLOWED
0x0080
128

TEMP_DUPLICATE_ACCOUNT
0x0100
256

NORMAL_ACCOUNT
0x0200
512

INTERDOMAIN_TRUST_ACCOUNT
0x0800
2048

WORKSTATION_TRUST_ACCOUNT
0x1000
4096

SERVER_TRUST_ACCOUNT
0x2000
8192

DONT_EXPIRE_PASSWORD
0x10000
65536

MNS_LOGON_ACCOUNT
0x20000
131072

SMARTCARD_REQUIRED
0x40000
262144

TRUSTED_FOR_DELEGATION
0x80000
524288

NOT_DELEGATED
0x100000
1048576

USE_DES_KEY_ONLY
0x200000
2097152

DONT_REQ_PREAUTH
0x400000
4194304

PASSWORD_EXPIRED
0x800000
8388608

TRUSTED_TO_AUTH_FOR_DELEGATION
0x1000000
16777216

위로 가기

속성 플래그 설명


SCRIPT - 로그인 스크립트가 실행됩니다.


ACCOUNTDISABLE - 사용자 계정을 사용할 수 없게 됩니다.


HOMEDIR_REQUIRED - 홈 폴더가 필요합니다.


PASSWD_NOTREQD - 암호가 필요하지 않습니다.


PASSWD_CANT_CHANGE - 사용자가 암호를 변경할 수 없습니다. 이 플래그는 사용자 개체에 대한 사용 권한입니다. 이 사용 권한을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 다음 웹 사이트를 방문하십시오.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/modifying_user_cannot_change_password_ldap_provider.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/modifying_user_cannot_change_password_ldap_provider.asp)(영문)


ENCRYPTED_TEXT_PASSWORD_ALLOWED - 사용자가 암호화된 암호를 보낼 수 있습니다.


TEMP_DUPLICATE_ACCOUNT - 다른 도메인에 기본 계정이 있는 사용자의 계정입니다. 이 계정은 이 도메인에 대한 사용자 액세스를 제공하지만 이 도메인을 트러스트하는 도메인에 대한 사용자 액세스를 제공하지는 않습니다. 로컬 사용자 계정이라고도 합니다.


NORMAL_ACCOUNT - 일반 사용자를 나타내는 기본 계정 유형입니다.


INTERDOMAIN_TRUST_ACCOUNT - 다른 도메인을 트러스트하는 시스템 도메인의 계정을 트러스트할 수 있게 해줍니다.


WORKSTATION_TRUST_ACCOUNT - Microsoft Windows NT 4.0 Workstation, Microsoft Windows NT 4.0 Server, Microsoft Windows 2000 Professional 또는 Windows 2000 Server를 실행하는 컴퓨터의 컴퓨터 계정이며 이 도메인의 구성원입니다.


SERVER_TRUST_ACCOUNT - 이 도메인의 구성원인 도메인 컨트롤러의 컴퓨터 계정입니다.


DONT_EXPIRE_PASSWD - 계정에서 만료되지 않아야 하는 암호를 나타냅니다.


MNS_LOGON_ACCOUNT - MNS 로그온 계정입니다.


SMARTCARD_REQUIRED - 이 플래그가 설정되어 있으면 사용자는 스마트 카드를 사용하여 로그온해야 합니다.


TRUSTED_FOR_DELEGATION - 이 플래그가 설정되어 있으면 서비스를 실행하는 데 사용되는 서비스 계정(사용자 또는 컴퓨터 계정)이 Kerberos 위임을 위하여 트러스트됩니다. 이러한 서비스는 해당 서비스를 요청하는 클라이언트를 가장할 수 있습니다. 서비스를 Kerberos 위임에 사용하려면 해당 서비스 계정의 userAccountControl 속성에서 이 플래그를 설정해야 합니다.


NOT_DELEGATED - 이 플래그가 설정되어 있으면 서비스 계정이 Kerberos 위임용으로 트러스트되도록 설정되어 있더라도 사용자의 보안 컨텍스트가 해당 서비스로 위임되지 않습니다.


USE_DES_KEY_ONLY - (Windows 2000/Windows Server 2003) DES(데이터 암호화 표준) 암호화 유형만 키에 사용하도록 이 대리 사용자를 제한합니다.


DONT_REQUIRE_PREAUTH - (Windows 2000/Windows Server 2003) 이 계정을 사용하는 로그온에는 Kerberos 사전 인증이 필요하지 않습니다.


PASSWORD_EXPIRED - (Windows 2000/Windows Server 2003) 사용자 암호가 만료되었습니다.


TRUSTED_TO_AUTH_FOR_DELEGATION - (Windows 2000/Windows Server 2003) 이 계정이 위임에 사용됩니다. 이것은 보안 관련 설정입니다. 이 옵션을 사용하는 계정은 강력히 제어해야 합니다. 이 설정을 사용하면 이 계정으로 실행되는 서비스가 클라이언트의 ID를 가장하고 네트워크에서 다른 원격 서버에 해당 사용자로 인증될 수 있습니다.

UserAccountControl 값
특정 개체의 기본 UserAccountControl 값은 다음과 같습니다.

일반 사용자: 0x200(512)
도메인 컨트롤러: 0x82000(532480)
워크스테이션/서버: 0x1000(4096)

참고 KB:http://support.microsoft.com/kb/305144/ko