题
我想在一个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
不隶属于 StackOverflow