이 문서는 Windows NT, IP Addressing, SMTP 메일 서버 및 DNS에 대한 충분한 지식과 경험을 가지고 있다는 가정하에 작성되었습니다.

FAQ - Best 10

1. 백업 메일 서버로 IMS를 사용할 수 있는가 ?
2. IMS를 이용하여 보조 메일 서버를 어떻게 구축하는가 ?
3. 주 SMTP 서버가 다운될 때에 어떤 일들이 발생하는가 ?
4. 보조 SMTP가 메일을 얼마나 오랫동안 유지할 수 있는가 ?
5. 보조 SMTP서버는 메일 릴레이로부터 안전할까 ?
6. IMS를 사용하여 도메인 밖의 보조 메일서버로 사용할 수 있는가 ?
7. 다른 추가 도메인들에 대해 이 서버를 주메일서버로 사용할 수 있는가 ?
8. 주 서버가 다운될 때 로컬 이메일 클라이언트에는 메일을 송수신할 때 에러가 발생한다. 왜 보조 메일서버가 동작하지 않지 ?
9. IMS의 다른 동작들은 ?
10. IMS를 어디서 구하지 ? 또 가격은 얼마야 ?


1. 백업 메일 서버로 IMS를 사용할 수 있는가 ?

IMS는 기존 SMTP 구성에 보조 SMTP 서버로 사용될 수 있다. 기존 SMTP에는 Microsoft Exchange, NTMail, Post.Office, MailSite, Mdaemon 등등과 같은 NT 메일시스템들을 포함한다. 또한 Sendmail과 같은 Unix 기반의 SMTP 서버의 대용으로 IMS를 사용할 수도 있다.


2. IMS를 이용하여 보조 메일 서버를 어떻게 구축하는가 ?

- DNS 설정
주 SMTP 서버에 있는 각각의 도메인에 대해 IMS 시스템이 MX레코드를 참조할 수 있도록 낮은 우선순위를 가진 보조 MX레코드를 생성해야 한다.
예를 들면,


; Zone records

@ 129600 IN MX 0 SMTP
@ 129600 IN MX 10 SMTP2





숫자가 높을수록 우선순위가 낮아진다. 아마 독자의 DNS 레코드는 위의 표와는 다를 수도 있다. 가장 중요한 것은 보조 SMTP 서버의 “A” 레코드와 이에 연결된 “MX” 레코드를 갖도록 하는 것이다. ( MS DNS 구성은 GUI인터페이스를 가지고 있다.)
- IMS 및 구성
주 SMTP서버에는 아무런 변경을 하지 않아도 될것이다. IMS는 보조 메일 서버에 설치될 것이며 설치방법은 www.ntfaq.co.kr/emwac 에서 참고한다. 이 보조 메일서버는 POP3 액세스를 사용하지 않을 것이므로 IMS 설치방법에 있는대로 IMSUsers 그룹과 같은 메일 그룹을 생성할 필요는 없다. 또한 IMS POP3 서비스도 설치할 필요가 없다. 단지 IMS SMTP Receiver 와 Delivery Services가 운영되고 자동으로 시작되도록 구성했는지 확인하면 된다.

- 제어판에 있는 IMS 구성 애플릿
l Directories : 기본 설정대로 놔둔다. Mailbox 디렉터리는 사용되지 않는다.
l Misc : “SMTP Gateway Host”에 주 메일서버의 IP주소를 입력한다.
“Copy Failure Reports To Postmaster”는 옵션이다.(추천^^;)
“Accept Mail For”는 아무런 입력을 하지 않고 반드시 빈공간으로 놔둔다.
l Lists : 빈 공간
l Aliases : 빈 공간
l Logging : Logging SMTP Incoming & Outgoing 을 추천한다.

IMS는 이제 주 SMTP서버의 메일을 수신하고 릴레이할 수 있는 준비가 됐다.

3. 주 SMTP 서버가 다운될 때에 어떤 일들이 발생하는가 ?

인터넷상의 원격 도메인에서 사용자의 시스템으로 메시지를 전송할 때에 수신자의 DNS MX레코드의 순서 목록을 찾아 양쪽 SMTP 서버로 배달을 시도한다. 만약 주 SMTP 서버가 다운되거나 엄청 바쁘다면 사용할 수 있는 보조 시스템(여기서는 IMS 서버)으로 배달을 시도할 것이다. IMS 서버는 메시지를 받아들일 것이고 지정한 “Gateway” 주소 를 통해 주 메일서버로 배달을 시도할 것이다. 만약 주서버가 사용할 수 없다면 메일저장 디렉터리에 메시지를 저장하고 54번에 걸쳐 배달을 재시도할 것이다. 주서버가 다시 온라인상태로 돌아오면 기다리던 IMS의 다음번 배달 시도때부터 모든 메시지를 수신할 것이다. 배달 시도사이에는 시간간격이 늘어나기 때문에, 곧바로 모든 메시지를 볼 수는 없을 것이다.

4. 보조 SMTP가 메일을 얼마나 오랫동안 유지할 수 있는가 ?

정확한 시간은 알 수 없지만, 54번의 배달 재시도를 하는데에는 대략 4-5일 정도가 걸린다. 만약 주 SMTP 서버가 이 기간동안에 온라인이 되지 않는다면, IMS는 모든 메시지를 배달할 수 없음(undeliverable)으로 되돌려보내게 된다. 오랫동안 정지되는 경우에는 C:\WINNT\SYSTEM32\EMWAC\MAIL\DOMAINS\(사용자 도메인)에 있는 DOMAIN.MIR 파일을 삭제하게 되면 카운터를 리셋하고 다시 54번의 배달 시도를 시작하게 된다. 이 DOMAIN.MRI파일을 삭제하고 IMS 서비스를 재시작함으로써 주 메일 서버에 강제로 즉시 배달하게 할 수 있다.


5. 보조 SMTP서버는 메일 릴레이로부터 안전할까 ?

IMS는 주메일서버를 gateway로 구성할 때에 모든 메시지를 그 서버로 전송하게 된다. 게다가 릴레이를 예방하기 위해 주 SMTP 서버의 보안에 의존하게 된다. 만약 주 메일 서버가 릴레이가 가능하다면 보조 SMTP 서버 또한 릴레이가 가능하게 된다. 릴레이를 방지하려면 주 메일서버의 보안 강화를 적극 추천한다.


6. IMS를 사용하여 도메인 밖의 보조 메일서버로 사용할 수 있는가 ?

추천하지 않는다. 메일 유지 기간 이전에 발신자에게 메시지가 되돌려진다고 생각한다. IMS는 도메인 밖의 보조 메일 서버로 메일을 수신할 수도 있다. 그러면 지정된 gateway를 통해 주 SMTP 서버로 메시지가 전달되고, 주 메일 서버는 표준 DNS MX 우선순위에 따라 도메인 밖으로 메일을 배달하려고 한다. 도메인 밖의 주 메일 서버가 오프라인이면 주 메일 서버는 보조 메일서버인 IMS에 배달할 것이다. 이것은 빠른 주기(rapid loop)동안에 IMS 에서 주 SMTP서버로 또 다시 IMS 로 전달되게 된다. 반복된(looped) 메시지는 때때로 실패가 될 수 도 있으며 “too many Headers” 에러와 함께 되돌려 보내질 수도 있다.


7. 다른 추가 도메인들에 대해 이 서버를 주메일서버로 사용할 수 있는가 ?

사용할 수 있다. IMS은 완벽한 메일 패키지이다. 단지 보조서버로만 이용되지 않을 것이라는 뜻이다. IMS는 제어판의 IMS 항목에서 “Accept Mail For” 의 도메인 목록을 위해 메시지를 저장한다. 완벽한 메일 패키지가 필요하다면 NT에 적절한 권한과 함께 적절한 그룹을 추가하고, POP3 서비스를 설치하여 운영하면 된다. 만약 IMS는 주 메일서버로서 사용한다면 비공인 릴레이를 예방하기 위해 보안을 강화해야 한다는 것을 명심해야 한다. http://www1.sica.com/IMS 를 참고한다. IMS를 주 및 보조 메일 서버로 사용한다면 모든 나가는 메시지는 gateway 목록에 따라 통과할 것이다. 만약 그 gateway가 다운되었다면 복구될 때까지 인터넷 상으로 메일을 전송하지 못할 것이다.


8. 주 서버가 다운될 때 로컬 이메일 클라이언트에는 메일을 송수신할 때 에러가 발생한다. 왜 보조 메일서버가 동작하지 않지 ?

