【问题标题】:How to backup and restore IIS configuration from script如何从脚本备份和恢复 IIS 配置
【发布时间】:2013-03-10 20:23:03
【问题描述】:

我正在编写一个脚本,用于在 Windows 中设置许多不同的应用程序(主要是 svn 和用于 http、dns、mail、ftp 和 db 的开源服务器)。该脚本旨在为新开发人员在新的/干净的 Windows 工作站中执行,它会自动设置所有内容以创建一个与生产环境非常相似的环境。执行后,一切都在本地运行,开发者可以马上开始工作。

这不仅可以帮助新开发人员,还可以帮助所有现有开发人员,只要整个系统发生更改,所有内容都会在本地复制。

我仍然无法做的一件事是对运行 Web 应用程序的 IIS 服务器(它位于 Prod 服务器中)进行某种备份,并将其自动恢复到新开发人员的机器上,这样他就不会'不必在本地安装/配置 IIS。

我已经阅读了有关使用 appcmd.exe 创建和恢复备份的信息,但这仅适用于同一台计算机(它使用加密密钥,并且这些密钥在计算机之间更改)。

有没有一种方法,一种可编写脚本的方法,可以从一台服务器获取所有与 IIS 相关的内容并将其还原到另一台服务器上,而无需用户干预并使还原后的 IIS 完全按照原始方式运行?

提前致谢!

弗朗西斯科

【问题讨论】:

  • 哇。用这个问题获得的风滚草徽章。我不敢相信没有人能够或想要回答这样的问题。 :-|

标签: iis scripting backup windows-server-2008 restore


【解决方案1】:

只需将其放在这里,任何遇到此问题的人都会了解为什么没有回答。一个网站有大量与之相关的变量,这些变量阻止了任何简单的方法通过一个甚至几个 cmdlet 复制其所有配置。

要开始使用,您可能希望非常熟悉 applicationHost.config 文件以及如何使用 Get-WebConfigurationProperty 访问其中的属性。熟悉如何针对 Web 配置属性编写脚本的一种方法是使用 IIS 中的配置编辑器。每当您在配置编辑器中进行更改时,在提交更改之前都会有一个名为 Generate Script 的漂亮小链接,其中将有一个 Powershell 选项卡,您可以使用它来帮助您为 applicationHost 中的配置元素收集正确的 Get/Set 命令.config 文件。

我创建的东西几乎与 OP 正在寻找的东西完全一样,它跨越 4 个模块(超过 20,000 行代码),并有一个 SQL 后端来保存所有配置元素。

当网站拥有从可能需要注册的底层 DLL、IsapiCGI 限制和 IsapiFilter、与 AppPool 绑定的帐户(可能需要添加到服务器上的某些本地组)到需要加载证书的安全绑定的所有内容时在服务器上。你可以看到这不是一个简单的任务。 (这些只是网站可能包含的变量的一小部分)

但是,Microsoft 为您提供了很多开箱即用的 cmdlet,您可以利用这些 cmdlet 来帮助您在 WebAdministration module 中开发类似的东西。我知道这已经四岁了,但希望任何偶然发现这一点的人都会发现上述内容很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2017-10-20
    • 2011-02-16
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多