Programmcode:
'============================================== = ========='
Funktionseinführung: Website erstellen
„Diese Funktion verwendet ADSI und erfordert Benutzerrechte der Administratorengruppe.“
'Funktionsname: CreateWebSite(Computer,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,
GuestUserName,GuestUserPass,StartOrStop)
'Verwendung: CreateWebSite-Computername (auf LocalHost oder 127.0.0.1 verschieben), Site-IP-Adresse, Portnummer, Hostname, Site-Stammverzeichnis, LOG-Dateiverzeichnis, Site-Beschreibung, Konto, das beim Zugriff auf die Website verwendet wird, beim Zugriff auf die Website Passwort des verwendetes Konto, ob die Site gestartet werden soll
'Beispiel: CreateWebSite LocalHost,127.0.0.123,80,www.test.net,E:UserDataUserNum001,
E:UserDataUserNum001LogFiles,CnKnow.Com,IUSR_Num001_test.net,
abc888,Wahr
'============================================== = =
Funktion CreateWebSite(Computer,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,
GuestUserName,GuestUserPass,StartOrStop)
Dimmen Sie w3svc, WebServer, NewWebServer, NewDir
Dim Bindings, BindingString, NewBindings, SiteNum, SiteObj, bDone
Bei Fehler Weiter fortsetzen
Fehler.Klar
'Überprüfen Sie, ob der W3SVC-Dienst (WEB-Dienst) geladen werden kann
Setze w3svc = GetObject(IIS:// & Computer & /w3svc)
Wenn Err.Number <> 0, dann „Fehlermeldung anzeigen“.
Response.write kann nicht geöffnet werden: &IIS:// & Computer & /w3svc
Antwort.Ende
Ende wenn
'Überprüfen Sie, ob es eine Site mit derselben IP-Adresse, demselben Port und demselben Hostnamen gibt
BindingString = IPAddr & : & PortNum & : & HostName
Für jeden Webserver in w3svc
Wenn WebServer.Class = IIsWebServer, dann
Bindungen = WebServer.ServerBindings
Wenn BindingString = Bindings(0) Dann
Response.write IP-Adresskonflikt: & IPAddr &, bitte überprüfen Sie die IP-Adresse! .
Exit-Funktion
Ende wenn
Ende wenn
Nächste
„Bestimmen Sie eine nicht vorhandene Site-Nummer als neue Site-Nummer. Die standardmäßige Website-Site-Nummer des Systems ist 1, sie beginnt also bei 2
SiteNum=2
bDone = Falsch
Während (nicht bDone)
Fehler.Klar
Set SiteObj = GetObject(IIS://&Computer&/w3svc/&SiteNum) 'Laden Sie die angegebene Site
Wenn (Err.Number = 0) Dann
'response.write Step_1Site&SiteNum&exists
SiteNum = SiteNum + 1
Anders
'response.write Step_1 site&SiteNum& existiert nicht
Fehler.Klar
Set NewWebServer = w3svc.Create(IIsWebServer,SiteNum) 'Erstellt die angegebene Site
Wenn (Err.Number <> 0) Dann
'response.write Step_2 site&SiteNum& konnte nicht erstellt werden
SiteNum = SiteNum + 1
Anders
'response.write Step_2 Site&SiteNum& erfolgreich erstellt
bDone=True
Ende wenn
Ende wenn
Wenn (SiteNum > 50) Dann „Maximale Anzahl der vom Server erstellten Sites.“
„response.write“ überschreitet die maximale Anzahl der vom Server erstellten Sites. Die Sequenznummer der erstellten Site lautet: &SiteNum&.
Antwort.Ende
Ende wenn
Wend
„Grundlegende Site-Konfiguration durchführen.“
NewBindings = Array(0)
NewBindings(0) = BindingString
NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment= WebSiteInfo
NewWebServer.AnonymousUserName= GuestUserName
NewWebServer.AnonymousUserPass= GuestUserPass
NewWebServer.KeyType = IIsWebServer
NewWebServer.FrontPageWeb = True
NewWebServer.EnableDefaultDoc = True
NewWebServer.DefaultDoc = Default.htm, Default.asp, Index.htm, Index.asp
NewWebServer.LogFileDirectory=LogDirectory
NewWebServer.SetInfo
Setze NewDir = NewWebServer.Create(IIsWebVirtualDir, ROOT)
NewDir.Path = WebSiteDirectory
NewDir.AccessRead = true
NewDir.AppFriendlyName = Application&WebSiteInfo
NewDir.AppCreate True
NewDir.AccessScript = True
Fehler.Klar
NewDir.SetInfo
Wenn (Err.Number <> 0) Dann
Response.write Fehler beim Erstellen des Home-Verzeichnisses.
Antwort.Ende
Ende wenn
Wenn StartOrStop = True, dann
Fehler.Klar
Setze NewWebServer = GetObject(IIS:// & Computer & /w3svc/ & SiteNum)
NewWebServer.Start
Wenn Err.Number <> 0, dann
Response.write Fehler beim Starten der Website!
Antwort.Ende
Fehler.Klar
Ende wenn
Ende wenn
Response.write Die Site wurde erfolgreich erstellt, die Site-Nummer lautet: & SiteNum &, der Domänenname lautet: & HostName
Funktion beenden
Verwenden Sie die ASP-Einstellungen, um die maximale CPU-Auslastung der Site anzugeben
Programmcode:
'============================================== =
'Funktionseinführung: Legen Sie die maximale CPU-Auslastung der angegebenen Site fest
„Diese Funktion verwendet ADSI und erfordert Benutzerrechte der Administratorengruppe.“
'Funktionsname: SetCPULimitVar (Computer,SiteNum,LimitVar)
'Verwendung: SetCPULimitVar Computername, Standortnummer, maximaler Grenzwert (100=1 %, 1000=10 %)
'Beispiel: SetCPULimitVar LocalHost,2,2000
'============================================== =
Funktion SetCPULimitVar(Computer,SiteNum,LimitVar)
Setze MyObj001 = GetObject(IIS://&Computer&/W3SVC/&SiteNum)
'Aktivierungs-CPU-Limit festlegen
MyObj001.CpuLimitsEnabled = True
'Limit-Nutzungskontingentwert festlegen
MyObj001.CpuLimitLogEvent=LimitVar
MyObj001.setinfo
Setze MyObj001=Nichts
Funktion beenden
Verwenden Sie ASP, um bestimmte WEB-Sites zu starten/stoppen
Programmcode:
'============================================== = ========
'Funktionseinführung: Verwenden Sie ASP, um die angegebene WEB-Site zu starten/stoppen
„Diese Funktion verwendet ADSI und erfordert Benutzerrechte der Administratorengruppe.“
'Funktionsname: AdminWebSite(Computer,WebSiteNum,DoWhat)
'Verwendung: AdminWebSite(Computername, Site-Nummer, Start/Stopp)
'Beispiel: Starten Sie die Site mit Site-Nummer 1 auf Computer 127.0.0.1
'AdminWebSite 127.0.0.1,1,1
'Beispiel: Stoppen Sie die Site mit Site-Nummer 1 auf Computer 127.0.0.1
'AdminWebSite 127.0.0.1,1,0
'============================================== = ======
Funktion AdminWebSite(Computer,WebSiteNum,DoWhat)
Bei Fehler Weiter fortsetzen
Setze objServer = GetObject(IIS:// & Computer & /W3SVC/ & WebSiteNum)
Wenn Err.Number <> 0, dann
Response.Write Now & . Fehlercode: & Hex(Err)& - & Die angegebene Site konnte nicht geöffnet werden<br>
Ende wenn
wenn Dowhat=1 dann
'Verwenden Sie Start, um die Site zu starten
objServer.Start
Wenn Err.Number <> 0, dann
Response.Write kann die angegebene Website nicht starten<br>
anders
Response.Write Die angegebene Website wurde gestartet<br>
Ende wenn
elseif DoWhat=0 dann
'Verwenden Sie Stopp, um die Site zu stoppen
objServer.Stop
Wenn Err.Number <> 0, dann
Response.Write kann die angegebene Website nicht stoppen<br>
anders
Response.Write hat aufgehört, die Website anzugeben<br>
Ende wenn
Ende wenn
Funktion beenden
Verwenden Sie ASP, um Informationen zur Server-Webseite aufzulisten
Programmcode:
'============================================== = ====
'Funktionseinführung: Listen Sie die aktuellen Server-WEB-Site-Informationen auf
„Diese Funktion verwendet ADSI und erfordert Benutzerrechte der Administratorengruppe.“
'Funktionsname: ListWebSite (Computer,Num)
'Verwendung: ListWebSite (Computername, Anzahl der Websites anzeigen)
'Beispiel: 1000 Site-Informationen auf Computer 127.0.0.1 anzeigen
'ListWebSite 127.0.0.1,1000
'============================================== = ===
Funktion ListWebSite(Computer,Num)
Bei Fehler Weiter fortsetzen
Setze SiteObj = GetObject(IIS://&Computer&/w3svc/&i)
für i=0 bis Num
Fehler.Klar
wenn Err.Number=0 dann
Response.write <p><b>Im Folgenden werden Informationen zu allen Websites auf dem Computer angezeigt: &Computer&</b></p>
ShowWebSite = SiteObj.Get(ServerBindings) 'Site-IP-Adresse abrufen: Port: Host-Header
Info=split(ShowWebSite(0),:)
Antwort.Write-Site-Nummer: &i&<br>
IP-Adresse der Response.write-Site: &Info(0)&<br>
Response.write-Site-Port: &Info(1)&<br>
Response.write-Site-Host-Header: &Info(2)&<br><br>
Ende wenn
nächste
Setze SiteOjb=nichts
Funktion beenden
Verwenden Sie ASP, um eine bestimmte IIS-Site zu löschen
Programmcode:
'============================================== = =====
'Funktionseinführung: Löschen Sie die angegebene IIS-Site
„Diese Funktion verwendet ADSI und erfordert Benutzerrechte der Administratorengruppe.“
'Funktionsname: DelWebSite (Computer,SiteNum)
'Verwendung: DelWebSite-Computername, Site-Nummer
'Beispiel: DelWebSite 127.0.0.1,2
'============================================== = =====
Funktion DelWebSite(Computer,SiteNum)
Setzen Sie W3SVC = GetObject(IIS://&Computer&/w3svc)
W3SVC.delete IIsWebServer,SiteNum
Response.write erfolgreich gelöscht!
Funktion beenden
Verwalten Sie NT-Konten über ASP
Programmcode:
'============================================== = ======
'Funktionseinführung: NT-Konten über ASP verwalten
„Diese Funktion verwendet ADSI und erfordert Benutzerrechte der Administratorengruppe.“
'============================================== = ===
'Benutzer hinzufügen
'Funktionsverwendung: AddUser(Computer,UserName,PassWord,FullName,Info)
'Parameter: Computername, Kontoname, Kontokennwort, vollständiger Kontoname, Kontobeschreibung
'Beispiel: AddUser 127.0.0.1, Test, Test, Testadministratorkonto, dieses Konto wird über ASP hinzugefügt
'Ändern Sie die grundlegenden Informationen des angegebenen Benutzers
'Funktionsverwendung: EditUser(Computer,UserName,OldPassWord,PassWord,FullName,Info)
'Parameter: Computername, Kontoname, Kontokennwort, vollständiger Kontoname, Kontobeschreibung
'Beispiel: EditUser 127.0.0.1, Test, Test2, Änderung des Testadministratorkontos, dieses Konto wurde über ASP geändert
'Löschen Sie den angegebenen Benutzer
'Funktionsverwendung: DelUser(Computer,Benutzername)
'Parameter: Computername, Benutzername'
'Beispiel: DelUser 127.0.0.1,Test
=============================================== ======
Funktion AddUser(Computer,Benutzername,Passwort,VollständigerName,Info)
'Führen Sie den Befehl zum Erstellen eines Kontos aus
Setze ComputerObj = GetObject(WinNT://&Computer)
Set NewUser = ComputerObj.Create( User , UserName )
NewUser.SetInfo
„Konfigurieren Sie die Kontoeinstellungen
NewUser.SetPassword (PassWord) 'Kontopasswort
NewUser.FullName = FullName 'Vollständiger Name des Kontos
NewUser.Description = Info 'Kontobeschreibung
NewUser.UserFlags = &H10000 '&H20000 (Der Benutzer muss das Passwort ändern, wenn er sich das nächste Mal anmeldet) &H0040 (Der Benutzer darf das Passwort nicht ändern) &H10000 (Das Passwort ist dauerhaft korrekt) &H0002 (Das Konto ist vorübergehend gesperrt)
NewUser.SetInfo
Response.write Account&UserName& wurde erfolgreich erstellt!
Setze ComputerObj=nichts
Funktion beenden
Funktion EditUser(Computer,UserName,OldPassWord,PassWord,FullName,Info)
„Benutzerinformationen lesen.“
Setze ChangeUserObj = GetObject(WinNT://&Computer&/&UserName&,User)
„Kontopasswort ändern.“
wenn Passwort<> dann
ChangeUserObj.SetPassword Passwort
Response.write Kontopasswort erfolgreich geändert! <br>
Ende wenn
„Ändern Sie den vollständigen Namen des Kontos.“
wenn FullName<> dann
UserFullName = ChangeUserObj.get(FullName)
ChangeUserObj.FullName = Vollständiger Name
ChangeUserObj.SetInfo
Response.write Der vollständige Name des Kontos wurde erfolgreich geändert! <br>
Ende wenn
„Kontobeschreibung ändern.“
wenn Info<> dann
UserFullName = ChangeUserObj.get(Beschreibung)
ChangeUserObj.Description = Info
ChangeUserObj.SetInfo
Response.write Kontobeschreibung erfolgreich geändert! <br>
Ende wenn
Setzen Sie ChangeUserObj=nothing
Funktion beenden
Funktion DelUser(Computer,Benutzername)
Setze DelUserObj = GetObject(WinNT://&Computer&/&UserName)
Wenn Err = &H800401E4 Dann
Response.Write User&UserName& existiert nicht
Antwort.Ende
Ende wenn
Setze DelObj = GetObject(DelUserObj.Parent)
DelObj.Delete Benutzer, DelUserObj.Name
Setzen Sie DelUserObj = Nothing
Setze DelObj = Nothing
Response.Write erfolgreich gelöscht
Funktion beenden
Verwendung von ASP zur Steuerung bestimmter Site-Parsing-Skriptsprachenfunktionen
Programmcode:
Funktion AdminAegis(Computer,SiteNum)
Setze IIsWebServiceObj = GetObject(IIS://&Computer&/W3SVC/&SiteNum)
düstere Aegis(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,
POST, DEBUG
'Bitte verwenden Sie das gleiche Format wie Aegis(Num)=, um andere Dateien zu analysieren. Denken Sie daran, dim Aegis(Num) zu definieren.
'.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,
DEBUGGEN
'.ascx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.ashx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
POST, DEBUG
'.asmx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
POST, DEBUG
'.aspx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
POST, DEBUG
'.axd,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
POST, DEBUG
'.vsdisco,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
POST, DEBUG
'.rem,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
POST, DEBUG
'.soap,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,1,GET,HEAD,
POST, DEBUG
'.config,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.cs,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.csproj,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.vb,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.vbproj,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.webinfo,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.licx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.resx,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,
POST, DEBUG
'.resources,C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,
KOPF, POST, DEBUG
IIsWebServiceObj.ScriptMaps=Aegis
IIsWebServiceObj.SetInfo
'Unterstützte Skriptsprache anzeigen
Response.write Die aktuelle Site unterstützt die Analyseliste:<br>
Für ValueIndex = 0 To UBound(IIsWebServiceObj.ScriptMaps)
Response.write IIsWebServiceObj.Get(ScriptMaps)(ValueIndex)
Antwort.write <br>
Nächste
Funktion beenden
Verwenden Sie ASP, um NT-Benutzergruppen und -Benutzer aufzulisten
Programmcode:
'============================================== = ======
'Funktionseinführung: NT-Benutzergruppen und Benutzer auflisten
„Diese Funktion verwendet ADSI und erfordert Benutzerrechte der Administratorengruppe.“
'Funktionsname: ListGroup(Computer)
'Verwendung: ListGroup (Computername)
'Beispiel: Anzeige der NT-Benutzergruppe und Benutzer des Computers 127.0.0.1
'ListGroup 127.0.0.1
'============================================== = ======
Funktion ListGroup(Computer)
Response.write <p><b>Das Folgende ist die Benutzergruppe und Benutzerliste für Computer&Computer&System</b></p>
Setze ComputerObj = GetObject(WinNT://&Computer)
ComputerObj.Filter = Array(Gruppe)
Für jedes Mitglied in ComputerObj
Response.Write Benutzergruppe: &Member.Name&<br>
ListUser Computer,Member.Name
Nächste
end Funktion
'Benutzer der angegebenen Benutzergruppe auflisten
Funktion ListUser(Computer,Gruppe)
Setze UserObj = GetObject(WinNT://&Computer&/&Group)
Für jedes Mitglied in UserObj.Members
Response.write Benutzer in der Gruppe: &Member.Name &<br>
Nächste
Funktion beenden
IIS stellt IIS-Admin-Objekte bereit, die es Benutzern ermöglichen, IIS über Programme zu verwalten. IIS-Administratorobjekte basieren auf Microsoft Active Directory Service Interfaces (ADSI). Jede Programmiersprache, die Automatisierung unterstützt, wie z. B. VBScript/JScript in ASP, Visual Basic, Java oder C++, kann sie verwenden.
Sie können auf das folgende ASP-Beispielprogramm zurückgreifen, um die Adresse der IIS-Standardsite zu ändern:
<%
Setze IISOBJ = GetObject(IIS://MyServer/w3svc/1/root)
IISOBJ.Path = D:newroot
IISOBJ.SetInfo
Setze IISOBJ=Nichts
%>
Hinweis: Der Benutzer muss über ausreichende Berechtigungen für die IIS-Metabasis verfügen.
Informationen zur Verwendung von Programmen zur Verwaltung von IIS finden Sie in den folgenden Artikeln auf MSDN:
IIS programmgesteuert verwalten
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html/psdk/asp/aint7e9l.asp