문제

IIS 6.0에 설치중인 웹 앱의 설치 스크립트에서 Adsutil을 사용하여 액세스 컨트롤을 설정하려고합니다. 다음과 같이 작동하는 명령이 있습니다.

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