0

我正在尝试在我在 IIS 6.0 上安装的 Web 应用程序的安装脚本中使用 adsutil 来设置访问控制。有一个命令如下:

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

这是默认网站的命令,因为它的标识符是 1。但是,新的 Web 应用程序会被赋予一个生成的标识符。就我而言,我安装的应用程序的标识符为 2082238887,所以我的命令应该如下所示

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

但是,我现在只从之前安装应用程序中知道这个值。在全新安装期间如何获得此 ID?我看到的每个 adsutil 示例都假定您使用的是默认网站,因此 ID 为 1。

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

4

1 回答 1

2

此脚本允许您提供站点名称作为参数并遍历网站,直到它与您提供的站点名称匹配。我包含了更新 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
于 2009-12-09T16:12:45.503 回答