2010-04-06 73 views
0

我需要从IIS6导出整个服务器的WebSite配置(MetaBase),但我需要将每个网站配置单独保存。结果应该与右键单击IIS管理单元中的每个网站并选择“所有任务” - >“将配置保存到文件”中的结果相同。 我的想法很简单: 1-使用WMI,检索网站列表。 2-也通过WMI,将每个配置导出到具有相同网站名称的文件。如何使用WMI导出每个IIS 6网站的配置

但是,我有一些困难,主要是由于WMI的复杂性,并且在我看来,它的类的文档很差。

目前我发现如何枚举虚拟目录,但不是网站;虽然此方法确实返回网站,但我无法看到如何在其他虚拟文件夹中识别它们(网站具有不同的属性,这些属性不会在虚拟目录对象中返回),而且我无法找到网站描述属性,我想用它来命名导出的文件。

我想过所有上述问题的解决方法,但它会比真正的解决方案更黑客...任何帮助,如果赞赏。谢谢。

UPDATE:我可能找到了我正在寻找的东西,StackOverflow效率非常高,只要我发布它,我的脑海里就会有答案。要列出Web站点,运行查询

SELECT * FROM IISWebServerSetting

很“明显” ......每个网站对象包含“服务器注释”属性(另一种“明显”的名称)的名称。我要做更多的调查,我感觉这只是冰山一角。

+0

当你回答你自己的问题,你还是应该接受的答案。 – 2012-04-05 20:54:02

+0

我不知道,谢谢你让我知道。 – Diego 2012-04-05 21:00:42

回答

0

经过几天的研究,我确实找到了解决方案,我创建了一组导出IIS网站及其应用程序池的脚本,清除/重置一些特定于服务器的属性(不能导入到另一个服务器)并生成一个导入脚本,该脚本可以在启用了WMI的情况下针对目标IIS6或IIS7运行。 不幸的是,这些脚本的所有权属于我以前的雇主,我不能公开发布它。

然而,我所需要的关键信息可以在这里找到:Exporting and Importing Metabase Nodes Using WMI