我正在尝试在我在IIS 6.0上安装的Web应用程序的安装脚本中使用adsutil来设置访问控制。有一个命令如下:
adsutil.vbs set w3svc/1/root/Authflags 4
这是默认网站的命令,因为其标识符为1.但是,新的网络应用程序将获得生成的标识符。在我的情况下,我安装的应用程序被赋予标识符2082238887,所以我的命令应该是这样的
adsutil.vbs set w3svc/2082238887/root/Authflags 4
但是,我现在只知道以前安装应用程序的这个值。在全新安装过程中如何获取此ID?我在adsutil上看到的每个例子都假设您正在使用默认网站,因此ID为1.
我需要安装脚本来安装应用,获取其标识符,然后使用它通过adsutil设置权限。
答案 0 :(得分: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