로컬 메일 클라이언트는 메일 구성(즉, mail.mydomain.com)에 지정된 특정한 메일 서버를 액세스한다. 만약 특정한 주 메일서버가 다운이라면 클라이언트는 실패하게 된다. 이것은 설계상의 문제이다. 다른 인터넷 도메인들은 보조 메일서버로 메시지를 여전히 배달할 수 있을 것이다.


9. IMS의 다른 기능들은 ?

IMS는 다중 도메인을 위한 주 메일서버로 사용할 수 있다. Paul Sica의 SCSMFilter 프로그램( http://www1.sica.com/IMS )을 더불어 사용하여 진정한 멀티 호스팅 기능과 스팸 필터링 그리고 릴레이 방지 기능을 사용할 수 있다. Light-Duty ListServer 와 최근에 보강된 Dennis Oliver의 DO-List를 함께 사용한다. 상향 이동성 필요에 따라 Do-List( http://www.povlab.org/dolist )는 내장된 ListServer를 대신하는 강력한 도구이다.


10. IMS를 어디서 구하지 ? 또 가격은 얼마야 ?

IMS는 다양한 곳에서 다운로드받을 수 있다. 현재 IMS의 최신버전은 POP3S 0.87, SMTPDS 0.86, SMTPRS 0.83, IMS.CPL 0.80이다. EMWAC의 배포 및 설명서는 http://emwac.ed.ac.uk/html/internet_toolchest/ims/ims.htm 에서 구할 수 있다. IMS는 European Microsoft Windows Academic Center에서 개발한 Windows NT를 위한 메일 서버 제품이다. 1995년에 Rockliffe 사는 소스코드를 사들여 “MailSite”라는 프로그램으로 출시하였다. ? IMS 원래의 코드에 기장한 매우 풍부한 메일 서버 기능을 가지고 있음. 소스 코드를 판매한 후에 개발팀을 실질적으로 개발을 중단했다. 어쨌든, 많은 사람들이 IMS와 함께 사용할 수 있는 추가 모듕을 개발하는데 참여하였으며 새로운 기능의 추가와 함께 생명력을 계속 유지하고 있다. IMS는 꽁자다~
2005/06/15 13:55 2005/06/15 13:55
...먼저~
첫번째로 중요한 것은 윈도우의 쉘이 cmd 이여야 합니다.
그러니깐 윈도우 2000이나 윈도우 xp에서 쓰이는 것을 말합니다.
윈도우 98이나 윈도우 ME라면 command 이겠죠?
cmd를 사용해야 하는 이유는 자동완성 때문입니다.
리눅스의 기분을 느낄려면 자동완성은 필수이기 때문입니다^^;
command라 해도 약간의 기분은 낼수 있겠죠~

이제 하나씩 바꾸어 보게요^^;

1. 먼저 자동완성을 시키자~

◆ Command Prompt 자동완성 사용하기

Command모드에서 긴 파일명이나 폴더명을 쉽게 입력하려면 자동완성 기능을 활성화시켜주면 됩니다.

트리 : HKEY_CURRENT_USER\Software\Microsoft\Command Processor
이름 : CompletionChar
속성 : REG_DWORD
값 : 9

확인은 Command Prompt를 띄워 놓고 간단하게 cd do[TAB]를 누르면 자동으로 cd "Documents and Settings"으로 자동 완성 기능을 쓸 수 있습니다.
(위의 예중 [TAB]는 탭키를 누르라는 말입니다.)

이렇게 해주시면 자동완성은 일단 마무리 됩니다.

2. 이제 중요한건 리눅스 처럼 쉘을 바꾸어 보는 것입니다~
리눅스 쉘이라 함은 [root@°曆?# 이겠쬬?
이렇게 하는건 별로 어렵지 않습니다.

시스템 등록정보를 열고 고급탭으로 갑니다.
환경변수를 누릅니다. 시스템변수에다가...
prompt 항목 만들어서 [root@$p]#
이렇게 적어주면 쉘도 변형됩니다.

3. 우리가 아주 많이 사용하는 명령어인 ls를 만들어 볼까요?
별건 아니지만 기분이 확달라집니다.
간단한 방법으로 ls.bat 파일을 만듭니다.
그런후에 @echo off 를 써서 과정은 안보이게 해준후에
dir 이나 dir /w 에 옵션을 달아서 만듭니다.
이런식으로 여러가지 많이 만들면 좋겠죠?
ifconfig.bat 을 만들어서 ipconfig를 연결해주던지...
pwd.bat을 만들어서 cd 를 연결한다든지...
이렇게 bat파일을 만들어서 windows\system32 이런곳에 넣어주심되겠죠?
아님 따로 path를 걸어주던지요~
이런식으로 해주면 기분부터 상쾌해집니다^-^
2005/06/15 13:52 2005/06/15 13:52
Q . Q . DNS 캐시 목록을 보거나 삭제하는 방법은 ?


A . Windows XP 또는 Windows 2000 시스템이 DNS 서버에 쿼리할 때 응답은 긍정(일치되는 값이 있음) 또는 부정(일치되는 값이 없음) 둘 중 하나이다. 로컬 클라이언트가 동일한 주소에 대해 DNS Server에 반복 쿼리하지 않게 하기 위해 로컬 DNS 캐시에 이 결과값들을 저장한다. 이러한 DNS 캐시 엔트리들은 DNS 리소스 레코드라고 알려져 있고 DNS resolver는 항상 DNS 서버에 쿼리하기 전에 먼저 로컬 캐시를 확인한다.

현재의 DNS resolver 캐시 목록 및 Hosts 파일에서 미리 로드된 엔트리를 보기 위해서는 다음과 같이 명령 프롬프트에서 입력한다.

C:\> ipconfig /displaydns

각각의 엔트리는 TTL(Time to Live)(초)를 보여준다. 캐시를 모두 지우기 위해서는 다음과 같이 입력한다.

C:\> ipconfig /flushdns

위의 명령을 수행하면 DNS 캐시가 모두 삭제되고 Hosts 파일에서 엔트리들이 다시 로드된다.

?
Tuesday, November 05, 2002

A . Windows XP 또는 Windows 2000 시스템이 DNS 서버에 쿼리할 때 응답은 긍정(일치되는 값이 있음) 또는 부정(일치되는 값이 없음) 둘 중 하나이다. 로컬 클라이언트가 동일한 주소에 대해 DNS Server에 반복 쿼리하지 않게 하기 위해 로컬 DNS 캐시에 이 결과값들을 저장한다. 이러한 DNS 캐시 엔트리들은 DNS 리소스 레코드라고 알려져 있고 DNS resolver는 항상 DNS 서버에 쿼리하기 전에 먼저 로컬 캐시를 확인한다.

현재의 DNS resolver 캐시 목록 및 Hosts 파일에서 미리 로드된 엔트리를 보기 위해서는 다음과 같이 명령 프롬프트에서 입력한다.

C:\> ipconfig /displaydns

각각의 엔트리는 TTL(Time to Live)(초)를 보여준다. 캐시를 모두 지우기 위해서는 다음과 같이 입력한다.

C:\> ipconfig /flushdns

위의 명령을 수행하면 DNS 캐시가 모두 삭제되고 Hosts 파일에서 엔트리들이 다시 로드된다.
2005/06/15 13:51 2005/06/15 13:51
여러 프로그램들을 설치 및 삭제 하다보면 윈도우의 *.dll같은 라이브러리가 바뀌게 되는데 이럴때는

자동복구 기능으로 2000의 파일을 복구 할 수 있습니다.

방법 : 실행 -> CMD -> 에서 sfc /scannow을 실행하면 자동으로 시스템 파일들을

체크하여 복원시킵니다.
2005/06/15 13:48 2005/06/15 13:48

윈도우 단축키모음!

FAQ 2005/06/15 13:45
Ctrl 키

+ A : 전체 선택
+ C : 복사 하기
+ V : 붙여넣기
+ S : 저장 (편집기에서 많이 사용됩니다.)
+ P : 프린터
+ X : 잘라내기
+ Z : 되살리기
+ Y : 되살리기 취소
+ D : 삭제 하기
+ Home : 커서위치부터 동일한 줄에 있는 앞으로 모든글 선택
+ End : 커서위치부터 동일한 줄에 있는 뒤로 모든글 선택
+ → 방향키 : 한문단 앞으로 이동
+ ← 방향키 : 한문단 뒤로 이동
+ Esc : 시작버튼 누르기
+ Shift + → 방향키 : 한문단 앞으로 선택
+ Shift + ← 방향키 : 한문단 뒤로 선택
+ Shift + Esc : 작업관리자 실행


WindowKey 키

+ D : 모든창 최소화(원상복귀)
+ M : 모든창 최소화(복귀시 + Shift + M)
+ E : 윈도우탐색기
+ R : 직접실행
+ U : 유틸리티 관리자
+ F : 파일 찾기
+ TAB : 프로그램 이동
+ Ctrl + F : 컴퓨터 찾기
+ Pause Break : 시스템 등록 정보

다음은 문서 편집시 사용되는 윈도우 단축키 입니다.

커서가 있는 위치에서 Shift + End : 커서위치부터 끝까지 선택 하기
커서가 있는 위치에서 Shift + Home : 커서위치부터 앞까지 선택 하기
Shift + Insert : Ctrl + V 와 같은 기능
Shift + Home : 뒤로 한문단 선택하기
Shift + End : 앞으로 한문단 선택하기
Shift + Backspace : 뒤로 한문단 지우기
Shift + Delete : 앞으로 한문단 지우기
Shift + PageUp : 커서위치 부터 위로 50줄 선택
Shift + PageDown : 커서위치 부터 아래로 50줄 선택
Shift + Ctrl + PageUp : 커서위치 부터 위로 모든 글 선택
Shift + Ctrl + PageDown : 커서위치 부터 아래로 모든 글 선택
Shift + Space : 한영전환
Shift + Ctrl + → : 앞으로 한글자씩 선택 하기
Shift + Ctrl + ← : 뒤로 한글자씩 선택 하기


기타 단축키

PrtScnSysRq : 윈도우 전체 화면을 클립보드에 복사
Alt + PrtScnSysRq + 활성화 되있는 프로그램 화면을 클립보드에 복사
Alt + F4 : 프로그램 종료 (윈도우 종료)
2005/06/15 13:45 2005/06/15 13:45
출처 : http://support.microsoft.com/default.aspx?scid=kb;ko;602277

-현상

관리 도구의 이벤트 뷰어를 실행하면 아무 화면도 나타나지 않을 수 있습니다.

-원인

Remote Procedure Call (RPC) 서비스가 시작되지 않았습니다.

-해결 방법
RPC 서비스는 시스템 운영에 필수적인 서비스로, 사용 안함으로 설정할 경우 시스템에 문제를 일으킬 수 있습니다. 그러므로 RPC 서비스를 자동으로 수정해야합니다. 하지만 관리 도구 - 서비스에서는 RPC 서비스의 등록 정보 자체가 열리지 않기 때문에 사용자 인터페이스를 통해서 서비스를 시작하도록 변경할 수 없습니다. 또한 시스템 시작 시에만 함께 시작할 수 있는 서비스로서, net start로도 시작할 수 없습니다. RPC 서비스 시작 옵션을 사용 안함에서 자동으로 변경하려면 다음과 같이 하십시오.

1. 레지스트리 편집기(Regedt32.exe)를 시작합니다.
2. 아래의 레지스트리 키를 찾습니다.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\RpcSs\Start

3. 편집 메뉴에서 DWORD를 누르고 10진수를 눌러 값을 4에서 2로 변경한 뒤 확인을 누릅니다.
4. 레지스트리 편집기를 종료합니다.
5. 윈도우를 재부팅합니다.

키워드: KB602277
2005/06/15 13:45 2005/06/15 13:45
출처 : http://www.devpia.com

1) 시작>프로그램>관리도구>서비스에서 "printer spooler서비스"를 재시작 해본 후 다시 프린터 추가를 시도해본다. 여기서 에러가 발생하면 취소를 합니다. 그리고 2)번의 단계로 넘어갑니다.
2) 1)의 방법으로 해결되지 않을 경우 *** 주의 *** 레지스트리를 편집하는 경우 시스템에 치명적인 손상을 불러올 수 있습니다. 각별히 주의해서 작업하시기를 부탁드립니다.

