출처 : http://support.microsoft.com/default.aspx?scid=kb;ko;814847

Microsoft에서 제공하는 일부 핫픽스는 Driver.cab 파일에 포함되어 있는 기존 파일을 대신합니다. Windows 설치 프로그램이 업데이트된 파일을 사용하지 않고, 대신 Driver.cab 파일에 포함되어 있는 파일을 다시 사용할 수 있습니다.

핫픽스 파일을 배포 공유에 적용(slipstream)하고 Windows 설치 프로그램이 파일의 핫픽스 버전 대신 기존 버전을 사용하지 않도록 하려면 다음과 같이 하십시오.
배포 폴더를 만들 네트워크나 컴퓨터에 연결합니다.
적절한 드라이브 이름을 사용해서 다음과 같이 입력하여 i386 배포 폴더를 만듭니다.
MD E:\i386

xcopy 명령줄 유틸리티를 사용하여 Windows 2000 SP3 CD-ROM(통합 설치)에 있는 파일과 하위 폴더를 E:\i386 폴더로 복사합니다. 예를 들어, CD-ROM 드라이브가 D 드라이브일 때는 다음과 같이 입력합니다.
XCOPY /E /I /V D:\i386 E:\i386

E:\i386\svcpack 폴더를 만듭니다. 예를 들어, i386 폴더에서 svcpack 하위 폴더를 만들려면 다음과 같이 입력합니다.
MD E:\i386\SVCPACK

핫픽스 실행 프로그램(Qnnnnnn_XXX_YYY_ZZZ_LL.exe)을 8.3 명명 형식(Qnnnnnn.exe)을 사용하여 E:\i386\svcpack 폴더로 복사합니다. 8.3 명명 형식에서 nnnnnn은 실제 핫픽스 번호를 가리킵니다.

핫픽스를 여러 개 배포할 때는 모든 핫픽스 패키지 파일의 이름을 바꿉니다.
핫픽스를 고유 임시 위치로 확장합니다. 예를 들어, 파일을 samplefolder라는 이름의 폴더로 확장하려면 다음과 같이 입력합니다.
E:\i386\svcpack\Qnnnnnn /X E:\samplefolder

카탈로그 파일(.cat)과 핫픽스 이진 파일(예: .exe, .dll, .sys)을 다음과 같이 복사합니다.
Qnnnnnn.cat을 E:\i386\svcpack 폴더로 복사합니다. 핫픽스 여러 개를 함께 배포할 때는 배포할 각 핫픽스에서 모든 카탈로그 파일을 복사합니다. 핫픽스마다 Qnnnnnn.cat 형식으로 복사해야 할 고유 카탈로그 파일이 있습니다.
이진 파일이 여러 개의 패키지에 존재할 때는 가장 높은 버전 번호를 가진 파일만 보관합니다.
i386 폴더에서 대체되는 이진 파일(일반적으로 공유 폴더에서 이러한 파일은 각 파일 이름의 끝에 있는 밑줄[_]로 식별됨)을 삭제합니다.
핫픽스 이진 파일을 i386 폴더로 복사합니다.

Update.exe, Update.inf, SPmsg.dll, SPcustom.dll, SPuninst.exe, Update.ver 또는 기호(.pdb) 파일은 복사하지 않아도 됩니다.
E:\i386\Svcpack.inf 파일을 삭제합니다.
다음과 같은 내용을 사용하여 E:\i386\Svcpack.inf에서 Svcpack.inf 파일을 새로 만듭니다.
[Version]
Signature="$Windows NT$"

[SetupData]
CatalogSubDir="\i386\svcpack"

[ProductCatalogsToInstall]
Q810400.cat

[SetupHotfixesToRun]
Q810400.exe /q /n /z

중요 핫픽스 여러 개를 함께 배포할 계획인 경우에는 이 단락의 뒷부분에 나와 있는 것처럼 [ProductCatalogsToInstall]과 [SetupHotfixesToRun] 모두에서 각 핫픽스에 대한 항목을 추가합니다. 여러 개의 핫픽스를 설치하는 설치에 대한 이 구역의 예제는 아래와 같습니다. 서비스 팩을 설치할 때는 이 프로세스와는 관계 없이 설치에 포함되어 있기 때문에 서비스 팩에 대한 자세한 정보를 포함시킬 필요가 없습니다.
[ProductCatalogsToInstall]
Q123456.cat
Q123478.cat
Q123490.cat

