Question

Je suis en train d'utiliser adsutil dans un script d'installation d'une application web j'installe sur IIS 6.0 pour définir le contrôle d'accès. Il y a une commande qui fonctionne comme suit:

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

Ceci est la commande pour le site Web par défaut, comme identificateur est 1. Cependant, les nouvelles applications Web sont données un identifiant généré. Dans mon cas, l'application que j'ai installé a été donné l'identifiant de 2.082.238.887, donc ma commande devrait ressembler à ceci

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

Cependant, je sais que cette valeur maintenant d'installer l'application précédemment. Comment puis-je obtenir cet ID lors d'une nouvelle installation? Chaque exemple, je l'ai vu pour adsutil du principe que vous travaillez avec le site Web par défaut, et donc un identifiant de 1.

Je besoin de mon script d'installation pour installer l'application, obtenir son identificateur, puis l'utiliser pour définir des autorisations via adsutil.

Était-ce utile?

La solution

Ce script vous permet de fournir le nom du site en tant que paramètre et itère sur les sites Web jusqu'à ce qu'il correspond au nom du site que vous fournissez. J'ai inclus le code pour mettre à jour les AuthFlags. Cela peut être exécuté 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top