プログラムでIIS Webサイトの識別子を取得します。
-
18-09-2019 - |
質問
私は、アクセス制御を設定するには、IIS 6.0にインストールしていたWebアプリケーションのインストールスクリプトでADSUTILを使用しようとしています。次のように動作コマンドがあります:
adsutil.vbs set w3svc/1/root/Authflags 4
その識別子は、1。しかし、新しいWebアプリケーションが生成された識別子を与えられているように、これは、既定のWebサイトのためのコマンドです。私の場合、私はインストールアプリは2082238887の識別子を与えられたので、私のコマンドは次のようになります。
adsutil.vbs set w3svc/2082238887/root/Authflags 4
しかし、私は以前のアプリをインストールしたから、今この値を知っています。どのように私は、新規インストール時にこのIDを取得するのでしょうか?私はADSUTILのために見てきたすべての例では、デフォルトのWebサイトでの作業、および想定されているので、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