Pregunta

Estoy tratando de utilizar adsutil en un script de instalación de una aplicación web Estoy instalando en IIS 6.0 para establecer el control de acceso. Hay un comando que funciona de la siguiente manera:

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

Este es el comando para el sitio web por defecto, como su identificador es 1. Sin embargo, las nuevas aplicaciones web se les da un identificador generado. En mi caso, la aplicación que he instalado se le dio el Identificador de 2082238887, por lo que mi comando debería tener este aspecto

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

Sin embargo, sólo sé este valor ahora de instalar previamente la aplicación. ¿Cómo puedo obtener esta identificación durante una instalación nueva? Todos los ejemplos que he visto en adsutil supone que está trabajando con el sitio web por defecto, y por lo tanto un ID de 1.

Necesito mi script de instalación para instalar la aplicación, obtener su identificador, y luego usarlo para establecer los permisos a través de adsutil.

¿Fue útil?

Solución

Este script le permite proporcionar el nombre del sitio como parámetro y itera a través de los sitios web hasta que coincida con el nombre del sitio que proporcione. He incluido el código para actualizar los AuthFlags. Esto se puede ejecutar a través de 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top