프로그램 코드:
'================================================ = ========='
기능 소개: 웹사이트 생성
'이 기능은 ADSI를 사용하며 관리자 그룹 사용자 권한이 필요합니다.
'함수 이름: CreateWebSite(컴퓨터,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,
GuestUserName,GuestUserPass,StartOrStop)
'사용법: CreateWebSite 컴퓨터 이름(LocalHost 또는 127.0.0.1로 이동), 사이트 IP 주소, 포트 번호, 호스트 이름, 사이트 루트 디렉터리, LOG 파일 디렉터리 사이트 설명, 웹 사이트 접속 시 사용된 계정, 웹 사이트 접속 시 비밀번호 사용된 계정, 사이트 시작 여부
'예: CreateWebSite LocalHost,127.0.0.123,80,www.test.net,E:UserDataUserNum001,
E:UserDataUserNum001LogFiles,CnKnow.Com,IUSR_Num001_test.net,
abc888,참
'================================================ = =
함수 CreateWebSite(컴퓨터,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,
GuestUserName,GuestUserPass,StartOrStop)
희미한 w3svc, WebServer, NewWebServer, NewDir
Dim 바인딩, BindingString, NewBindings, SiteNum, SiteObj, bDone
오류 발생 시 다음 재개
Err.Clear
'W3SVC 서비스(WEB 서비스)를 로드할 수 있는지 확인
w3svc = GetObject(IIS:// & 컴퓨터 & /w3svc) 설정
If Err.Number <> 0 Then '오류 메시지 표시
response.write를 열 수 없습니다: &IIS:// & 컴퓨터 & /w3svc
응답.끝
종료 조건
'동일한 IP 주소, 포트, 호스트 이름을 가진 사이트가 있는지 확인하세요.
BindingString = IPAddr & : & PortNum & : & 호스트 이름
w3svc의 각 웹서버에 대해
WebServer.Class = IIsWebServer인 경우
바인딩 = WebServer.ServerBindings
BindingString = Bindings(0)인 경우
response.write IP 주소 충돌: & IPAddr &, IP 주소를 확인하세요! .
종료 기능
종료 조건
종료 조건
다음
'존재하지 않는 사이트 번호를 새 사이트 번호로 결정합니다. 시스템 기본 웹 사이트 사이트 번호는 1이므로 2부터 시작합니다.
사이트번호=2
b완료 = 거짓
동안(bDone 아님)
Err.Clear
Set SiteObj = GetObject(IIS://&Computer&/w3svc/&SiteNum) '지정된 사이트 로드
If (Err.Number = 0) 그렇다면
'response.write Step_1사이트&사이트번호&존재
사이트번호 = 사이트번호 + 1
또 다른
'response.write Step_1 사이트&SiteNum&이 존재하지 않습니다.
Err.Clear
Set NewWebServer = w3svc.Create(IIsWebServer,SiteNum) '지정된 사이트를 생성합니다
If (Err.Number <> 0) 그러면
'response.write Step_2 사이트&SiteNum& 생성에 실패했습니다.
사이트번호 = 사이트번호 + 1
또 다른
'response.write Step_2 사이트&사이트번호&가 성공적으로 생성되었습니다.
b완료=참
종료 조건
종료 조건
If (SiteNum > 50) Then '서버가 생성하는 최대 사이트 수
response.write가 서버에서 생성한 최대 사이트 수를 초과했습니다. 생성 중인 사이트의 시퀀스 번호는 &SiteNum&입니다.
응답.끝
종료 조건
향하게 하다
'기본 사이트 구성 수행
NewBindings = 배열(0)
NewBindings(0) = BindingString
NewWebServer.ServerBindings = 새바인딩
NewWebServer.ServerComment= 웹사이트정보
NewWebServer.AnonymousUserName= GuestUserName
NewWebServer.AnonymousUserPass= GuestUserPass
NewWebServer.KeyType = IIsWebServer
NewWebServer.FrontPageWeb = 참
NewWebServer.EnableDefaultDoc = 참
NewWebServer.DefaultDoc = Default.htm, Default.asp, Index.htm, Index.asp
NewWebServer.LogFileDirectory= 로그디렉토리
NewWebServer.SetInfo
NewDir = NewWebServer.Create(IIsWebVirtualDir, ROOT) 설정
NewDir.Path = 웹사이트디렉토리
NewDir.AccessRead = true
NewDir.AppFriendlyName = 애플리케이션&웹사이트정보
NewDir.AppCreate True
NewDir.AccessScript = 참
Err.Clear
NewDir.SetInfo
If (Err.Number <> 0) 그러면
response.write 홈 디렉터리를 생성하는 동안 오류가 발생했습니다.
응답.끝
종료 조건
StartOrStop = True이면 다음
Err.Clear
NewWebServer = GetObject(IIS:// & 컴퓨터 & /w3svc/ & SiteNum) 설정
NewWebServer.Start
Err.Number <> 0이면
response.write 사이트 시작 중 오류가 발생했습니다!
응답.끝
Err.Clear
종료 조건
종료 조건
response.write 사이트가 성공적으로 생성되었습니다. 사이트 번호는 & SiteNum &, 도메인 이름은 & HostName입니다.
기능 종료
ASP 설정을 사용하여 사이트의 최대 CPU 사용량 지정
프로그램 코드:
'================================================ =
'기능 소개: 지정된 사이트의 최대 CPU 사용량 설정
'이 기능은 ADSI를 사용하며 관리자 그룹 사용자 권한이 필요합니다.
'함수 이름: SetCPULimitVar(컴퓨터,SiteNum,LimitVar)
'사용법: SetCPULimitVar 컴퓨터 이름, 사이트 번호, 최대 제한 값(100=1%, 1000=10%)
'예: SetCPULimitVar LocalHost,2,2000
'================================================ =
기능 SetCPULimitVar(컴퓨터,SiteNum,LimitVar)
MyObj001 = GetObject(IIS://&컴퓨터&/W3SVC/&SiteNum) 설정
'CPU 제한 활성화 설정
MyObj001.CpuLimitsEnabled = 참
'한도 사용 할당량 값 설정
MyObj001.CpuLimitLogEvent=LimitVar
MyObj001.setinfo
MyObj001=아무것도 설정하지 않음
기능 종료
ASP를 사용하여 지정된 웹 사이트 시작/중지
프로그램 코드:
'================================================ = ========
'기능 소개: ASP를 사용하여 지정된 WEB 사이트를 시작/중지합니다.
'이 기능은 ADSI를 사용하며 관리자 그룹 사용자 권한이 필요합니다.
'함수 이름: AdminWebSite(Computer,WebSiteNum,DoWhat)
'사용법: AdminWebSite(컴퓨터 이름, 사이트 번호, 시작/중지)
'예: 컴퓨터 127.0.0.1에서 사이트 번호 1로 사이트를 시작합니다.
'AdminWebSite 127.0.0.1,1,1
'예: 컴퓨터 127.0.0.1에서 사이트 번호 1이 있는 사이트를 중지합니다.
'AdminWebSite 127.0.0.1,1,0
'================================================ = ======
기능 AdminWebSite(컴퓨터,WebSiteNum,DoWhat)
오류 발생 시 다음 재개
objServer = GetObject(IIS:// & 컴퓨터 & /W3SVC/ & WebSiteNum) 설정
Err.Number <> 0이면
Response.Write Now & . 오류 코드: & Hex(Err)& - & 지정된 사이트를 열 수 없습니다<br>
종료 조건
Dowhat=1이면
'시작을 사용하여 사이트를 시작합니다.
objServer.Start
Err.Number <> 0이면
Response.Write가 지정된 웹 사이트를 시작할 수 없습니다.<br>
또 다른
응답.쓰기 지정된 웹사이트가 시작되었습니다<br>
종료 조건
elseif DoWhat=0이면
'사이트를 중지하려면 중지를 사용하세요.
objServer.Stop
Err.Number <> 0이면
Response.Write는 지정된 웹사이트를 중지할 수 없습니다.<br>
또 다른
Response.Write가 웹사이트 지정을 중지했습니다<br>
종료 조건
종료하면
기능 종료
ASP를 사용하여 서버 웹 사이트 정보 나열
프로그램 코드:
'================================================ = ====
'기능 소개 : 현재 서버 WEB 사이트 정보 나열
'이 기능은 ADSI를 사용하며 관리자 그룹 사용자 권한이 필요합니다.
'함수 이름: ListWebSite(컴퓨터,Num)
'사용법: ListWebSite(컴퓨터 이름, 표시 사이트 수)
'예: 컴퓨터 127.0.0.1에 1000개의 사이트 정보를 표시합니다.
'ListWebSite 127.0.0.1,1000
'================================================ = ===
함수 목록WebSite(컴퓨터,Num)
오류 발생 시 다음 재개
SiteObj = GetObject(IIS://&Computer&/w3svc/&i) 설정
i=0에서 Num까지
Err.Clear
Err.Number=0이면
response.write <p><b>다음은 컴퓨터의 모든 사이트에 대한 정보를 표시합니다: &컴퓨터&</b></p>
ShowWebSite = SiteObj.Get(ServerBindings) '사이트 IP 주소 가져오기: 포트: 호스트 헤더
정보=분할(ShowWebSite(0),:)
response.write 사이트 번호: &i&<br>
response.write 사이트 IP 주소: &Info(0)&<br>
response.write 사이트 포트: &Info(1)&<br>
response.write 사이트 호스트 헤더: &Info(2)&<br><br>
종료하면
다음
SiteOjb=아무것도 설정하지 않음
기능 종료
ASP를 사용하여 지정된 IIS 사이트 삭제
프로그램 코드:
'================================================ = =====
'기능 소개: 지정된 IIS 사이트 삭제
'이 기능은 ADSI를 사용하며 관리자 그룹 사용자 권한이 필요합니다.
'함수 이름: DelWebSite(컴퓨터,SiteNum)
'사용법: DelWebSite 컴퓨터 이름, 사이트 번호
'예: DelWebSite 127.0.0.1,2
'================================================ = =====
함수 DelWebSite(컴퓨터,SiteNum)
W3SVC = GetObject(IIS://&Computer&/w3svc) 설정
W3SVC.delete IIsWebServer,SiteNum
response.write가 성공적으로 삭제되었습니다!
기능 종료
ASP를 통해 NT 계정 관리
프로그램 코드:
'================================================ = ======
'기능 소개: ASP를 통해 NT 계정 관리
'이 기능은 ADSI를 사용하며 관리자 그룹 사용자 권한이 필요합니다.
'================================================ = ===
'사용자 추가
'함수 사용법: AddUser(컴퓨터,사용자 이름,비밀번호,전체 이름,정보)
'매개변수: 컴퓨터 이름, 계정 이름, 계정 비밀번호, 계정 전체 이름, 계정 설명
'예: AddUser 127.0.0.1, Test, Test, 테스트 관리자 계정, 이 계정은 ASP를 통해 추가됩니다.
'지정된 사용자의 기본정보를 수정합니다.
'기능 사용법: EditUser(컴퓨터,사용자 이름,OldPassWord,PassWord,FullName,Info)
'매개변수: 컴퓨터 이름, 계정 이름, 계정 비밀번호, 계정 전체 이름, 계정 설명
'예: EditUser 127.0.0.1, Test, Test2, 테스트 관리자 계정 수정, 이 계정은 ASP를 통해 수정되었습니다.
'지정된 사용자를 삭제합니다.
'함수 사용법: DelUser(컴퓨터,사용자 이름)
'매개변수: 컴퓨터 이름, 사용자 이름'
'예: DelUser 127.0.0.1,테스트
================================================= ======
기능 AddUser(컴퓨터,사용자 이름,비밀번호,전체 이름,정보)
'계정 생성 명령을 실행합니다.
ComputerObj = GetObject(WinNT://&컴퓨터)로 설정
NewUser = ComputerObj.Create( User , UserName ) 설정
NewUser.SetInfo
'계정 설정 구성
NewUser.SetPassword ( PassWord ) '계정 비밀번호
NewUser.FullName = FullName '계정 전체 이름
NewUser.Description = Info '계정 설명
NewUser.UserFlags = &H10000 '&H20000 (사용자는 다음 로그인 시 비밀번호를 변경해야 합니다.) &H0040 (사용자는 비밀번호를 변경할 수 없습니다.) &H10000 (비밀번호는 영구적으로 정확합니다.) &H0002 (계정이 일시적으로 정지됩니다.)
NewUser.SetInfo
response.write 계정&사용자 이름&이 성공적으로 생성되었습니다!
ComputerObj=아무것도 설정하지 않음
기능 종료
기능 EditUser(컴퓨터,사용자 이름,이전 비밀번호,비밀번호,전체 이름,정보)
'사용자 정보 읽기
ChangeUserObj = GetObject(WinNT://&컴퓨터&/&UserName&,User) 설정
'계정 비밀번호 변경
비밀번호<>인 경우
ChangeUserObj.SetPassword 비밀번호
response.write 계정 비밀번호가 성공적으로 변경되었습니다! <br>
종료하면
'계정 전체 이름 수정
FullName<>이면
UserFullName = ChangeUserObj.get(전체 이름)
ChangeUserObj.FullName = 전체 이름
ChangeUserObj.SetInfo
response.write 계정 이름이 성공적으로 수정되었습니다! <br>
종료하면
'계정 설명 수정
Info<>이면
UserFullName = ChangeUserObj.get(설명)
ChangeUserObj.Description = 정보
ChangeUserObj.SetInfo
response.write 계정 설명이 성공적으로 수정되었습니다! <br>
종료하면
ChangeUserObj=아무것도 설정하지 않음
기능 종료
함수 DelUser(컴퓨터,사용자 이름)
DelUserObj = GetObject(WinNT://&컴퓨터&/&사용자 이름) 설정
오류 = &H800401E4인 경우
응답.쓰기 사용자&사용자 이름&이 존재하지 않습니다.
응답.종료
종료 조건
DelObj = GetObject(DelUserObj.Parent) 설정
DelObj.사용자 삭제, DelUserObj.Name
DelUserObj = 없음으로 설정
DelObj = 없음으로 설정
응답.쓰기가 성공적으로 삭제되었습니다.
기능 종료
ASP를 사용하여 지정된 사이트 구문 분석 스크립트 언어 기능 제어
프로그램 코드:
함수 AdminAegis(컴퓨터, 사이트 번호)
IIsWebServiceObj = GetObject(IIS://&Computer&/W3SVC/&SiteNum) 설정
희미한 이지스(1)
Aegis(0)=.asp,C:WINNTsystem32inetsrvasp.dll,5,GET,HEAD,POST,TRACE
'Aegis(1)=.aspx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'다른 파일을 구문 분석하려면 Aegis(Num)=과 동일한 형식을 사용하십시오.
'.htw,C:WINNTsystem32webhits.dll,3,GET,HEAD,POST
'.ida,C:WINNTsystem32idq.dll,7,GET,HEAD,POST
'.idq,C:WINNTsystem32idq.dll,7,GET,HEAD,POST
'.asp,C:WINNTsystem32inetsrvasp.dll,5,GET,HEAD,POST,TRACE
'.cer,C:WINNTsystem32inetsrvasp.dll,5,GET,HEAD,POST,TRACE
'.cdx,C:WINNTsystem32inetsrvasp.dll,5,GET,HEAD,POST,TRACE
'.asa,C:WINNTsystem32inetsrvasp.dll,5,GET,HEAD,POST,TRACE
'.idc,C:WINNTsystem32inetsrvhttpodbc.dll,5,GET,POST<br>
'.shtm C:WINNTsystem32inetsrvssinc.dll,5,GET,POST<br>
'.shtml C:WINNTsystem32inetsrvssinc.dll,5,GET,POST<br>
'.stm C:WINNTsystem32inetsrvssinc.dll,5,GET,POST<br>
'.asax C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,POST,
디버그
'.ascx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.ashx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'.asmx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'.aspx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'.axd,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'.vsdisco,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'.rem,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'.soap,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
포스트, 디버그
'.config,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.cs,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.csproj,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.vb,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.vbproj,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.webinfo,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.licx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.resx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
포스트, 디버그
'.resources,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,
헤드, 포스트, 디버그
IIsWebServiceObj.ScriptMaps=이지스
IIsWebServiceObj.SetInfo
'지원되는 스크립트 언어 표시
response.write 현재 사이트는 구문 분석 목록을 지원합니다:<br>
ValueIndex = 0인 경우 UBound(IIsWebServiceObj.ScriptMaps)로
response.write IIsWebServiceObj.Get(ScriptMaps)(ValueIndex)
응답.쓰기 <br>
다음
기능 종료
ASP를 사용하여 NT 사용자 그룹 및 사용자 나열
프로그램 코드:
'================================================ = ======
'기능 소개: NT 사용자 그룹 및 사용자 나열
'이 기능은 ADSI를 사용하며 관리자 그룹 사용자 권한이 필요합니다.
'함수명 : ListGroup(컴퓨터)
'사용법: ListGroup(컴퓨터 이름)
'예: 127.0.0.1 컴퓨터 NT 사용자 그룹 및 사용자 표시
'리스트그룹 127.0.0.1
'================================================ = ======
기능 목록그룹(컴퓨터)
response.write <p><b>다음은 컴퓨터&컴퓨터&시스템 사용자 그룹 및 사용자 목록입니다</b></p>
ComputerObj = GetObject(WinNT://&컴퓨터)로 설정
ComputerObj.Filter = 배열(그룹)
ComputerObj의 각 구성원에 대해
응답.쓰기 사용자 그룹: &Member.Name&<br>
목록사용자 컴퓨터, 구성원. 이름
다음
종료 기능
'지정된 사용자 그룹의 사용자를 나열합니다.
기능 목록사용자(컴퓨터,그룹)
UserObj = GetObject(WinNT://&컴퓨터&/&그룹) 설정
UserObj.Members의 각 구성원에 대해
Response.write 그룹의 사용자: &Member.Name &<br>
다음
기능 종료
IIS는 사용자가 프로그램을 통해 IIS를 관리할 수 있도록 하는 IIS 관리 개체를 제공합니다. IIS 관리 개체는 Microsoft ADSI(Active Directory 서비스 인터페이스)를 기반으로 합니다. ASP의 VBScript/JScript, Visual Basic, Java 또는 C++와 같이 자동화를 지원하는 모든 프로그래밍 언어에서 사용할 수 있습니다.
다음 ASP 샘플 프로그램을 참조하여 IIS 기본 사이트의 주소를 수정할 수 있습니다.
<%
IISOBJ = GetObject(IIS://MyServer/w3svc/1/root) 설정
IISOBJ.경로 = D:newroot
IISOBJ.SetInfo
IISOBJ=아무것도 설정하지 않음
%>
참고: 사용자에게는 IIS 메타베이스에 대한 충분한 권한이 있어야 합니다.
프로그램을 사용하여 IIS를 관리하는 방법에 대해서는 MSDN의 다음 문서를 참조할 수 있습니다.
프로그래밍 방식으로 IIS 관리
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html/psdk/asp/aint7e9l.asp