WSH 실용 강의---강 2 사용자, 디렉터리 및 사이트 만들기
저자:Eve Cole
업데이트 시간:2009-05-30 19:53:49
강의 2 사용자, 디렉토리 및 사이트 생성
------------------------------------- ----------------------------------
본 강의에서는 Active Directory 서비스 인터페이스인 ADSI를 사용합니다. 관련 정보는 15Seconds.com에서 확인할 수 있습니다.
1. 사용자를 생성합니다. 다음 코드는 독립 서버 white에 user1 사용자를 생성합니다. 초기 암호는 user1이고 ADSI가 사용됩니다.
암호:
------------------------------------- ----------------------------------
Dim Username,UserPass Dim oDomain,oUser 사용자 이름 = "user1" UserPass = "user1" oDomain 설정 =
GetObject("WinNT://white") Set oUser = oDomain.Create ("user", UserName) If (err.number = 0) Then
oUser.SetInfo oUser.SetPassword UserPass oUser.SetInfo Else WScript.Echo "Create User" & UserName & "Error!" End If Set oUser = Nothing Set oDomain = Nothing
------------------------------------- ----------------------------------
2. 디렉터리 생성 FileSystemObject를 사용하여 디렉터리를 생성합니다.
암호:
------------------------------------- ----------------------------------
Dim FsObject Dim tmpFolder Set FsObject = WScript.CreateObject("Scripting.FileSystemObject")
tmpFolder = "D:userdateuser1" FsObject.FolderExists(tmpFolder)가 아닌 경우
FsObject.CreateFolder(tmpFolder) If Err.Number<>0 Then WScript.Echo "디렉토리 생성" & tmpFolder
& "실패!" End If End If
------------------------------------- ----------------------------------
디렉터리를 만들기 전에 디렉터리가 있는지 확인하세요. 디렉터리가 있으면 만들 필요가 없습니다.
3. 사이트 생성 다음 서브루틴은 WWW 사이트 생성을 담당합니다. 각 매개변수의 의미는 사이트 IP 주소, 사이트 루트 디렉터리, 사이트 설명, 호스트 이름, 포트 번호, 컴퓨터 이름(LOCALHOST로 변경됨), 여부입니다. 즉시 시작, 익명 액세스에 사용되는 계정, 익명 액세스에 사용되는 계정의 비밀번호 및 LOG 파일의 디렉터리.
이 함수는 IIS에서 생성된 사이트의 일련 번호를 반환합니다. IIS에서는 모든 사이트에 순차적으로 번호가 지정되며 첫 번째 사이트는 1입니다.
호출 예시:
암호:
------------------------------------- ----------------------------------
사이트ID=
ASTCreateWebSite"10.1.3.122","d:userdatauser1","www_user1","","80","LocalHost",True,"IUSR_user1","8iui%
#","D:Logfiles")함수 ASTCreateWebSite(IPAddress, RootDirectory, ServerComment, HostName, PortNum,
컴퓨터, 시작, AnonymousUserName, AnonymousUserPass, LogFileDirectory) Dim w3svc, WebServer,
NewWebServer, NewDir Dim Bindings, BindingString, NewBindings, Index, SiteObj, 오류 발생 시 bDone
다음 재개 Err.Clear Set w3svc = GetObject("IIS://" & Computer & "/w3svc") If
Err.Number <> 0 Then WScript.Echo "열 수 없음: "&"IIS://" & 컴퓨터 & "/w3svc" & VbCrlf & "프로그램이 종료됩니다." WScript.Quit (1) End If BindingString = IpAddress & ":" & 포트번호 & ":" &
w3svc의 각 웹 서버에 대한 호스트 이름 WebServer.Class = "IIsWebServer"인 경우
Bindings = WebServer.ServerBindings If BindingString = Bindings(0) 그러면
WScript.Echo "IP 주소 충돌:" & IpAddress & ",IP 주소를 확인하십시오!." & VbCrlf & "이 사이트 생성을 취소하십시오."
함수 종료 End If End If Next Index = 1 bDone = False
동안(bDone 아님) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/w3svc/" &
Index) If (Err.Number = 0) Then Index = Index + 1 Else
Err.Clear Set NewWebServer = w3svc.Create("IIsWebServer", Index) If
(Err.Number <> 0) Then Index = Index + 1 Else Err.Clear
SiteObj = GetObject("IIS://"&Computer&"/w3svc/" & Index) 설정
(Err.Number = 0) 그러면 bDone = True Else Index
= 인덱스 + 1 End If End If End If If (인덱스 > 10000)
그런 다음 WScript.Echo "사이트를 생성할 수 없는 것 같습니다. 생성 중인 사이트의 일련 번호는 "&Index&"입니다." & VbCrlf & "이 사이트 생성을 취소합니다." Exit Function End If Wend NewBindings = Array( 0)
NewBindings(0) = BindingString NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment = ServerComment NewWebServer.AnonymousUserName = AnonymousUserName
NewWebServer.AnonymousUserPass = AnonymousUserPass NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = 참 NewWebServer.EnableDefaultDoc = 참 NewWebServer.DefaultDoc
= "Default.htm, Default.asp, Index.htm, Index.asp" NewWebServer.LogFileDirectory = LogFileDirectory
NewWebServer.SetInfo Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = 루트디렉토리 NewDir.AccessRead = true NewDir.AppFriendlyName = "응용 프로그램" &
ServerComment NewDir.AppCreate True NewDir.AccessScript = True Err.Clear
NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo "홈 디렉터리 생성 중 오류가 발생했습니다."
End If If Start = True Then Err.Clear Set NewWebServer = GetObject("IIS://"
& 컴퓨터 & "/w3svc/" & 인덱스) NewWebServer.Start If Err.Number <> 0 Then
WScript.Echo "사이트 시작 중 오류 발생! Err.Clear Else End If End If
ASTCreateWebSite = IndexEnd 함수 다음 함수는 FTP 사이트를 생성합니다. 함수 ASTCreateFtpSite(IPAddress,
RootDirectory, ServerComment, HostName, PortNum, 컴퓨터, 시작, LogFileDirectory) Dim MSFTPSVC,
FtpServer, NewFtpServer, NewDir Dim Bindings, BindingString, NewBindings, Index, SiteObj, bDone
오류 발생 시 다음 재개 Err.Clear Set MSFTPSVC = GetObject("IIS://" & Computer & "/MSFTPSVC")
Err.Number <> 0이면 WScript.Echo "열 수 없음: "&"IIS://" & Computer & "/MSFTPSVC" & VbCrlf
& "프로그램이 종료됩니다." WScript.Quit (1) End If BindingString = IpAddress & ":" & PortNum
& ":" & MSFTPSVC의 각 FtpServer에 대한 호스트 이름 FtpServer.Class="IIsFtpServer"인 경우
Bindings = FtpServer.ServerBindings If BindingString = Bindings(0) 그러면
WScript.Echo "IP 주소 충돌:" & IpAddress & ",IP 주소를 확인하십시오!." & VbCrlf & "이 사이트 생성을 취소합니다."
함수 End If End If Next Index = 1 bDone = False While
(bDone 아님) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index)
If (Err.Number = 0) Then Index = Index + 1 Else Err.Clear
Set NewFtpServer = MSFTPSVC.Create("IIsFtpServer", Index) If (Err.Number <>
0) Then Index = Index + 1 Else Err.Clear
Set SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index) If (Err.Number = 0)
그런 다음 bDone = True Else Index = Index + 1
End If End If End If If (색인 > 10000) 그러면
WScript.Echo "사이트를 생성할 수 없는 것 같습니다. 생성 중인 사이트의 일련 번호는 "&Index&"입니다." & VbCrlf & "이 사이트 생성을 취소합니다."
종료 함수 종료 If Wend NewBindings = Array(0) NewBindings(0) =
BindingString NewFtpServer.ServerBindings = NewBindings NewFtpServer.ServerComment =
ServerComment NewFtpServer.AllowAnonymous = False NewFtpServer.AccessWrite = True
NewFtpServer.AccessRead = 참 NewFtpServer.DontLog = 거짓 NewFtpServer.LogFileDirectory =
LogFileDirectory NewFtpServer.SetInfo Set NewDir = NewFtpServer.Create
("IIsFtpVirtualDir", "ROOT") NewDir.Path = 루트디렉토리 NewDir.AccessRead = true
Err.Clear NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo "홈 디렉터리를 만드는 동안 오류가 발생했습니다." End If If Start = True Then Err.Clear Set NewFtpServer =
GetObject("IIS://" & 컴퓨터 & "/MSFTPSVC/" & Index) NewFtpServer.Start If
Err.Number <> 0 Then WScript.Echo "사이트 시작 중 오류 발생!"
End If End If ASTCreateFtpSite = IndexEnd 함수
------------------------------------- ----------------------------------