Frage

Ich versuche adsutil in einem Installationsskript von einem Web-App zu verwenden, auf das mir die Installation von IIS 6.0 Zugriffskontrolle einstellen. Es ist ein Befehl, der wie folgt funktioniert:

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

Dies ist der Befehl für die Standard-Website, wie der Identifier ist 1. Aber auch neue Web-Anwendungen einen generierten Identifier angegeben. In meinem Fall wurde die App ich den Identifier von 2082238887 gegeben installiert, so dass mein Befehl soll wie folgt aussehen

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

Ich weiß jedoch, erst jetzt diesen Wert von bisher die App zu installieren. Wie würde ich diese ID bei einer Neuinstallation erhalten? Jedes Beispiel, das ich für adsutil gesehen habe vorausgesetzt, dass Sie mit der Standard-Website arbeiten, und daher eine ID von 1.

Ich brauche mein Skript installieren Sie die App zu installieren, bekommen seine Identifier, und dann verwenden, um Berechtigungen über adsutil einzustellen.

War es hilfreich?

Lösung

Dieses Skript können Sie den Site-Namen als Parameter und iteriert über die Web-Seiten zur Verfügung stellen, bis sie den Site-Namen entspricht, die Sie zur Verfügung stellen. Ich enthalten den Code der AuthFlags zu aktualisieren. Dies kann über cscript.exe ausgeführt werden.

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top