这里的情景:遥控和自动化的IIS 7的管理 - 权限问题
- Win2003的构建服务器(CCNET)
- IIS7目标部署服务器
的各种MSBuild任务(SDC .Tasks,MSBuild的社区,MSBuild扩展包)执行此操作(创建VDirs,设置程序池属性)不适合用于至少一个或多个下面的原因:
- 为IIS 7.
- 无可能性不支持通过域用户名/密码来执行该操作。
- Microsoft.Web.Management.dll在构建服务器上不可用。
- '访问被拒绝'错误。
有没有问题,在IIS 6创建Vdirs - 尽管我们实际上炮击了以Iisvdir.vbs将,因为使用任何上述的MSBuild任务似乎要么不支持域用户名/密码身份验证时执行该操作或将简单地引发一个基本的“访问被拒绝”消息(尽管在IIS 6元数据库上具有适当的权限)。
另外 - 请记住,如果没有指定特定域user/pw,只要当前认证环境具有正确的权限,各种方法就可以在IIS 7上完美地工作,但出于显而易见的原因,我们不希望全部我们的CCNET构建在这种情况下运行。
我甚至用psexec.exe来远程执行appcmd.exe,如果当前的安全上下文有适当的权限,这也可以正常工作,但只要您在psexec上指定用户名/密码,就会得到一个错误消息说“由于权限不足,无法读取配置文件”。指定的用户是域帐户,并且是2008服务器上本地管理员组的一部分。
而且 - 我已经结束了我自己的滚动运行方式MSBuild任务,从Exec任务继承和使用可编程的模拟。然后,我使用它调用psexec,但没有在psexec中指定用户名和密码,而是通过模拟psexec的shelling模拟,但我只是得到1的退出码 - 没有任何更多细节。
正如你所看到的,我已经用尽了所有的选择,或者我认为。
如果你能想到的任何东西,或者已经实现管理IIS7远程,从自动化的过程在非IIS7盒(使用特定的非本地管理员用户),请让我知道。