WSH-Praxisvorlesung --- Vorlesung 2 Erstellen von Benutzern, Verzeichnissen und Sites
Autor:Eve Cole
Aktualisierungszeit:2009-05-30 19:53:49
Vorlesung 2 Benutzer, Verzeichnisse und Sites erstellen
-------------------------------------------------- ----------------------------------
In dieser Vorlesung wird ADSI verwendet, die Active Directory-Dienstschnittstelle. Weitere Informationen finden Sie auf 15Seconds.com.
1. Erstellen Sie einen Benutzer. Der folgende Code erstellt den Benutzer user1 auf dem unabhängigen Server. Das anfängliche Passwort lautet user1 und es wird ADSI verwendet.
Code:
-------------------------------------------------- ----------------------------------
Dimmen Sie Benutzername, UserPass. Dimmen Sie oDomain, oUser. Benutzername = „Benutzer1“. BenutzerPass = „Benutzer1“. Setzen Sie 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. Erstellen Sie ein Verzeichnis. Verwenden Sie FileSystemObject, um ein Verzeichnis zu erstellen:
Code:
-------------------------------------------------- ----------------------------------
Dim FsObject Dim tmpFolder Set FsObject = WScript.CreateObject("Scripting.FileSystemObject")
tmpFolder = "D:userdateuser1" Wenn nicht FsObject.FolderExists(tmpFolder) Dann
FsObject.CreateFolder(tmpFolder) Wenn Err.Number<>0, dann WScript.Echo „Verzeichnis erstellen“ und tmpFolder
& „Fehler!“ Ende wenn Ende wenn
-------------------------------------------------- ----------------------------------
Beachten Sie, dass Sie vor dem Erstellen des Verzeichnisses prüfen müssen, ob das Verzeichnis vorhanden ist. Wenn es vorhanden ist, besteht keine Notwendigkeit, es zu erstellen.
3. Erstellen Sie eine Site. Die folgende Unterroutine ist für die Erstellung einer WWW-Site verantwortlich. Die Bedeutung jedes Parameters ist: Site-IP-Adresse, Site-Stammverzeichnis, Site-Beschreibung, Hostname, Portnummer, Computername (geändert in LOCALHOST), ob sofort starten, Das für den anonymen Zugriff verwendete Konto, das Kennwort des für den anonymen Zugriff verwendeten Kontos und das Verzeichnis der LOG-Datei.
Die Funktion gibt die Seriennummer der erstellten Site in IIS zurück (in IIS werden alle Sites fortlaufend nummeriert, wobei die erste 1 ist).
Ein Beispielaufruf:
Code:
-------------------------------------------------- ----------------------------------
siteid=
ASTCreateWebSite"10.1.3.122",d:userdatauser1","www_user1","80","LocalHost",True,"IUSR_user1","8iui%
#","D:Logfiles")Function ASTCreateWebSite(IPAddress, RootDirectory, ServerComment, HostName, PortNum,
Computer, Start, AnonymousUserName, AnonymousUserPass, LogFileDirectory) Dim w3svc, WebServer,
NewWebServer, NewDir Dim Bindings, BindingString, NewBindings, Index, SiteObj, bDone On Error
Weiter fortsetzen Err.Clear Set w3svc = GetObject("IIS://" & Computer & "/w3svc") If
Err.Number <> 0 Then WScript.Echo „Kann nicht geöffnet werden: „&“IIS://“ & Computer & „/w3svc“ & VbCrlf & „Das Programm wird beendet.“ WScript.Quit (1) End If BindingString = IpAddress & : & Portnummer & :: &
Hostname für jeden Webserver in w3svc. Wenn WebServer.Class = "IIsWebServer", dann
Bindings = WebServer.ServerBindings Wenn BindingString = Bindings(0) Dann
WScript.Echo „IP-Adresskonflikt:“ & IpAddress & „,Bitte überprüfen Sie die IP-Adresse!“ & VbCrlf & „Erstellung dieser Site abbrechen.“
Exit-Funktion End If End If Next Index = 1 bDone = False
While (Not bDone) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/w3svc/" &
Index) Wenn (Err.Number = 0), dann Index = Index + 1 Sonst
Err.Clear Set NewWebServer = w3svc.Create("IIsWebServer", Index) If
(Err.Number <> 0) Dann Index = Index + 1 Sonst Err.Clear
Setze SiteObj = GetObject("IIS://"&Computer&"/w3svc/" & Index) If
(Err.Number = 0) Dann ist bDone = True Else Index
= Index + 1 Ende wenn Ende wenn Ende wenn wenn (Index > 10000)
Dann WScript.Echo „Es scheint, dass die Site nicht erstellt werden kann. Die Seriennummer der Site, die erstellt wird, lautet: „&Index&“.“ & VbCrlf & „Erstellung dieser Site abbrechen 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 = True NewWebServer.EnableDefaultDoc = True NewWebServer.DefaultDoc
= „Default.htm, Default.asp, Index.htm, Index.asp“ NewWebServer.LogFileDirectory = LogFileDirectory
NewWebServer.SetInfo Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = RootDirectory NewDir.AccessRead = true NewDir.AppFriendlyName = "Application" &
ServerComment NewDir.AppCreate True NewDir.AccessScript = True Err.Clear
NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo „Fehler beim Erstellen des Home-Verzeichnisses.“
End If If Start = True Then Err.Clear Set NewWebServer = GetObject("IIS://"
& Computer & "/w3svc/" & Index) NewWebServer.Start If Err.Number <> 0 Then
WScript.Echo „Fehler beim Starten der Site!“ Err.Clear Else End If End If
ASTCreateWebSite = IndexEnd-Funktion Die folgende Funktion erstellt eine FTP-Site: Funktion ASTCreateFtpSite(IPAddress,
RootDirectory, ServerComment, HostName, PortNum, Computer, Start, LogFileDirectory) Dimmen Sie MSFTPSVC,
FtpServer, NewFtpServer, NewDir Dim Bindings, BindingString, NewBindings, Index, SiteObj, bDone
Bei Fehler Fortsetzen Nächster Err.Clear Set MSFTPSVC = GetObject("IIS://" & Computer & "/MSFTPSVC")
Wenn Err.Number <> 0, dann WScript.Echo „Kann nicht geöffnet werden: „&“IIS://“ & Computer & „/MSFTPSVC“ & VbCrlf
& „Das Programm wird beendet.“ WScript.Quit (1) End If BindingString = IpAddress & :: & PortNum
& ":" & HostName für jeden FtpServer in MSFTPSVC Wenn FtpServer.Class="IIsFtpServer" Dann
Bindings = FtpServer.ServerBindings Wenn BindingString = Bindings(0) Dann
WScript.Echo „IP-Adresskonflikt:“ & IpAddress & „,Bitte überprüfen Sie die IP-Adresse!“ & VbCrlf & „Brechen Sie die Erstellung dieser Site ab.“
Funktion End If End If Next Index = 1 bDone = False While
(Nicht bDone) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index)
Wenn (Err.Number = 0), dann Index = Index + 1, sonst Err.Clear
Set NewFtpServer = MSFTPSVC.Create("IIsFtpServer", Index) If (Err.Number <>
0) Dann ist Index = Index + 1, sonst Err.Clear
Setze SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index) If (Err.Number = 0)
Dann ist bDone = True, sonst Index = Index + 1
Ende wenn Ende wenn Ende wenn wenn (Index > 10000) dann
WScript.Echo „Es scheint, dass die Site nicht erstellt werden kann. Die Seriennummer der Site, die erstellt wird, lautet: „&Index&“. & VbCrlf & „Brechen Sie die Erstellung dieser Site ab.“
Exit Function End If Wend NewBindings = Array(0) NewBindings(0) =
BindingString NewFtpServer.ServerBindings = NewBindings NewFtpServer.ServerComment =
ServerComment NewFtpServer.AllowAnonymous = False NewFtpServer.AccessWrite = True
NewFtpServer.AccessRead = True NewFtpServer.DontLog = False NewFtpServer.LogFileDirectory =
LogFileDirectory NewFtpServer.SetInfo Set NewDir = NewFtpServer.Create
("IIsFtpVirtualDir", "ROOT") NewDir.Path = RootDirectory NewDir.AccessRead = true
Err.Clear NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo „Beim Erstellen des Home-Verzeichnisses ist ein Fehler aufgetreten.“ End If If Start = True Then Err.Clear Set NewFtpServer =
GetObject("IIS://" & Computer & "/MSFTPSVC/" & Index) NewFtpServer.Start If
Err.Number <> 0 Then WScript.Echo „Fehler beim Starten der Site!“ Err.Clear Else
End If End If ASTCreateFtpSite = IndexEnd-Funktion
-------------------------------------------------- ----------------------------------