Domanda

Sto cercando di utilizzare adsutil in uno script di installazione di una web app sto installando su IIS 6.0 per impostare il controllo di accesso. C'è un comando che funziona nel modo seguente:

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

Questo è il comando per il sito Web predefinito, come il suo Identifier è 1. Tuttavia, le nuove applicazioni web sono date un identificatore generato. Nel mio caso, l'applicazione ho installato è stato dato l'identificatore di 2.082.238,887 mila, quindi il mio comando dovrebbe assomigliare a questo

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

Tuttavia, so solo questo valore ora di installare in precedenza l'applicazione. Come faccio a ottenere questo ID durante una nuova installazione? Ogni esempio che ho visto per adsutil presuppone che si sta lavorando con il sito web di default, e quindi un ID di 1.

Ho bisogno del mio script di installazione per installare l'app, ottenere il suo identificativo, e quindi utilizzarlo per impostare le autorizzazioni tramite adsutil.

È stato utile?

Soluzione

Questo script consente di fornire il nome del sito come parametro e itera sui siti web fino a quando non corrisponde al nome del sito che fornisci. Ho incluso il codice per aggiornare i AuthFlags. Questo può essere eseguito tramite 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top