1. 레지스트리 편집기를 시작합니다. (시작>실행창에서 "regedit" 을 입력하고 열기버튼 누릅니다.)

2. 다음의 키값을 찾습니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port Driver값을 localspl.dll로 change합니다.(만약 localsql.dll로 되어있다면 변경하지않고 그대로 둡니다.)

3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors 의 하위 폴더값 중에서, AppleTalk Printing Devices (When Services for Macintosh is installed) BJ Language Monitor Local Port PJL Language Monitor Standard TCP/IP Port USB Monitor Windows NT Fax Monitor 이 것들 외의 값이 있는지 확인한 후, 위의 list에 있는 값을 제외한 다른 값은 제거합니다.

4. KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers 의 값 중에서, Internet Print Provider LanMan Print Provider 를 제외한 나머지 third-party 프린터 provider를 제거합니다.

5. 레지스트리 편집기를 끝냅니다.

6. 서버를 재시작 한 후 프린터를 추가해봅니다. 두번째 아래의 과정을 그대로 따라해 보시기 바랍니다. 작업을 하시기 전에 "..레지스트리 백업..."옵션을 선택한 응급복구 디스켓을 만드실 것과 레지스트리를 백업해 두시길 권합니다.



1. 관리도구 > 서비스에서 Print Spooler 서비스를 멈추세요. 아마도 이미 멈춰 있는 상태라서 이 작업을 하실 필요가 없을 것 같긴 합니다만...

2. 레지스트리 편집기를 열 고 "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Pri nt \Environments\Windows NT x86\Drivers\Version-??\프린터드라 이버이름" 키를 클릭하신 후 오른쪽 창에 나타난 값들을 잘 기 록해 두시고 (레지스트리 메뉴 > 레지스트리 파일 내보내기로 백업해 두시고 나중에 보시는 것도 괜찮겠죠) "프린터드라이버 이름" 키를 삭제하신 후 편집기를 종료합니다. Version-3이 윈2000 드라이버이지만 Version별로 하위의 "프린 터드라이버이름"에 해당하는 키를 모두 삭제해야 합니다.

3. 탐색기를 열어서\Winnt\System32\Spool\Drivers\w32x86폴더 를 열고 해당 폴더에 있는 파일 중에서 ntprint.inf를 제외한 나머지 파일을 모두 삭제합니다(만약 있다면 말이죠. 없으면 상 관없습니다). 하위 폴더는 1,2,3등과 같이 번호가 있는 폴더일 텐데 이 폴더의 이름은 위에 있는 레지스트리 키값 중의 Version 번호에 해당합니다. 각각의 번호 폴더를 열고 안에 있 는 모든 파일을 삭제합니다. 폴더 자체는 삭제하지 마세요.

4. 관리도구 > 서비스에서 print spooler서비스를 시작합니다.

5. 시스템을 재시작한 뒤 필요한 프린터 드라이버를 재설치합니 다.
2005/06/15 13:44 2005/06/15 13:44
출처 : http://www.devpia.com

< ADDUSERS >

[User]

UserName,FullName,Password,comment,HomeDriveAndPath,Profile,Script,

[Global]

GlobalGroupName,Comment,UserName,.....

[Local]

LocalGroupName,Comment,UserName,.....



ADDUSERS {/c|/d{:u}|/e} filename [/t][/s:x] [/?]

[\\computername|domainname][/p:{l|c|e|d}]



- 사용자를 백업하는 방법

예) Addusers /d:u userlist.txt

한글 사용자 부분을 추가 하기위해 /d:u 옵션을 주고 "userlist.txt"으로

백업한다는 뜻입니다.

백업한 파일을 메모장으로 살펴볼 수 있으며 기본적인 문법 규칙에 맞게

수정작업이 가능하며,백업된 자료를 복원을 할 경우 사용자가 추가한 부분에

대해서도 복원이 가능합니다.



- 사용자 복원 방법

예) Addusers /c userlist.txt /p:l /p:c

백업 할 때 작업해 둔 "userlist.txt" 파일을 가지고 복원을 할 때 사용하며

계정이 존재하지 않는 시스템에서 작업해야 하며 자신의 시스템에 작업할

경우에는 현재 존재하는 계정 때문에 복원이 제대로 이루어지지 않을 수

있습니다.



사용자 계정을 추가 할 때 하위 옵션에 대해서도 정의를 해 주어야 하며,추가

옵션 스위치로 처리할 수 있습니다.

[/p:{l|c|e|d}]과 같이 나타나며,"/p:l /p:c"과 같은 문법으로 필요한 내용을

첨가합니다.먼저 데모 장비에서 테스트한 후 작업하는 것이 좋습니다.



다음 로그온할 때 반드시 암호 변경 ( /p:l )

암호 변경 할 수 없음 ( /p:c )

암호 사용 기간 제한 없음 ( /p:e )

계정 사용 안함 ( /p:d )





< CSVDE >

일반 매개 변수

-i 가져오기 모드 사용(기본값은 내보내기)

-f 파일 이름 입력 또는 출력 파일 이름