[SetupHotfixesToRun]
Q123456.exe /q /n /z
Q123478.exe /q /n /z
Q123490.exe /q /n /z

다음과 같이 변경하여 E:\i386\Dosnet.inf 파일을 편집합니다.
[OptionalSrcDirs] 구역에 svcpack 폴더 이름을 추가합니다.
[OptionalSrcDirs]
svcpack

[ForceCopyDriverCabFiles] 구역에 핫픽스 파일 이름을 추가합니다. 이 구역은 Dosnet.inf 파일의 끝에 있습니다. 예를 들면 다음과 같습니다.
[ForceCopyDriverCabFiles]
usbhub.sys

이제 배포 공유가 구성되어 포함된 핫픽스와 함께 운영 체제를 설치하는 데 사용할 수 있습니다.

(cd만들기 예)

1.네로버닝롬 실행하셔서 여러가지 씨디 만들기 옵션중 "CD-ROM(Boot)" 만들기 선택


2."부트이미지 데이터원본" 란에 "이미지파일" 선택 -> 갖고 계신 이미지파일 경로


3.그 밑에 "고급설정 사용 가능"란에 v 표시 하시고 "로드된 섹터수" 1로 되어 있는걸 4로 바꾸어 줍니다. 이게 중요 합니다.

-씨디 볼륨은 여러가지 같던데 제가 쓰는 한글 윈도우 2000 프로페셔날은 볼륨 W2KPIP_KO 입니다. 보통 다 이거라고 알고 있습니다.


3'."고급설정 사용 가능"란에 "에뮬레이션"종류 "에뮬레이션 없음"으로 바꾸어 주세요. 이것도 중요합니다 이거 안하면 부팅 안됩니다.


4.그 다음은 똑같습니다. "새파일" 누르시고 첨부하고 싶은 파일들하고 윈도우 원본파일을 첨부하시고... 굽기 누르면 끝...
2005/06/15 15:36 2005/06/15 15:36
1. Windows 기본 서비스

액티브 디렉토리 (LDAP) TCP: 389
액티브 디렉토리 (LDAP-SSL) TCP: 636
브라우징 UDP: 137,138
DHCP 임대 UDP: 67,68
DHCP 관리자 TCP: 135
디렉토리 복제 TCP: 135
UDP: 138
직접 호스트 (SMB,CIFS) TCP: 445
DNS 관리 TCP: 135
DNS 이름분해 TCP: 53
UDP: 53
이벤트 뷰어 TCP: 139
파일공유 TCP: 139
글로벌 카탈로그 (LDAP) TCP: 3268
글로벌 카탈로그 (LDAP-SSL) TCP: 3269
IPSec UDP: 500(IKE)
IP Protocol: 50(ESP), 51(AH)
인터넷 프린팅 프로토콜 (IPP) TCP: 631
커버로스 TCP: 88
UDP: 88
2계층 터널링 프로토콜 (L2TP) UDP: 1701
로그온 시퀀스 TCP: 139
UDP: 137,138
Net Logon UDP: 138
Pass Through Validation TCP: 139
UDP: 137,138
성능모니터 TCP: 139
지점간 터널링 프로토콜 (PPTP) TCP: 1723
IP Protocol: 47(GRE)
인쇄 TCP: 139
UDP: 137,138
레지스트리 편집기 TCP: 139
서버 관리자 TCP: 139
트러스트 TCP: 139
UDP: 137,138
사용자 관리자 TCP: 139
WinNT 진단 TCP: 139
WinNT 보안채널 TCP: 139
UDP: 137,138
WINS 복제 TCP: 42
WINS 관리자 TCP: 135
WINS 등록 TCP: 137

2. Convoy 클러스터링 (WLBS)

Convoy UDP: 1717
Windows NT 로드밸런싱 서비스 (WLBS) UDP: 2504

3. 익스체인지 서버

클라이언트/서버통신 TCP: 135
익스체인지 관리자 TCP: 135
익스체인지 라우팅 TCP: 691
IMAP TCP: 143
IMAP (SSL) TCP: 993
MTA-X.4000 over TCP/IP TCP: 102
POP3 TCP: 110
POP3 (SSL) TCP: 995
RPC TCP: 135
SMTP TCP: 25
NNTP TCP: 119
NNTP (SSL) TCP: 563

