Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > asp函数/类库

使用asp在IIS创建WEB站点的函数

来源:中文源码网    浏览:225 次    日期:2024-04-27 13:05:04
【下载文档:  使用asp在IIS创建WEB站点的函数.txt 】


使用ASP在IIS创建WEB站点的函数
程序代码:
'=========================================================='函数介绍:创建WebSite'本函数使用ADSI,需要Administrators组用户权限'函数名称:CreateWebSite(Computer,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",True'==================================================Function CreateWebSite(Computer,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,GuestUserName,GuestUserPass,StartOrStop)Dim w3svc, WebServer, NewWebServer, NewDirDim Bindings, BindingString, NewBindings, SiteNum, SiteObj, bDoneOn Error Resume NextErr.Clear'检测是否能够加载W3SVC服务(即WEB服务)Set w3svc = GetObject("IIS://" & Computer & "/w3svc")If Err.Number <> 0 Then '显示错误提示 response.write "无法打开: "&"IIS://" & Computer & "/w3svc" response.endEnd If'检测是否有设定相同IP地址、端口及主机名的站点存在BindingString = IPAddr & ":" & PortNum & ":" & HostNameFor Each WebServer in w3svc If WebServer.Class = "IIsWebServer" Then Bindings = WebServer.ServerBindings If BindingString = Bindings(0) Then response.write "IP地址冲突:" & IPAddr & ",请检测IP地址!." Exit Function End If End IfNext
'确定一个不存在的站点编号做为新建站点编号,系统默认WebSite站点编号为1,因此从2开始SiteNum=2bDone = FalseWhile (Not bDone)Err.ClearSet SiteObj = GetObject("IIS://"&Computer&"/w3svc/"&SiteNum) '加载指定站点If (Err.Number = 0) Then 'response.write " Step_1站点"&SiteNum&"存在" SiteNum = SiteNum + 1Else 'response.write " Step_1站点"&SiteNum&"不存在" Err.Clear Set NewWebServer = w3svc.Create("IIsWebServer",SiteNum) '创建指定站点 If (Err.Number <> 0) Then 'response.write " Step_2站点"&SiteNum&"创建失败" SiteNum = SiteNum + 1 Else 'response.write " Step_2站点"&SiteNum&"创建成功" bDone = True End IfEnd IfIf (SiteNum > 50) Then '服务器最大创建站点数 response.write "超出服务器最大创建站点数,正在创建的站点的序号为: "&SiteNum&"." response.endEnd IfWend
'进行站点基本配置NewBindings = Array(0)NewBindings(0) = BindingStringNewWebServer.ServerBindings = NewBindingsNewWebServer.ServerComment= WebSiteInfoNewWebServer.AnonymousUserName= GuestUserNameNewWebServer.AnonymousUserPass= GuestUserPassNewWebServer.KeyType = "IIsWebServer"NewWebServer.FrontPageWeb = TrueNewWebServer.EnableDefaultDoc = TrueNewWebServer.DefaultDoc = "Default.htm, Default.asp, Index.htm, Index.asp"NewWebServer.LogFileDirectory= LogDirectoryNewWebServer.SetInfoSet NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")NewDir.Path = WebSiteDirectoryNewDir.AccessRead = trueNewDir.AppFriendlyName = "应用程序" & WebSiteInfoNewDir.AppCreate TrueNewDir.AccessScript = TrueErr.ClearNewDir.SetInfoIf (Err.Number <> 0) Then response.write "主目录创建时出错." response.endEnd IfIf StartOrStop = True Then Err.Clear Set NewWebServer = GetObject("IIS://" & Computer & "/w3svc/" & SiteNum) NewWebServer.Start If Err.Number <> 0 Then response.write "启动站点时出错!" response.end Err.Clear End IfEnd Ifresponse.write "站点创建成功,站点编号为:"& SiteNum &" ,域名为:"& HostNameEnd Function
使用ASP设置指定站点CPU最大使用程度程序代码:
'================================================='函数介绍:设置指定站点CPU最大使用程度'本函数使用ADSI,需要Administrators组用户权限'函数名称:SetCPULimitVar (Computer,SiteNum,LimitVar)'用法:SetCPULimitVar 计算机名,站点编号,最大限制值(100=1%,1000=10%)'例:SetCPULimitVar "LocalHost","2","2000"'=================================================Function SetCPULimitVar(Computer,SiteNum,LimitVar)Set MyObj001 = GetObject("IIS://"&Computer&"/W3SVC/"&SiteNum)'设置启用CPU限制MyObj001.CpuLimitsEnabled = True'设置限制使用额度值MyObj001.CpuLimitLogEvent=LimitVarMyObj001.setinfoSet MyObj001=NothingEnd Function
使用ASP启动/停止指定WEB站点
程序代码:
'========================================================='函数介绍:使用ASP启动/停止指定WEB站点'本函数使用ADSI,需要Administrators组用户权限'函数名称: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'=======================================================Function AdminWebSite(Computer,WebSiteNum,DoWhat)On Error Resume NextSet objServer = GetObject("IIS://" & Computer & "/W3SVC/" & WebSiteNum)If Err.Number <> 0 Then Response.Write Now & ". 错误码: " & Hex(Err)& " - " & "无法开启指定站点
"End Ifif Dowhat=1 then'使用Start启动站点 objServer.Start If Err.Number <> 0 Then Response.Write "无法启动指定Web站点
" else Response.Write "已经启动指定Web站点
" End Ifelseif DoWhat=0 then '使用Stop停止站点 objServer.Stop If Err.Number <> 0 Then Response.Write "无法停止指定Web站点
" else Response.Write "已经停止指定Web站点
" End Ifend ifEnd Function
使用ASP列出服务器WEB站点信息
程序代码:
'====================================================='函数介绍:列出当前服务器WEB站点信息'本函数使用ADSI,需要Administrators组用户权限'函数名称:ListWebSite (Computer,Num)'用法:ListWebSite (计算机名称,显示站点数量)'例:显示127.0.0.1计算机上1000个站点信息'ListWebSite "127.0.0.1","1000"'====================================================Function ListWebSite(Computer,Num)On Error Resume NextSet SiteObj = GetObject("IIS://"&Computer&"/w3svc/"&i)for i=0 to Num Err.Clear if Err.Number=0 then response.write "

以下显示为计算机:"&Computer&"上所有站点信息

" ShowWebSite = SiteObj.Get("ServerBindings") '获得站点IP地址:端口:主机头 Info=split(ShowWebSite(0),":") response.write "站点编号:"&i&"
" response.write "站点IP地址:"&Info(0)&"
" response.write "站点端口:"&Info(1)&"
" response.write "站点主机头:"&Info(2)&"

" end ifnextset SiteOjb=nothingEnd Function
使用ASP删除指定IIS站点
程序代码:
'======================================================'函数介绍:删除指定IIS站点'本函数使用ADSI,需要Administrators组用户权限'函数名称:DelWebSite (Computer,SiteNum)'用法:DelWebSite 计算机名,站点编号'例:DelWebSite "127.0.0.1","2"'======================================================Function DelWebSite(Computer,SiteNum)Set W3SVC = GetObject("IIS://"&Computer&"/w3svc")W3SVC.delete "IIsWebServer",SiteNumresponse.write "删除成功!"End Function
通过ASP管理NT帐号
程序代码:
'======================================================='函数介绍:通过ASP管理NT帐号'本函数使用ADSI,需要Administrators组用户权限'===================================================='填加用户'函数用法:AddUser(Computer,UserName,PassWord,FullName,Info)'参数:计算机名,帐号名称,帐号密码,帐号全名,帐号说明'例:AddUser "127.0.0.1","Test","Test","测试管理员帐号","本帐号通过ASP填加"'修改指定用户基本信息'函数用法:EditUser(Computer,UserName,OldPassWord,PassWord,FullName,Info)'参数:计算机名,帐号名称,帐号密码,帐号全名,帐号说明'例:EditUser "127.0.0.1","Test","Test2","测试管理员帐号修改","本帐号通过ASP修改过"'删除指定用户'函数用法:DelUser(Computer,UserName)'参数:计算机名,用户名''例:DelUser "127.0.0.1","Test"========================================================Function AddUser(Computer,UserName,PassWord,FullName,Info)'执行创建帐号命令Set ComputerObj = GetObject("WinNT://"&Computer)Set NewUser = ComputerObj.Create( "User" , UserName )NewUser.SetInfo'进行帐号设置NewUser.SetPassword ( PassWord ) '帐号密码NewUser.FullName = FullName '帐号全名NewUser.Description = Info '帐号说明NewUser.UserFlags = &H10000 '&H20000(使用者下次登入时须变更密码) &H0040(使用者不得变更密码) &H10000(密码永久正确) &H0002(帐户暂时停用)NewUser.SetInforesponse.write "帐号"&UserName&"创建成功!"Set ComputerObj=nothingEnd Function
Function EditUser(Computer,UserName,OldPassWord,PassWord,FullName,Info)'读取用户信息Set ChangeUserObj = GetObject("WinNT://"&Computer&"/"&UserName&",User")'修改帐号密码if PassWord<>"" then ChangeUserObj.SetPassword PassWord response.write "帐号密码修改成功!
"end if'修改帐号全名if FullName<>"" then UserFullName = ChangeUserObj.get("FullName") ChangeUserObj.FullName = FullName ChangeUserObj.SetInfo response.write "帐号全名修改成功!
"end if'修改帐号说明if Info<>"" then UserFullName = ChangeUserObj.get("Description") ChangeUserObj.Description = Info ChangeUserObj.SetInfo response.write "帐号说明修改成功!
"end ifSet ChangeUserObj=nothingEnd Function
Function DelUser(Computer,UserName)Set DelUserObj = GetObject("WinNT://"&Computer&"/"&UserName)If Err = &H800401E4 Then Response.Write "用户"&UserName&"不存在" Response.EndEnd IfSet DelObj = GetObject(DelUserObj.Parent)DelObj.Delete "User", DelUserObj.NameSet DelUserObj = NothingSet DelObj = NothingResponse.Write "删除成功"End Function
使用ASP控制指定站点解析脚本语言函数
程序代码:
Function AdminAegis(Computer,SiteNum)Set IIsWebServiceObj = GetObject("IIS://"&Computer&"/W3SVC/"&SiteNum)dim 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"'解析其它文件请同样使用Aegis(Num)=""这种格式,记得要将dim 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
'.shtm C:WINNTsystem32inetsrvssinc.dll,5,GET,POST
'.shtml C:WINNTsystem32inetsrvssinc.dll,5,GET,POST
'.stm C:WINNTsystem32inetsrvssinc.dll,5,GET,POST
'.asax C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG'.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,HEAD,POST,DEBUGIIsWebServiceObj.ScriptMaps=AegisIIsWebServiceObj.SetInfo'显示支持脚本语言response.write "当前站点支持解析列表:
"For ValueIndex = 0 To UBound(IIsWebServiceObj.ScriptMaps) response.write IIsWebServiceObj.Get("ScriptMaps")(ValueIndex) response.write "
"NextEnd Function
使用ASP列出NT用户组及用户
程序代码:
'======================================================='函数介绍:列出NT用户组及用户'本函数使用ADSI,需要Administrators组用户权限'函数名称:ListGroup(Computer)'用法:ListGroup(计算机名称)'例:显示127.0.0.1计算机NT用户组及用户'ListGroup "127.0.0.1"'=======================================================Function ListGroup(Computer)response.write "

以下为计算机"&Computer&"系统用户组及用户列表

"Set ComputerObj = GetObject("WinNT://"&Computer)ComputerObj.Filter = Array("Group")For Each Member in ComputerObj Response.Write "用户组:"&Member.Name&"
" ListUser Computer,Member.NameNextend Function
'列出指定用户组用户Function ListUser(Computer,Group)Set UserObj = GetObject("WinNT://"&Computer&"/"&Group)For Each Member in UserObj.Members Response.write " 组中用户:"&Member.Name &"
"NextEnd Function
IIS 提供了 IIS Admin Objects,让用户可以通过程序来管理IIS。IIS Admin Objects 基于 Microsoft Active Directory Service Interfaces (ADSI)。任何支持 Automation 的编程语言,如 ASP 中的 VBScript/JScript,Visual Basic, Java, 或 C++ 都能使用它。您可以参考以下的 ASP 示例程序来修改 IIS 默认站点的地址:<% Set IISOBJ = GetObject("IIS://MyServer/w3svc/1/root") IISOBJ.Path = "D:newroot" IISOBJ.SetInfo Set IISOBJ=Nothing%>注意:用户必须要对 IIS Metabase 有足够的权限。关于如何用程序来管理 IIS,您可以到 MSDN 参考以下的文章:Administering IIS Programmaticallyhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html/psdk/asp/aint7e9l.asp阅读全文(55) | 回复(0) | 引用通告(0) | 编辑

相关内容