2009-12-08 5 views
0

J'essaie d'utiliser adsutil dans un script d'installation d'une application Web que j'installe sur IIS 6.0 pour définir le contrôle d'accès. Il y a une commande qui fonctionne comme suit:Obtenir l'identificateur du site Web IIS par programme

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 pourrais-je obtenir cette identification lors d'une nouvelle installation? Chaque exemple que j'ai vu pour adsutil suppose que vous travaillez avec le site web par défaut, et donc un ID de 1.

J'ai besoin de mon script d'installation pour installer l'application, obtenir son identifiant, puis l'utiliser pour définir les autorisations via adsutil.

Répondre

2

Ce script vous permet de fournir le nom du site en tant que paramètre et de parcourir les sites Web jusqu'à ce qu'il corresponde 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 
Questions connexes