-s 서버 이름 바인딩 대상 서버(기본값은 로그인된 도메인의 도메인 컨트롤러)

-v 자세한 정보 표시 모드 사용

-c 원본 DN 대상 DN 원본 DN을 대상 DN으로 바꿈

-j 로그 파일 위치

-t 포트 번호(기본값 = 389)

-u 유니코드 형식 사용

-? 도움말





내보내기 특정

-d RootDN LDAP 검색의 루트(기본값은 명명 컨텍스트)

-r 필터 LDAP 검색 필터(기본값은 "(objectClass=*)")

-p SearchScope 검색 범위(Base/OneLevel/Subtree)

-l 목록 LDAP 검색에서 검색될

특성 목록(쉼표 구분)

-o 목록 입력에서 생략될 특성 목록(쉼표 구분)

-g 페이지 검색 안함

-m 내보내기 작업에 SAM 논리법 사용

-n 이진 값 내보내지 않음





- 가져오기



-k : 가져오기 작업에서 '제약 조건 위반' 및 '개체가 이미 있음' 오류를

무시합니다.





- 자격 증명



자격 증명이 지정되지 않은 경우에는 CSVDE가 SSPI를 사용하여 현재 로그온된

사용자로 바인딩합니다.



-a UserDN [암호 | *] 단순 인증

-b UserName 도메인 [암호 | *] SSPI 바인딩 방법



예) 현재 도메인의 단순 가져오기

csvde -i -f INPUT.CSV



예) 현재 도메인의 단순 내보내기

csvde -f OUTPUT.CSV



예) 자격 증명을 사용하여 특정 도메인 내보내기

csvde -m -f OUTPUT.CSV

-b USERNAME DOMAINNAME *

-s SERVERNAME

-d "cn=users,DC=DOMAINNAME,DC=Microsoft,DC=Com"

-r "(objectClass=사용자)"
2005/06/15 13:44 2005/06/15 13:44
출처 : http://www.devpia.com

관리도구 - 성능 - 카운터 추가 - Network Interface



Packets Recevied/sec

Packets Sent/sec

Packets/sec



필요로 하는 또는 참고해야할 카운터를 추가하고 확인을 누릅니다.



CPU - 작업관리자에서 편하게 보셔도 되고요.



관리도구 - 성능 - 카운터 추가 - Processor

% Processor Time 추가 하고 로그를 보실 수 가 있습니다.

Sysmon 에는 이외에도 많은 카운터들이 있습니다. System 성능 모니터링을 위한

충분한 도구가 될 수 있습니다.
2005/06/15 13:43 2005/06/15 13:43
네트워크 환경을 열고 TCP/IP 등록정보를

보면 고급 - 옵션에 TCP/IP 필터링 이란 곳에 Port를 열고 닫을 수 있게 되어 있습니다.
2005/06/15 13:43 2005/06/15 13:43
출처 : Microsoft

요약
NTFS 파일 시스템 볼륨에서 파일 또는 폴더를 삭제할 수 없는 경우가 있습니다. 이 문서에서는 NTFS 볼륨의 파일이나 폴더를 삭제할 수 없는 이유와 여러 가지 원인 분석을 통해 이러한 문제를 해결하는 방법을 설명합니다.
추가 정보
참고: 내부적으로 NTFS는 폴더를 특수한 유형의 파일로 취급합니다. 따라서 이 문서에 나오는 "파일"은 파일이나 폴더를 나타냅니다.
원인 1: 파일이 ACL을 사용하는 경우
파일이 ACL(액세스 제어 목록)을 사용하고 있으면 파일을 삭제하지 못할 수 있습니다. 이 문제를 해결하려면 파일에 대한 권한을 변경합니다. 사용 권한을 변경하기 위해서는 파일의 소유권이 필요할 수 있습니다.

관리자는 해당 파일에 대한 권한을 명시적으로 부여받지 못한 경우에도 암시적으로 파일의 소유권을 얻을 수 있습니다. 파일 소유자는 해당 파일에 대한 권한을 명시적으로 부여받지 못한 경우에도 암시적으로 파일 권한을 수정할 수 있습니다. 따라서 파일의 소유권을 얻은 다음 자신에게 파일을 삭제할 권한을 부여한 후에야 파일을 삭제할 수 있습니다.


파일에 비정규 ACL에 있으므로 특정 보안 도구를 사용하여 권한을 표시하거나 수정할 수 없는 경우
이러한 문제를 해결하려면 다른 도구(예: Cacls.exe의 후속 빌드)를 사용하십시오.

ACL의 ACE(액세스 제어 항목)는 해당 유형에 따라 특정 기본 설정 순서를 갖습니다. 예를 들어, 액세스를 거부하는 ACE는 일반적으로 액세스를 부여하는 ACE보다 앞에 옵니다. 그러나 임의의 순서로 정렬된 ACE를 포함하는 ACL을 작성하는 것을 막을 수는 없습니다. 이전 버전의 일부 Windows에서는 이러한 "비정규" ACL을 읽으려고 할 때 문제가 발생합니다. Windows 탐색기 그래픽 보안 편집기를 사용하여 이러한 ACL을 제대로 수정할 수 없는 경우도 있습니다. 이러한 문제는 후속 버전의 WIndows에서 수정되었습니다. 이러한 문제가 발생하면 최신 버전의 Cacls.exe를 사용하십시오. ACL을 표시하거나 편집할 수 없는 경우에도 해당 파일에 대한 액세스 권한을 부여하는 새로운 ACL을 작성할 수 있습니다.
원인 2: 파일이 사용 중인 경우
사용중인 파일은 삭제하지 못할 수도 있습니다. 이 문제를 해결하려면 열린 핸들이 있는 프로세스를 확인한 후 해당 프로세스를 닫습니다.

파일을 어떤 방법으로 열었느냐에 따라(예: 공유 액세스와 반대로 단독으로 사용하기 위해 연 경우) 사용 중인 파일을 삭제하지 못할 수도 있습니다. 다양한 도구를 사용하여 언제든지 파일에 대한 열린 핸들이 있는 프로세스를 확인할 수 있습니다.

파일에 대한 열린 핸들이 있는 프로세스와 관련된 도구에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
242131 How to: Display a List of Processes That Have Files Open

172710 How to Use the OH Tool on the Windows NT 4.0 Resource Kit

이러한 문제가 발생할 경우 여러 증상이 나타날 수 있습니다. 삭제 명령을 사용하여 파일을 삭제할 수 있지만 파일을 연 프로세스에서 해당 파일을 해제할 때까지 실제로 파일은 삭제되지 않습니다. 또한 삭제를 보류하고 있는 파일에 대해 보안 대화 상자에 액세스하지 못할 수 있습니다. 이 문제를 해결하려면 열린 핸들이 있는 프로세스를 확인한 후 해당 프로세스를 닫습니다.


원인 3: 파일 시스템 손상으로 인해 파일에 액세스할 수 없는 경우
파일 시스템이 손상되면 해당 파일을 삭제하지 못할 수 있습니다. 이 문제를 해결하려면 디스크 볼륨에서 Chkdsk 유틸리티를 실행하여 오류를 수정하십시오.

디스크의 불량 섹터, 기타 결함 있는 하드웨어 또는 소프트웨어 버그로 인해 파일 시스템이 손상되고 파일에 문제가 생길 수 있습니다. 여러 가지 방식으로 일반적인 작업이 실패할 수 있습니다. 파일 시스템에서 손상을 감지하면 이벤트 로그에 이벤트가 기록되며 Chkdsk를 실행할지를 묻는 메시지가 표시됩니다. 손상의 유형에 따라 Chkdsk는 파일 데이터를 복구할 수도 있으며 복구하지 못할 수도 있습니다. 그러나 Chkdsk를 실행하면 파일 시스템은 내부적으로 일관성 있는 상태로 돌아갑니다.

Chkdsk 유틸리티를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
176646 Error Message: The File or Directory Is Corrupt...

187941 CHKDSK 및 새로운 /C 및 /I 스위치에 대한 설명

원인 4: 파일이 MAX_PATH보다 더 긴 경로에 존재하는 경우
파일 경로에 문제가 있으면 파일을 열지 못할 수 있습니다.
해결책 1: 자동으로 생성된 8.3 이름을 사용하여 파일에 액세스한다
이 문제를 해결하려면 자동으로 생성된 8.3 이름을 사용하여 파일에 액세스합니다. 이 방법은 폴더 이름이 너무 길어서 경로가 길어진 경우에 사용할 수 있는 가장 쉬운 해결책이 될 수 있습니다. 8.3 경로도 너무 길거나 볼륨에서 8.3 이름이 비활성화된 경우에는 해결책 2를 사용하십시오.

