vb스크립트를 이용하여 레지스트리 항목을 추가, 변경, 삭제하는 방법

.

MS기술문서임을 먼저 밝힙니다. 나중에 찾기 힘들것이므로 이곳에 올려둡니다
ADspider와 TurboAgent의 횡포를 무력화시키기위해 필요한 스크립트랍니다.
regedit해서 일일히 삭제하기 힘드니 스크립트로 삭제…오케이..


기술 자료 ID : 602094
마지막으로 검토한 날짜 : 2004년 9월 21일 화요일
수정 : 1.0
이 문서는 이전에 다음 ID로 출판되었음: KR602094

요약
Windows 2000 환경에서 각 클라이언트나 서버의 레지스트리 항목을 추가構킬?삭제하려면 VBScript를 작성하여 로그온 스크립트로 실행할 수 있습니다. WScript.Shell 개체의 RegWrite() 메소드와 RegDelete() 메소드를 이용합니다.
현상
메모장과 같은 일반적인 텍스트 파일 편집기를 이용하여 Visual Basic Script를 작성함으로써, 레지스트리에 항목을 추가하거나 변경 또는 삭제할 수 있습니다. 텍스트 형태로 입력한 후, 확장자를 .vbs로 저장합니다. WScript.Shell 개체를 만들고, 새로운 항목을 만들거나 기존 항목을 변경하려면 RegWrite() 메소드를, 기존 항목을 삭제하려면 RegDelete() 메소드를 사용합니다. • 값(value)은 문자열의 마지막이 ” 없이 끝나고, 키(key)는 마지막에 ”를 포함합니다.
• 레지스트리 하이브(Registry hive)의 루트에는 다음과 같은 약자를 사용할 수 있습니다.

루트 키(Root key) 약자
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOT HKCR
HKEY_USERS HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG

• RegWrite() 메소드의 3번째 인수에는 값의 형식을 지정합니다. 이 때 다음 표와 같이 인수를 지정합니다. 형식 인수
문자열 REG_SZ
문자열(%comspec% 등과 같은 환경 변수를 포함하는 경우) REG_EXPAND_SZ
정수 REG_DWORD
이진 문자열 REG_BINARY

[#M_ [예제] more.. | [예제] less.. | 다음 예제는 HKEY_CURRENT_USER에 있는 “SoftwareMyCompanyMyAppMyValue” 값을 삭제합니다.


Option Explicit
Const strValuePath = “HKCUSoftwareMyCompanyMyAppMyValue”

Dim wshShell
Set wshShell = WScript.CreateObject(“WScript.Shell”)

On Error Resume Next
wshShell.RegDelete strValuePath

다음 예제는 HKEY_CURRENT_USER에 “SoftwareMyCompanyMyAppMyValue” 값을 문자열(string) 형태로 추가합니다. 이미 이 값이 존재할 경우, 새로운 값으로 변경됩니다.


Option Explicit
Const strValuePath = “HKCUSoftwareMyCompanyMyAppMyValue”

Dim wshShell
Set wshShell = WScript.CreateObject(“WScript.Shell”)

On Error Resume Next
wshShell.RegWrite strValuePath, “Hello”, “REG_SZ”_M#]

[#M_ 위를 적용시킨 vbs파일 more.. |위를 적용시킨 vbs파일 less.. |


filename: regdel_script.vbs

Option Explicit

On Error Resume Next

Const strValuePath = “HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunADSpider”

Dim wshShell
Set wshShell = WScript.CreateObject(“WScript.Shell”)

On Error Resume Next
wshShell.RegDelete strValuePath_M#]

원인
이벤트 8001이 오류로 기록되는 경우는 다음과 같습니다. • 백업하려는 파일에 대한 액세스 실패 (access denied)
• 파일 손상 (file corruption)
• 디스크 블럭 손상 (bad disk block)
이와 같은 원인 중 한 가지라도 발생하면 이벤트 8001이 오류 형식으로 기록됩니다.

추가 정보
RegWrite 메소드와 RegDelete 메소드에 대한 자세한 내용은 다음 문서를 참고하십시오.
http://msdn.microsoft.com/library/en-us/wsh/htm/wsMthRegWrite.asp
http://msdn.microsoft.com/library/en-us/wsh/htm/wsMthRegDelete.asp
WSH에 대한 내용은 다음 문서를 참고하십시오.
Q177699 Overview of Windows Script Host in Windows 2000
Windows Script Host에 대한 설명은 다음 웹 사이트를 참고하십시오.
Microsoft Scripting Technologies
http://msdn.microsoft.com/scripting/

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.