我想在一个Web应用程序我安装上的安装脚本使用ADSUTIL IIS 6.0设置访问控制。存在这样的工作原理如下命令:

adsutil.vbs set w3svc/1/root/Authflags 4

这是默认网站上的命令,作为其标识符为1。然而,新的网络应用程序被给予生成的标识符。就我而言,我安装了应用程序被赋予了2082238887的标识,所以我的命令看起来应该是这样

adsutil.vbs set w3svc/2082238887/root/Authflags 4

然而,我现在只从先前安装的应用程序知道这个值。如何将一个新的安装过程中得到这个ID?我已经看到ADSUTIL每示例假定与默认网站工作,因此为1的ID

我需要我的安装脚本来安装应用程序,获得其标识符,然后用它通过ADSUTIL设置权限。

有帮助吗?

解决方案

该脚本可以让您提供的网站名称在网站的参数和迭代,直到您提供的网站名称相匹配。我包括代码更新authflags。这可以通过的Cscript.exe运行。

Dim Siteobj
Dim Site
Dim SiteName
Dim SiteId
Dim SiteLocation

SiteName=WScript.Arguments( 0 )

Set SiteObj = GetObject("IIS://localhost/W3SVC")

for each Site in Siteobj

  if Site.keytype="IIsWebServer" Then  

    if Site.ServerComment = SiteName Then

      SiteId=Site.Name     

      SiteLocation = "IIS://LocalHost/w3svc/" & SiteId
      SiteLocation = SiteLocation & "/root"

      Dim SiteObj1
      Set SiteObj1  = GetObject(SiteLocation)
      SiteObj1.authflags=4
      SiteObj1.SetInfo

    End if    
  End if 
Next
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top