NTFS 볼륨에서 8.3 파일 이름을 비활성화하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
121007 How to Disable the 8.3 Name Creation on NTFS Partitions

해결책 2: 긴 폴더의 이름을 바꾸거나 이동한다
이 문제를 해결하려면 대상 파일의 길이가 MAX_PATH보다 짧도록 폴더의 이름을 바꿉니다. 이를 수행하려면 루트 폴더 또는 다른 편리한 위치에서 시작한 후 폴더의 이름을 더 짧게 바꿉니다. 이 단계를 통해서도 문제를 해결할 수 없으면(예: 파일의 경로가 128 단계 이상인 경우) 해결책 3으로 이동합니다.
해결책 3: 폴더 경로만큼 여러 단계의 네트워크 공유를 사용한다
해결책 1과 2가 편리하지 않거나 문제를 해결하지 못할 경우 폴더 트리에서 최대한 여러 수준의 하위 경로로 이루어진 네트워크 공유를 만든 후 해당 공유 폴더에 액세스하여 폴더 이름을 바꿉니다.
해결책 4: 긴 경로를 찾아 들어갈 수 있는 도구를 사용한다
많은 Windows 프로그램들은 최대 경로 길이가 255자보다 더 짧을 것으로 예상합니다. 따라서 이러한 프로그램들은 이러한 일반적인 경로를 수용하는 데 충분한 만큼만 내부 저장소를 할당합니다. NTFS는 이러한 제한을 적용하지 않으며 더 긴 경로를 허용할 수 있습니다.

아주 여러 단계로 이루어진 폴더 구조의 특정 지점에 공유를 만든 후 해당 공유를 사용하여 이 지점보다 더 아래 단계를 포함하는 구조를 만들면 이러한 문제가 발생할 수 있습니다. 폴더 트리에서 로컬로 작동되는 일부 도구를 사용하여 루트에서 시작되는 전체 트리를 찾아 들어가지 못할 수 있습니다. 해당 공유를 찾아 들어가기 위해서는 좀더 특수한 방법으로 이러한 도구를 사용해야 합니다. 이러한 상황에서 전체 트리를 찾아 들어가는 방법에 대해서는 CreateFile API 설명서를 참조하십시오.

일반적으로 파일을 만들 때 사용한 소프트웨어로 해당 파일을 관리할 수 있습니다. MAX_PATH보다 더 여러 단계의 경로를 가진 파일을 만들 수 있는 프로그램이 있으면 일반적으로 같은 프로그램으로 해당 파일을 삭제하거나 관리할 수 있습니다. 마찬가지로 공유에 만든 파일은 같은 공유를 사용하여 삭제할 수 있습니다.
원인 4: Win32 이름 공간에서 예약된 이름이 파일 이름에 포함된 경우
Win32 이름 공간에서 예약된 이름(예: "lpt1")이 파일 이름에 포함되는 경우 해당 파일을 삭제하지 못할 수 있습니다. 이 문제를 해결하려면 Win32 이외의 프로그램을 사용하여 해당 파일의 이름을 바꿉니다. POSIX 도구나 적절한 내부 구문을 사용하는 다른 도구를 사용하여 해당 파일을 사용할 수 있습니다.

또한 특정 구문을 사용하여 파일 경로를 지정하는 경우 기본 제공된 몇몇 명령을 사용하여 일반적인 Win32 예약 이름 확인 과정을 건너뛸 수 있습니다. 예를 들어, Windows XP에서 del 명령을 사용하는 경우 다음의 특수한 구문을 사용하여 파일에 대한 전체 경로를 지정하면 "lpt1"이라는 파일을 삭제할 수 있습니다.
del \\?\c:\ path_to_file \lpt1

Windows NT 및 Windows 2000에서 예약된 이름을 가진 파일을 삭제하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
120716 How to Remove Files with Reserved Names in Windows

Windows XP에서 예약된 이름을 가진 파일을 삭제하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
315226 How to Remove Files with Reserved Names in Windows XP

일반적인 Win32 CreateFile 메커니즘을 사용하여 파일에 대한 핸들을 여는 경우 특정 파일 이름이 이전 스타일의 DOS 장치용으로 예약되어 있습니다. 이전 버전과의 호환성을 위해 이러한 파일 이름은 허용되지 않으며 일반적인 Win32 파일 호출을 사용하여 만들 수 없습니다. 그러나 이 문제는 NTFS로 인한 것이 아닙니다.

Win32 프로그램을 사용하면 MAX_PATH보다 더 여러 수준의 하위 경로로 이루어진 폴더를 찾아 내려갈 때와 동일한 방법으로 파일을 만들거나 삭제할 때 수행되는 일반적인 이름 확인 과정을 건너뛸 수 있습니다. 또한 일부 POSIX 도구를 사용해도 이러한 이름 확인 과정이 수행되지 않습니다.
원인 5: Win32 이름 공간에서 유효하지 않은 이름이 파일 이름에 포함된 경우
파일 이름에 유효하지 않은 이름이 포함되는 경우(예: 파일 이름 맨 끝에 공백 또는 마침표가 있거나 파일 이름이 공백으로만 구성된 경우) 해당 파일을 삭제하지 못할 수 있습니다. 이 문제를 해결하려면 적절한 내부 구문을 사용하는 도구를 사용하여 파일을 삭제합니다. 다음과 같이 이러한 파일에 작동되는 일부 도구와 함께 "\\?\" 구문을 사용할 수 있습니다.
del "\\?\c:\ path_to_file_that contains a trailing space.txt "

이 문제의 원인은 원인 4와 비슷하지만 일반적인 Win32 구문을 사용하여 이름 맨 끝에 공백이나 마침표가 있는 파일을 열 경우 실제 파일이 열릴 때 이러한 공백이나 마침표가 무시됩니다. 따라서 같은 폴더에 두 개의 파일 "AFile.txt"와 "AFile.txt "(파일 이름 뒤에 공백이 있음)가 있을 때 표준 Win32 호출을 사용하여 두 번째 파일을 열려고 하면 대신 첫 번째 파일이 열립니다. 마찬가지로 이름이 " "(공백 문자)인 파일을 표준 Win32 호출을 사용하여 열려고 하면 해당 파일의 상위 폴더가 대신 열립니다. 이 경우 해당 파일에 대한 보안 설정을 변경하려고 하면 이러한 보안 설정을 변경하지 못하거나 예기치 않게 다른 파일에 대한 설정이 변경될 수 있습니다. 이러한 동작이 발생하면 실제로 제한적인 ACL을 갖는 파일에 대해 사용 권한이 있다고 생각할 수 있습니다.
여러 원인이 함께 발생하는 경우
이러한 여러 원인이 복합적으로 발생하기 때문에 좀더 복잡한 절차에 따라 파일을 삭제해야 할 수 있습니다. 예를 들어, 컴퓨터의 관리자로 로그온하면 원인 1(파일을 삭제할 권한이 없음)과 원인 5(파일에 액세스할 경우 다른 파일 또는 존재하지 않는 파일로 리디렉션되도록 하는 맨 끝 문자가 파일 이름에 포함되어 있음)가 함께 발생할 수 있으며 이로 인해 해당 파일을 삭제하지 못할 수 있습니다. 파일의 소유권을 확보하고 사용 권한을 추가하여 원인 1을 해결하려는 경우 원인 6으로 인해 사용자 인터페이스의 ACL 편집기에서 해당 파일에 액세스할 수 없으므로 여전히 해당 파일을 삭제하지 못할 수 있습니다.

이러한 경우 다음과 같이 Subinacl 유틸리와 함께 /onlyfile 스위치(이 유틸리티는 Resource Kit에 포함되어 있음)를 사용하여 액세스가 불가능한 파일에 대한 소유권 및 사용 권한을 변경할 수 있습니다.
subinacl /onlyfile "\\?\c:\ path_to_problem_file " /setowner= domain \ administrator /grant= domain \ administrator =F

참고: 이 명령은 한 줄에 입력해야 하며 여기서는 읽기 쉽게 두 줄로 나타낸 것입니다.