4. SQL 서버

SQL연결 (Winsock) TCP: 1433
UDP: 1434

5. 프록시 서버

Winsock 프록시 클라이언트 UDP: 1745

6. 터미널 서버

RDP 클라이언트(마이크로소프트) TCP: 3389
ICA 클라이언트(씨트릭스) TCP: 1494
2005/06/15 15:35 2005/06/15 15:35
이벤트 뷰어에 중요성은 시스템을 관리라는 매우 중요하다고 생각 되는 부분이며 앞으로 많은 양의 시스템을 관리하게 된다면 더욱 더 필요하지 않을까 생각 한다.


아래와 같은 작업 방법에서 몇 가지 불편한 점과 해결 부분
매일 이벤트 뷰어를 보내게 된다면 전에 나타난 메시지를 계속해서 보게 되며 그러한
것을 처리 하기 위해서는 구분해서 가져와야 하는 추가 스크립트가 필요하다.

매주 이벤트 뷰어를 저장해서 따로 보관한다면 유지 관리에 많은 도움을 제공 할 수
있다.


한 주 정도의 이벤트 뷰어에 대해서 매주 저장하는 방법으로 사용 하시길 바라며

작업 방법과 파일 리스트
이벤트 쿼리 작업 진행 (event-q.vbs)

쿼리 한 작업을 텍스트 파일로 만듦(mail.bat)

텍스트 파일을 메일로 첨부해서 보냄(mail.vbs)

스크립트 파일 : 스크립트 다운로드(샘플)

마지막으로 스케줄 작업을 진행하면 된다. 제어판에 있는 예약작업을 통해서 "mail.bat" 매일 정기적으로 진행 하기를 바란다.


곧 이어서 일일데이터만 수집 할 수 있도록 추가해서 올려 보도록 하겠다.


이벤트 수집 하는 방법(event-q.vbs)

--------------- event-q.vbs ----------------------
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'System' and Type = 'error'")
For Each objEvent in colLoggedEvents
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
Next
---------------------------------------------------




쿼리 한 작업을 텍스트 파일로 만듦(mail.bat)

---------------------------------------------------
 
@echo off
cscript C:\mscript\event-q.vbs > event.txt
cscript C:\mscript\mail.vbs

---------------------------------------------------



텍스트 파일을 메일로 첨부해서 보냄(mail.vbs)

---------------------------------------------------

 Dim objSendMail, fso, ofile, body

Set objSendMail = CreateObject("CDONTS.NewMail")
Set fso = CreateObject("Scripting.FileSystemObject")
Set ofile = fso.openTextFile("C:\mscript\event.txt" )
body = oFile.readAll

objSendMail.From = "ntfaq@ntfaq.co.kr" '요기는 자기의 메일주소를 써 주세요
objSendMail.To = "ntfaq@ntfaq.co.kr" '요기도 자기의 메일주소를 써 주세요
objSendMail.Subject = "이벤트 로그 자료 첨부 합니다. (" & Date() & ")"
objSendMail.Body = body

objSendMail.Send
Set objSendMail = Nothing

Wscript.Echo "메일이 발송되었습니다"

---------------------------------------------------



위 작업에서 보안 되어야 할 부분


정기적으로 메일을 지우는 작업 스크립트 또는 날짜 기준으로 필요한 하루 또는 일주일 날짜만 가져오는 스크립트 추가 구성 필요 함

일주일 단위로 이벤트로그를 저장해서 따로 두는 방법 필요



아직 국내는 윈도우 시스템에 대한 스크립트가 회사에서 필요한 일부로 소개되어서 사용되고 있기 때문에 많이 사용을 하지 않고 있다.

필자도 아직 서투른 작업이지만 하나씩 소개 하면서 좋을 글을 소개 올리도록 하겠다.

회원 여러분들도 좋은 자료가 있다면 소개 시켜 주시면 감사 하겠습니다.

참고 자료 :
Windows Scripting Solutions
http://www.winnetmag.com/WindowsScriptingIndex.cfm?Ad=1
TechNet Script Center
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/default.asp
2005/06/15 15:27 2005/06/15 15:27