首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS6 bat文件-家庭目录

IIS6 bat文件-家庭目录
EN

Stack Overflow用户
提问于 2013-07-15 11:30:18
回答 2查看 1.2K关注 0票数 1

如何使用批处理文件在IIS6中获取网站的根/主目录??

My场景:

我正在创建一个工具来总结和报告IIS中的站点。我使用批处理文件和运行iisweb /query来获取所有站点,然后遍历结果,并使用iisvdir /query“网站名称”获取虚拟目录。

然而,它必须是向后兼容的IIS6和我有困难,获得家庭目录的网站。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-24 12:05:37

我不认为您可以直接从批处理文件中完成这个任务,但是您应该能够通过一个vbscript从一个批处理文件调用它。

诀窍是使用IIS提供程序,它允许您访问IIS。例如,下面的脚本应该回显本地服务器上每个虚拟目录的名称和路径。

代码语言:javascript
复制
set provider = GetObject("winmgmts://localhost/root/MicrosoftIISv2") 
set results = provider.ExecQuery("SELECT Name,Path from IISWebVirtualDirSetting")
for each item in results
  WScript.Echo item.Name
  WScript.Echo item.Path
next

如果将此脚本保存为iispaths.vbs (作为示例),则可以通过以下批处理文件调用它:

代码语言:javascript
复制
cscript //nologo iispaths.vbs

不幸的是,我无法使用IIS6访问一台机器,所以目前我无法测试它,但是如果您有任何问题让它工作,请在评论中告诉我,我会尽力解决这个问题。

票数 2
EN

Stack Overflow用户

发布于 2013-07-29 13:37:17

但是,我没有IIS6服务器,但是通过一些搜索,我发现:

  1. IIS6使用%SystemRoot%\system32\inetsrv\MetaBase.xml%SystemRoot%\system32\inetsrv\MBSchema.xml来存储配置(IIS元数据库(IIS 6.0));
  2. 如果您的服务器没有经常更改主目录,则应该更新这些xml;
  3. 使用命令行解析器(如xmlstartlet),可以使用XPathIIsWebVirtualDir节点(根据Metabase结构)提取Path属性。

使用xmlstartlet,下面这样的命令将输出根路径:

代码语言:javascript
复制
xml sel -t -v "//IIsWebVirtualDir[@Location='/LM/W3SVC/1/ROOT']/@Path" "%SystemRoot%\system32\inetsrv\MetaBase.xml"

也许模式需要纠正。这可以是命令行方法。我无法测试它,因为我没有任何IIS6服务器,也无法获得任何MetaBase.xml示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17653234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档