이 샘플 명령줄은 맨 끝 공백을 포함하는 C:\ path_to_problem_file 파일을 수정하여 domain \ administrator 계정을 해당 파일의 소유자가 되도록 하며 이 계정이 파일에 대해 모든 제어 권한을 가지도록 합니다. 이제 동일한 "\\?\" 구문으로 del 명령을 사용하여 이 파일을 삭제할 수 있습니다.
본 문서의 정보는 다음의 제품에 적용됩니다.
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional
Microsoft Windows 2000 Datacenter Server
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional
Microsoft Windows Advanced Server, Limited Edition
Microsoft Windows Datacenter Server, Limited Edition
Microsoft Windows Server 2003, 64-Bit Datacenter Edition
Microsoft Windows Server 2003, 64-Bit Enterprise Edition
Microsoft Windows Server 2003, Datacenter Edition
Microsoft Windows Server 2003, Enterprise Edition
Microsoft Windows Server 2003, Standard Edition
Microsoft Windows Server 2003, Web Edition
최종수정일: 2003-05-05 (4.0)
키워드: kbinfo KB320081
2005/06/15 13:42 2005/06/15 13:42
Windows 2000을 사용하는 경우 다음 방법 중 하나를 사용하십시오.

방법 1
1. 시작을 누른 다음 실행을 누릅니다.

2. 열기 상자에 cmd를 입력한 다음 확인을 누릅니다.

3. set를 입력한 다음 Enter 키를 누릅니다.

4. "Windir="로 시작하는 줄을 찾습니다. 이 줄은 Windows가 설치된 폴더를 표시합니다.


방법 2
1. 시작 ->설정 -> 제어판을 차례로 누릅니다.

2. 시스템을 두 번 누릅니다.

3. 고급 탭을 누릅니다.

4. 환경 변수를 누릅니다.

5. 시스템 변수 섹션에서 "Windir=" 항목을 확인합니다. 이 항목은 Windows가 설치된 폴더를 표시합니다.


출저 - microsoft support 페이지
2005/06/15 13:42 2005/06/15 13:42
기본적으로 윈도우 2000 / XP 는 관리목적으로 각 드라이브가 공유되어있다. 다음과 같이 확인해볼 수 있다.

1) 시작 → 설정 → 제어판 → 관리도구 → 컴퓨터 관리 → 공유폴더 → 공유

2) 시작→ 실행 → cmd 입력후 엔터 → 명령 프롬프트 창이 오픈되면 → net share 입력후 엔터

※ 다음과 같은 방법으로 공유를 삭제할 수 있다. 하지만 다음번 부팅시 다시 재공유가 되므로 배치파일로 작성하여 시작 프로그램에 넣어두는 방법도 있다. 또한 폴더공유기능이 삭제되므로 외부에서 해당 시스템으로 접근이 필요한 경우 접속되지 않는점을 유의해야한다.

3) 시작 → 실행 → cmd 입력후 엔터 → 명령 프롬프트 창이 오픈되면 다음과 같이 입력한다.

net share /delete C$ /y
(C$ 는 드라이브명으로 필요한 경우 다른 드라이브를 지정할 수 있다.)

특정한 레지스트리 값을 추가하여 관리목적의 공유폴더가 더 이상 공유되지 않게 할수도 있다.
2005/06/15 13:42 2005/06/15 13:42
Windows 2003 을 지원하는 Resource Kit 을
다운로드 받을 수 있는 곳은

http://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe

IIS 6.0 관련 Resource Kit을
다운로드 받을 수 있는 곳은

http://download.microsoft.com/download/7/8/2/782c25d3-0f90-4619-ba36-f0d8f351d398/iis60rkt.exe

*참고로 다운로드 위치가 변경되곤 하므로 글 작성일 현재 가능한 곳입니다.
2005/06/15 13:41 2005/06/15 13:41
Windows NT / 2000은 기본적으로 부트 파티션에 실제 메모리 사이즈의 1.5배의 페이지 파일(가상 메모리)을 생성합니다.

하지만, 부트 파티션에 페이지 파일이 있다는 것은 시스템 측면에서 보면, 성능을 저하 시킬 수 있는 요인이 됩니다.

이렇게 페이지 파일이 부트 파티션에 있으면, Disk I/O와 관련된 시스템 데이터 파일을 읽을때, Simultaneous 하게

작업을 하지 못한다는 것을 의미합니다. 실제 디스크로부터 시스템 관련 데이터를 읽을때, 동시에 가상 메모리로부터

그 시스템 관련 데이터와 연관된 데이터를 동시에 읽지 못하는 것을 의미합니다.

하지만, 페이지 파일을 다른 파티션 또는 다른 물리 디스크에 설정을 하면, 이러한 Multipel I/O Request를 할 수

있기 때문에, 시스템 성능에 큰 도움을 줄 수 있습니다.

그러나, 시스템 성능을 위해서, 모든 페이지 파일을 부트 파티션이 아닌 다른 파티션 또는 다른 물리 디스크에 저장을

하게 되면, 커널 모드에서 일어날 수 있는 STOP 에러(일명 블루 스크린)와 관련된 정보를 담고 있는 Crash Dump File

Memory.dmp)을 생성할 수 없다는 단점이 있습니다.


그래서 MS는 아래와 같이 권고하고 있습니다.


1. 부트 파티션에는 실제 메모리 사이즈와 같은 페이지 파일을 설정한다.

2. 부트 파티션 이외의 다른 물리 디스크에 실제 메모리의 1.5배의 크기에 해당하는 페이지 파일을 설정한다.

3. 부트 파티션 이외에 페이지 파일을 위한 디스크에는 시스템 관련된 데이타를 포함한 어떤 데이터도 없는 파티션이면
가장 좋다. 왜냐하면, 다른 데이타와 같이 있으면 데이터 단편화가 일어날 것이고, 데이터 단편화가 일어나면, 페이지
파일로 부터 읽기/쓰기 시에 성능이 떨어지기 때문이다.


만약, 시스템 오류시 생성되는 Crash Dump File이 문제 해결에 어떤 도움도 줄 수 없다고 생각이 들 시에는 부트
파티션의 페이지 파일은 2MB만 잡고, 다른 파티션에 1.5배 또는 최대 2.5배의 페이지 파일을 잡으면 된다.
2005/06/15 13:41 2005/06/15 13:41
"터미널 서버에서 허용된 최대 연결 수를 초과했습니다" 라는 메세지로 원격지의 서버를 접속 할 수 없을경우
로컬에서 작업을 해야하는 경우가 있습니다.

이런 경우를 방지하기 위해서 터미널 서버에 접속을 해서 작업을 마치고 나올 경우

시작 -> 시스템 종료 -> 로그오프 로 터미널을 종료합니다.

이와 같이 작업을 하지않고 창을 닫을경우 세션은 계속 유지가 되게 됩니다.

그리고 정해진 시간동안 유휴 상태 일 경우 세션을 끊을수 있게 설정을 다음과 같이 할 수 있습니다.

1. 시작 -> 프로그램 -> 관리 도구 -> 터미널 서비스 구성을 선택합니다.

2. 연결을 선택하면 오른쪽 창에 RDP-Tcp 관련 항목이 나타납니다.

3. 항목을 선택하고 두번 클릭하면 RDP-Tcp 등록 정보 창이 나타납니다.

4. 세션 탭을 선택하고 사용자 설정 무시를 체크하고 유휴 세션 제한을 30분으로 설정 합니다.

5. 그 아래의 사용자 설정 무시를 체크하고 세션 끝내기 라디오 버튼을 체크합니다.

유휴 시간이 30분을 초과 할 경우 세션이 끊어지게 됩니다. 시간은 임의로 정하시면 됩니다.
2005/06/15 13:40 2005/06/15 13:40
이 글은 사용자의 IP Address를 보고 국문판을 보여줄 것인지 영문판을 보여줄 것인지를 자동으로 결정하는 방법을 설명합니다.

최신 IP Address 할당 정보는 KRNIC(www.krnic.net)에 가시면 있습니다.

=== 소 스 ====
< %
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
' 작성자 : 정준명 (twiny@shinbiro.com)
' 작성일 : 1999년 4월 1일 (만우절이군요)
' 기 능 : Severvariables의 REMOTE_ADDR을 읽어와 국내할당된 IP Address 범위와 매칭
' 을 시켜 본 후 그 결과에 따라 특정 페이지로 리디렉션을 한다.
' REMOTE_HOST를 이용하면 훨씬 간단하게 할 수 있으나 호스트 이름이 없는 경우 IP Address로
' 바뀌기 때문에 완벽하게 하기 위해서는 REMOTE_ADDR의 값을 이용해야 한다.
'
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Dim strIPAddr
Dim strBClass
Dim strCClass
Dim pos, pos2, pos3
Dim Temp

'웹 서버에 접속한 사용자의 IP Address를 가져옵니다. (예- 203.239.136.1)
strIPAddr = Request.servervariables("REMOTE_ADDR")

'IP Address를 B Class와 C Class에 맞게 변환
' 이때 자리수를 무조건 3자리로 변환 된다. 즉 203.15.21.0일 경우 203.015.021.000으로

pos = InStr(1, strIPAddr, ".", 1)
strBClass = Left(strIPAddr, pos - 1)

