Pergunta

Eu estou tentando usar adsutil em um script de um aplicativo web Estou instalando no IIS 6.0 Para definir o controle de acesso de instalação. Há um comando que funciona da seguinte forma:

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

Este é o comando para o site padrão, como seu identificador é 1. No entanto, novas aplicações web são dadas um identificador gerado. No meu caso, o aplicativo que eu instalei foi dado o Identificador de 2082238887, por isso o meu comando deve olhar como este

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

No entanto, eu só sei que este valor agora de instalar previamente o aplicativo. Como eu poderia obter este ID durante uma nova instalação? Cada exemplo que eu tenho visto por adsutil assume que você está trabalhando com o web site padrão e, portanto, uma ID de 1.

Eu preciso do meu script de instalação para instalar o aplicativo, obter o seu identificador, e depois usá-lo para definir permissões via adsutil.

Foi útil?

Solução

Este script permite que você forneça o nome do site como um parâmetro e repete ao longo dos sites até que ele corresponda o nome do site que você fornece. Eu incluí o código para atualizar os AuthFlags. Isso pode ser executado via 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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top