如何通过控制台应用程序在Windows 2008 Server Web SP2上的IIS7中设置站点?

geo*_*rtz 5 c# iis-7

我有一个我在Windows Server 2003上使用的程序,它在IIS6中设置了一个我过去没有遇到任何问题的站点.

我正在尝试使用Windows 2008 Server Web SP2做同样的事情,我收到了一个错误.我猜它与用户帐户安全性有关.如果这是正确的,有没有办法解决这个问题?谢谢.

System.Runtime.InteropServices.COMException (0x80070005): 
Access is denied. at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
Run Code Online (Sandbox Code Playgroud)

编辑:

我发现Microsoft提供了一个程序集,Microsoft.Web.Administration使IIS7的任务更容易.但是,当我运行应用程序时,我收到一个错误.报告的错误说:

"指定的HTTPS绑定无效".

我没有指定https绑定,所以我不知道为什么我收到错误消息.这是代码.

using Microsoft.Web.Administration;
....
using (ServerManager iisManager = new ServerManager())
{
  iisManager.Sites.Add(site.Name.ToString(), "http", "*:80:" + domain, 
                          server.InetPath + site.Name);
  iisManager.CommitChanges();
  Site newSite = iisManager.Sites[site.Name];
  newSite.Applications[0].ApplicationPoolName = "TrialUsers";
  iisManager.CommitChanges();
}
Run Code Online (Sandbox Code Playgroud)

此外,此任务必须更新Web场中的多个服务器.有谁知道如何修改代码来实现这一目标?

小智 5

iisManager.Sites.Add(site.Name.ToString(), "http:", "*:80:" + domain, 
                     server.InetPath + site.Name);
Run Code Online (Sandbox Code Playgroud)

删除域名,如果你像我一样,你没有在端口后添加第二个':'


Kev*_*Kev 0

要使用Microsoft.Web.AdministrationAPI 在远程服务器上创建和操作 IIS,您可以使用该ServerManager.OpenRemote(string serverName)方法。

不过,我有一种感觉,您可能需要在远程服务器上具有正确权限的 Active Directory 用户的上下文中运行此命令,因为无法为远程服务器提供凭据。