pos2 = InStr(pos + 1, strIPAddr, ".", 1)
Temp = Mid(strIPAddr, pos + 1, pos2 - pos - 1)

'자리수를 3자리로 맞추는 루틴
If Len(Temp) = 1 Then
Temp = "00" & Temp
ElseIf Len(Temp) = 2 Then
Temp = "0" & Temp
End If
'B Class주소 완성
strBClass = strBClass & Temp

pos3 = InStr(pos2 + 1, strIPAddr, ".", 1)
Temp = Mid(strIPAddr, pos2 + 1, pos3 - pos2 - 1)
If Len(Temp) = 1 Then
Temp = "00" & Temp
ElseIf Len(Temp) = 2 Then
Temp = "0" & Temp
End If

'C Class주소 완성
strCClass = strBClass & Temp

Select Case strBClass
'우선 국내 할당된 B Class와 비교 한다.
Case "128134", "129254", "134075", "137068", "141223", "143248", "147006", "147043", "147046", "147047", _
"150150", "150183", "150197", "152099", "152149", "154010", "155230", "156147", "157197", "158044", _
"161122", "163152", "163180", "163239", "163243", "164124", "164125", "165132", "165133", "165141", _
"165186", "165194", "165213", "165229", "165243", "165244", "165246", "166079", "166103", "166104", _
"166125", "168078", "168115", "168126", "168131", "168154", "168188", "168219"

' 여기서 특정 동작을 넣으면 되겠죠?
response.redirect ("http://www.tradeorder.co.kr/kmain1.htm")

'국내 할당된 B Class에 속하지 않을 경우
Case Else
Select Case strCClass

'국내 할당된 C Class
Case "192100002", "192104015", "192132015", "20202099", "202020119"
response.redirect ("http://www.tradeorder.co.kr/kmain1.htm")
Case Else
If (strCClass >= 192132039 And strCClass < = 192132040) Or (strCClass >= 192132248 And strCClass < = 192132255) _
Or (strCClass >= 192203138 And strCClass < = 192203145) Or (strCClass >= 192245250 And strCClass < = 192245251) _
Or (strCClass >= 192203138 And strCClass < = 192203145) Or (strCClass >= 192245250 And strCClass < = 192245251) _
Or (strCClass >= 192249016 And strCClass < = 192249031) Or (strCClass >= 202020083 And strCClass < = 202020086) _
Or (strCClass >= 202020128 And strCClass < = 202020255) Or (strCClass >= 202021000 And strCClass < = 202021007) _
Or (strCClass >= 202030000 And strCClass < = 202030255) Or (strCClass >= 202031000 And strCClass < = 202031255) _
Or (strCClass >= 203224000 And strCClass < = 203255255) Or (strCClass >= 210090000 And strCClass < = 210091255) _
Or (strCClass >= 210092000 And strCClass < = 210127255) Or (strCClass >= 210178000 And strCClass < = 210183255) _
Or (strCClass >= 210216000 And strCClass < = 210219255) Then
response.redirect ("http://www.tradeorder.co.kr/kmain1.htm")
'국내 할당된 IP Address가 아닌 경우
Else
response.redirect ("http://www.tradeorder.co.kr/emain0.htm")
End If
End Select
End Select
%>
2005/06/15 13:36 2005/06/15 13:36
*Response.Redirect 대신 Sever.Transfer를 사용하라

Response.Redirect는 Sever에서 브라우저에 요청 후 Sever로 돌아오나. Sever.Transfer는 Server내부에서 처리됩니다.

*Directory URL에 후행 슬러시 사용

후행 슬래시를 생략하면 브라우저는 서버에 요청하여 디렉터리를 요구하고 있다는 응답을 받습니다. 그러면 브라우저는 URL에 슬래시를 첨가하여 두번째 요청을 하며 이때서야 서버가 그 디렉터리에 대한 기본 문서로 응답합니다.

*Sever 변수사용금지

서버 변수에 액세스하면 웹 사이트가 서버에 특별한 요청을 하게 되어 요청한 것만이 아니라 모든 서버 변수를 수집하게 됩니다. 속도가 저하됨
ex : < Response.Write(“Data”)>

*< OBJECT> Tag를 사용하라

Server.CreateObject는 즉시 개체를 만듭니다. 이 개체를 나중에 사용하지 않는다면 결국 리소스를 낭비하는 것입니다. < object id=objname> 태그는 objname을 선언하지만 이 개체의 메서드 또는 속성 중 하나가 처음 사용될 때까지 objname은 실제로 만들어지지 않습니다.
Ex : < OBJECT runat=server progid=ADODB.Connection id=dbcon> < /OBJECT>

*일괄 처리 인라인 스크립트 및 Response.Write 문

응답버퍼링을 켜지 않으면 이 문(statement)이 여러 작은 패킷으로 네트워크를 통해 브라우저로 데이터를 쓰게 됩니다. 이 과정은 매우 느립니다. 작은 양의 스크립트 및 HTML을 여기 저기 배치하면 스크립트 엔진과 HTML간의 전환이 일어나서 성능이 떨어집니다. 가깝게 모여있는 인라인 식(expression)을 Response.Write를 한 번 호출하는 것으로 교체합니다. 특히 게시판과 같이 Until 문을 사용할 때 사용하시면 좋은 효과를 보것입니다.
Ex)
< table>
< % For Each fld in rs.Fields %>
< th>< % = fld.Name %>< /th>
< %
Next
While Not rs.EOF
%>
< tr>
< % For Each fld in rs.Fields %>
< td>< % = fld.Value %>< /td>
< % Next
< /tr>
< % rs.MoveNext
Wend %>
< /table>
아래에 있는 더 효율적인 코드는 행마다 응답 스트림에 쓰기가 하나 있습니다. 모든 코드는 하나의 VBScript 블록에 포함됩니다.
< table>
< %
For each fld in rs.Fields
Response.Write ("< th>" & fld.Name & "< /th>" & vbCrLf)
Next
While Not rs.EOF
Response.Write ("< tr>")
For Each fld in rs.Fields %>
Response.Write("< td>" & fld.Value & "< /td>" & vbCrLf)
Next
Response.Write "< /tr>"
End
%>< /table>


*세션 개체의 현명한 사용

ASP는 자동으로 웹 서버에 접근하는 모든 사용자를 위한 세션을 작성합니다. 각 세션은 약 10 KB의 메모리 오버헤드(세션에 저장된 모든 데이터의 상단에 있는)를 갖고 있어서 모든 요청을 약간 늦춥니다. 세션은 구성할 수 있는 시간 제한 기간동안 유효하며 이 제한 시간은 일반적으로 20분입니다.
세션이 필요하지 않은 컨텐츠(도움말 화면, 방문자 영역 등)를 세션이 꺼진 별도의 ASP 응용 프로그램으로 옮길 수 있습니다. 각 페이지를 기초로 해당 페이지에 세션 개체가 필요 없다는 것을 알리기 위해 다음과 같은 지시어를 ASP 페이지 상단에 놓을 수 있습니다.
< % @EnableSessionState=False %>
이 지시어를 사용하게 되는 이유 중 하나는 세션이 프레임셋과 관심있는 문제를 만드는 것입니다. ASP는 언제나 한번에 한 세션에서 하나의 요청만이 실행되도록 보장합니다. 따라서 브라우저가 한 사용자를 위해 여러 페이지를 요청하면 한번에 단지 하나의 ASP 요청만이 세션에 전달되기 때문에 세션 개체에 액세스할 때 멀티스레딩 문제를 방지하지만 모든 페이지는 동시에 페인트되지 않고 차례로 순차적 방법으로 페인트됩니다. 어떤 프레임셋 페이지가 세션에 의지하지 않는 다면 ASP가 @EnableSessionState=False 지시어를 사용하도록 하십시오
2005/06/15 13:36 2005/06/15 13:36
1. 범위(Scope)
Active Directory의 범위는 넓다. WAN 상의 모든 단일 개체(프린터, 파일, 사용자), 모든 서버, 모든 도메인이 한 범위에 포함될 수 있으며, 서로 결합된 여러 WAN이 포함될 수도 있다. 다음 용어 중 일부는 단일 네트워크 이상의 규모에 적용되므로, Active Directory가 하나의 컴퓨터에서 컴퓨터 네트워크로, 그리고 서로 결합된 많은 컴퓨터 네트워크로 확장될 수 있다는 사실을 염두해 두어야 한다.

