正在加载中……
最新消息:欢迎大家访问,导航分类不完善,如果找不到自己想要的文章,可以通过【关键词】来进行搜索,^_^!

ASP批量导出IIS标识,域名列表,描述,对应目录,是否运行

windows系列 REKFAN.COM 12408浏览 0评论

更多


服务器没有虚拟主机管理系统,随着网站越来越多,网站很难管理,参考网上代码修改了一个这样的工具,导出IIS 配置文件MetaBase.xml里所有网站的域名信息,及对应的描述,目录,是否运行 等信息!

使用方法:

1.将以下代码另存为fuckiis.asp
2.将C:WindowsSystem32inetsrvMetaBase.xml 文件或IIS 备份文件改名为IIS.xml 
3.将两文件放入IIS 里某个站点里,使用浏览器访问fuckiis.asp页面例如 :http://localhost/fuckiis.asp 即可查看结果,效果图如下,如需要放入Excel里 直接复制粘贴到Excel  !

代码如下:

<%
'
'修改了基本函数,可以导出任意你想的数据
option explicit
 dim FSO
 Set FSO = Server.CreateObject("Scripting.FileSystemObject")
 dim ts
 Set ts = fso.OpenTextFile(server.MapPath("iis.xml"),1)  '修改此处的iis备份文件名即可,同目录下哦
dim content,contentdir,arraylocal
 content= ts.ReadAll
 contentdir=content
 
 content=split(content,"<IIsWebServer")

'取主相关字段
'splitStr可以为你想要截取的标识如:ServerComment、AppFriendlyName、Path

 function getStr(str,splitStr)
 dim reg,readstr,matches,match1
 set reg=new Regexp
 reg.Multiline=True
 reg.Global=false
 reg.IgnoreCase=true
 reg.Pattern=splitStr&"(.*)\s"
 Set matches = reg.execute(str)
   For Each match1 in matches
    readstr=match1.Value
   Next
 Set matches = Nothing
 Set reg = Nothing
 getStr=replace(readstr,splitStr&"=","")
 getStr=replace(getStr,"""","")
 end function

'取字段

 function GetKey(HTML,Start,Last)
 dim filearray,filearray2
 filearray=split(HTML,Start)
 filearray2=split(filearray(1),Last)
 GetKey=filearray2(0)
 End function

function Clear(content)
 dim arr,i
 arr=split(content,":")
 for i=0 to ubound(arr)
 if instr(arr(i),".")>0 then
 Clear=Clear & arr(i)&"<Br/>"
 end if
 next
 end function

response.Clear()
 dim i,lc,contentdirs
  response.Write("<title>IIS域名信息批量导出工具(FuckIIS) -- BY:rekfan
http://blog.rekfan.com </title>")
  response.Write("<hr>")
  response.Write("欢迎使用IIS域名信息批量导出工具(FuckIIS),如有更好的代码或工具,请发<a href=""
mailto:webmaster@rekfan.com"">webmaster@rekfan.com</a>")
  response.Write("<br/>MyBlog:<a href=""
http://blog.rekfan.com"">http://blog.rekfan.com</a>")
  response.Write("<hr>")
 
 response.Write("<table width='100%' border='1'><tr><td width='6%' height='30'><div align='center'>编号</div></td><td width='6%' height='30'><div align='center'>运行</div></td><td width='30%'><div align='center'>描述</div></td><td width='32%'><div align='center'>域名</div></td><td width='5%'><div align='center'>端口</div></td><td width='27%'><div align='center'>目录</div> </td><td width='27%'><div align='center'>标识</div> </td></tr>")

 for i=0 to ubound(content)
 
 lc=split(getStr(content(i),"Location"),"/")
 
  if ubound(lc)=3 then
  contentdir = Replace(contentdir,"/ROOT","/root")
 'contentdirs 切割整个xml 创建数组  取文件存放的目录
 
  contentdirs = split(contentdir,"<IIsWebVirtualDir Location =""/LM/W3SVC/"&rtrimVBcrlf(lc(3))&"/root""")
  
   response.Write("<tr><td height='30'>"&i&"</td><td height='30'>"&getStr(content(i),"ServerAutoStart")&"</td><td>"&getStr(content(i),"ServerComment")&"</td><td>"&Clear(GetKey(content(i),"ServerBindings=""",""""))&"</td><td>&nbsp;</td><td>"&replace(getStr(contentdirs(1),"Path="),"Path=","")&"</td><td>"&rtrimVBcrlf(lc(3))&"</tr>")
  end if
 next
 
 response.Write("</table>")
 
'去掉字符串空格
function rtrimVBcrlf(str)
 dim pos,isBlankChar
 pos=len(str)
 isBlankChar=true
 while isBlankChar and pos>=2
  if mid(str,pos,1)=" " then
   pos=pos-1
  elseif mid(str,pos-1,2)=VBcrlf then
   pos=pos-2
  else
   isBlankChar=false
  end if
 wend
 rtrimVBcrlf=rtrim(left(str,pos))
end function

 %>

下载地址:

转载请注明:|REKFAN|系统运维| » ASP批量导出IIS标识,域名列表,描述,对应目录,是否运行

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址