将 300 多个 IIS 站点移动到新的应用程序池的简单方法?

将 300 多个 IIS 站点移动到新的应用程序池的简单方法?

我的服务器上有大量(大约 300 个) IIS 站点需要移动到新的应用程序池。我可以使用 C# DirectoryEntry 类以编程方式完成此操作,但我想知道是否有更简单的方法?

答案1

ADSUtil.VBS 是您的好朋友。您可以使用它来获取系统上所有站点的列表(您必须对其进行一些编辑才能获得正确的结果),并为站点设置应用程序池。

cscript adsutil.vbs enum /P /w3svc/

将为您提供服务器上所有路径的列表,如下所示:

[/w3svc/1]
[/w3svc/2]
[/w3svc/608728754]
[/w3svc/608728755]
[/w3svc/87257621]
[/w3svc/AppPools]
[/w3svc/Filters]
[/w3svc/Info]

以数字结尾的任何东西都是网站。过滤该列表后,您可以将其用作另一个 adsutil.vbs 命令的输入:

cscript adsutil.vbs set W3SVC/<number>/ROOT/AppPoolId <NewAppPoolName>

这会将指定的网站的应用程序池更改为<number>指定的任何内容<NewAppPoolName>- 此应用程序池必须已经存在。

如果您已经在谈论使用 C# 来执行此操作,那么用您最喜欢的语言编写一个包装器应该非常简单。

另外,如果您不熟悉它,adsutil.vbs 通常存在于c:\inetpub\adminscripts\

答案2

编程,绝对是。没有什么比这更容易的了。你检查过脚本部分了吗?http://www.iis.net/?我还想​​到了 Powershell...

答案3

我根据另一个答案编写了一个小工具。您可以根据正则表达式匹配池和站点,它会将它们均匀划分。您可以在此处下载:http://www.netfuelinteractive.com/iis-application-pool-tools.aspx

答案4

我为此编写了一个小工具。您可以根据正则表达式匹配池和站点,它会将它们均匀划分。您可以在此处下载:http://www.netfuelinteractive.com/iis-application-pool-tools.aspx

相关内容