2. 이름 공간(Namespace)
다른 디렉터리 서비스와 마찬가지로 Active Directory도 기본적으로 이름 공간이다. 전화 번호부도 이름 공간이다. 이름 공간은 주어진 이름을 확인할 수 있는 어떤 영역이다. 이름 확인은 이름이 나타내는 개체나 정보로 이름을 변환하는 과정이다. 전화 번호부는 전화 가입자의 이름으로 전화 번호를 얻을 수 있는 이름 공간을 형성한다. Windows 파일 시스템은 파일 이름으로 파일을 얻을 수 있는 이름 공간을 형성한다.
Active Directory는 이름 공간을 형성하며, 디렉터리에 속한 개체 이름으로 개체를 찾을 수 있게 한다.

3. 개체(Object)
개체란 서로 구별이 가능하고 특정한 이름이 부여된 속성(Attribute)들의 집합으로서 사용자, 프린터 또는 응용 프로그램과 같은 구체적인 대상을 가리킨다. 속성은 주체를 기술하는 데이터를 담고 있으며, 주체는 디렉토리 개체에 의해 식별된다. 개체가 사용자라면 속성에는 사용자의 성, 이름, 전자 메일 주소 등이 포함될 것이다.

4. 조직단위(Organizational Units : OU)
조직단위는 도메인 내에서 관리적인 경계선을 정의하는 수단이 된다. 엑티브 디렉토리 개체를 포함하고 조직화하는 OU는, 폴더와 파일들을 포함하고 조직화하는 폴더와 비슷한 개념이다.

5. 컨테이너(Container)
컨테이너는 속성을 가지고 있고 Active Directory 이름 공간의 일부분이라는 점에서 개체와 같다. 그러나 개체와는 달리, 컨테이너는 구체적인 무엇을 나타내지 않으며 개체 그룹과 다른 컨테이너를 담는 그릇 역할을 한다.

6. 트리(Tree)
트리라는 용어는 이 문서 전반에 걸쳐서 개체 및 컨테이너의 계층 구조를 기술하기 위해 사용된다. 일반적으로 트리의 종점은 개체이고 노드(트리의 분기점)는 컨테이너이다. 트리는 개체들의 연결 상태나 개체 간의 경로를 나타낸다. 단순한 디렉토리도 컨테이너이고 컴퓨터 네트워크나 도메인도 컨테이너이다. 연속 하위 트리는 트리에서 중단 없이 계속 이어지는 경로로서 해당 경로 내의 모든 컨테이너 구성원도 포함된다.

7. 명명 컨텍스트(Naming Context)와 파티션(Partition)
Active Directory는 하나 이상의 명명 컨텍스트 또는 파티션으로 구성된다. 명명 컨텍스트는 디렉터리의 연속 하위 트리이고 복제의 단위이다. Active Directory에서 하나의 서버는 언제나 세 개 이상의 명명 컨텍스트를 갖는다.
A. 스키마
B. 구성(복제 토폴로지 및 관련 메타데이터)
C. 하나 이상의 사용자 명명 컨텍스트(디렉터리 내의 실제 개체를 포함하는담고 있는 하위 트리)

8. 도메인(Domain)
도메인은 엑티브 디렉토리의 논리적 구조에서 핵심적인 단위이다. 도메인은 도메인 이름 내의 서버들과 네트워크 자원들의 논리적인 그룹이다. 이론적으로 하나의 도메인은 천만 개까지의 개체들을 포함할 수 있지만, 실용적으로는 백만 개까지의 개체들을 포함할 수 있다(참고로 윈도우NT 4.0에서는 도메인 당 약 25,000개의 계정들을 실용적으로 포함할 수 있었다).
도메인은 Windows NT 또는 Windows 2000 컴퓨터 네트워크의 보안 경계이다. 도메인의 관리자는 다른 도메인에 대한 허가와 권한을 구체적으로 부여받지 않는 이상, 단지 해당 도메인 내에서만 관리작업을 수행할 수 있는 허가와 권한을 부여받는다. 윈도우NT에서의 도메인은 윈도우2000에서는 OU로 격하되는 경우가 많다는 사실에 유의하여야 할 것이다.
윈도우2000의 도메인 이름은 기본적으로 DNS에 기반한 도메인 이름 부여모델을 구현했다. 윈도우2000의 도메인 이름은 기본적으로 DNS 이름에 대응되며, 이것을 확장한 것이다. 윈도우2000의 도메인 이름의 예를 들면, support.mcpserver.co.kr과 같다.
Active Directory는 하나 이상의 도메인으로 구성된다. 독립형 워크스테이션인 경우, 도메인은 그 컴퓨터 자체이다. 도메인은 하나 이상의 실제 장소로 확대될 수 있다. 모든 도메인은 고유의 보안 정책을 가지고 있으며 다른 도메인과 보안 관계를 갖는다.

9. 도메인 트리(Trees)
도메인 트리(또는 트리)는 스키마, 구성을 공유하는 여러 도메인으로 구성되며 연속 이름 공간을 형성한다. 또한 한 트리 내의 도메인들은 트러스트 관계에 의해 서로 연결된다. Active Directory는 하나 이상의 트리의 모음이다.
트리는 두 가지 측면에서 볼 수 있다. 하나는 도메인 간의 트러스트 관계로 보는 것이고, 다른 하나는 도메인 트리의 이름 공간으로 보는 것이다.
A. 트러스트 관계(Trust Relationship)로 보기
각각의 도메인과 이들 간의 트러스트 방법에 기반하여 도메인 트리를 그릴 수 있다. Windows 2000은 Kerberos 보안 프로토콜에 기반하여 도메인 간의 트러스트 관계를 수립한다. Kerberos 트러스트는 전이적이고 계층적이기 때문에, 만약 도메인 A가 도메인 B를 트러스트하고 도메인 B가 도메인 C를 트러스트하면, 도메인 A도 도메인 C를 트러스트하게 된다.
B. 이름 공간으로 보기
이름 공간에 기반하여 도메인 트리를 그릴 수도 있다. 도메인 트리의 이름 공간을 따라 경로를 거슬러 올라가면 개체의 전체 이름을 얻을 수 있다. 이러한 방식으로 트리를 보는 것은 개체들을 논리 계층 구조로 그룹화하는 데 도움이 된다. 연속 이름 공간의 주요 이점은 이름 공간의 루트에서 심층 검색을 수행하면 전체 계층 구조를 검색할 수 있다는 것입니다.

10. 포리스트(Forests)
포리스트는 연속 이름 공간을 형성하지 않는 하나 이상의 트리의 모음이다. 포리스트 내의 모든 트리는 스키마, 구성, 글로벌 카탈로그를 공유한다. 주어진 포리스트 내의 모든 트리는 전이적이고 계층적인 Kerberos 트러스트 관계를 통해 서로를 트러스트한다. 트리와 달리 포리스트에는 고유의 이름이 필요하지 않는다. 포리스트는 상호 참조 개체 모음 및 구성원 트리에 알려진 Kerberos 트러스트 관계로 존재한다. 포리스트 내의 트리들은 Kerberos 트러스트와 관련해서 계층 구조를 형성하므로, 트러스트 트리의 루트에 있는 트리 이름으로 그 포리스트를 표현할 수 있다.

11. 사이트(Site)
사이트 는 네트워크에서 Active Directory 서버가 있는 위치다. 사이트는 잘 연결된 하나 또는 그 이상의 TCP/IP 서브넷으로 정의된다. "잘 연결"되어 있다는 것은 네트워크 연결의 안정성이 높고 속도가 빠르다는 것이다(예: 10Mbps 이상의 LAN 속도). 사이트가 서브넷 모음으로 정의되기 때문에, 관리자는 실제 네트워크를 이용하여 빠르고 쉽게 Active Directory 액세스 및 복제 토폴로지를 구성할 수 있다. 사용자가 로그온하면 Active Directory 클라이언트는 사용자와 동일한 사이트에서 Active Directory 서버를 찾는다. 네트워크 개념에서 동일한 사이트에 있는 컴퓨터들은 서로 가깝기 때문에, 이들 사이의 통신은 안정적이고 빠르며 효율적이다. 로그온할 때 로컬 사이트를 찾는 작업은 어렵지 않다. 사용자의 워크스테이션이 자신이 속해 있는 TCP/IP 서브넷을 이미 알고 있고 서브넷이 Active Directory 사이트로 바로 변환되기 때문이다.
2005/06/15 13:35 2005/06/15 13:35
1.컴포넌트를 다운 받고,

2. regsvr32 로 ABCUPLOAD.DLL 을 서버에 등록한다고 가정한다
*등록
시작==>실행창에서

regsvr32 c:\component\AbcUpload.dll

*등록취소는
시작==>실행창에서

regsvr32 /u c:\component\AbcUpload.dll
2005/06/15 13:35 2005/06/15 13:35