[.net] IIS API - Virtuelle Verzeichnisse erstellen?


Answers

Es ist einfacher, es mit VBScript zu tun ..

' This code creates a virtual directory in the default Web Site
' ---------------------------------------------------------------
' From the book "Windows Server Cookbook" by Robbie Allen
' ISBN: 0-596-00633-0
' ---------------------------------------------------------------

' ------ SCRIPT CONFIGURATION ------
strComputer = "rallen-w2k3"
strVdirName = "<VdirName>"  'e.g. employees
strVdirPath = "<Path>"      'e.g. D:\resumes
' ------ END CONFIGURATION ---------
set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1")
set objWebSite = objIIS.GetObject("IISWebVirtualDir","Root")
set objVdir = objWebSite.Create("IISWebVirtualDir",strVdirName)
objVdir.AccessRead = True
objVdir.Path = strVdirPath
objVdir.SetInfo
WScript.Echo "Successfully created virtual directory: " & objVdir.Name
Question

Suchen Sie einfach nach der entsprechenden Dokumentation. Ein Beispiel ist nicht notwendig, würde aber geschätzt.

Wir haben eine Situation, wo wir 100s von virtuellen Verzeichnissen manuell erstellen müssen, und es scheint, als ob dies automatisiert würde, wäre ein guter Weg, den Prozess für jetzt effizienter zu machen.

Vielleicht können wir im nächsten Jahr die Serverumgebung überarbeiten, um etwas vernünftigeres zu ermöglichen, wie das Umschreiben von URLs (leider scheint dies im aktuellen Zyklus der Webanwendung nicht möglich zu sein). Ist es nicht toll, Mistcode zu vererben?

~ William Riley-Land




Das WIX-Installationsprogramm erstellt eine Möglichkeit, dies zu verwalten - Sie würden sie als Teil der Installationsanweisungen definieren. Es macht einige Arbeit, um das ganze Projekt zu konfigurieren, aber danach sollte die Wartung ein Kinderspiel sein ... Hier ist ein Auszug aus dem Tutorial zum Erstellen der virtuellen Verzeichniseinträge ...

6.3 Webverzeichnis

Das WiX-Toolset verfügt über zusätzliche Bibliotheken, mit denen das Installationsprogramm zusätzliche Aufgaben ausführen kann, z. B. das Erstellen eines Webverzeichnisses in IIS. Um diese Erweiterungen verwenden zu können, müssen Sie lediglich mit der entsprechenden WiX-Bibliothek verknüpfen. Der Linker wird automatisch die notwendigen Hilfs-DLLs in das Installationspaket aufnehmen.

Zuerst müssen wir die Website mit den zugehörigen Dateien erstellen:

<Verzeichnis-ID = 'TARGETDIR' Name = 'SourceDir'>
<Verzeichnis-ID = 'ProgramFilesFolder' Name = 'PFiles'>
<Verzeichnis-ID = 'InstallDir' Name = 'Acme'>
<Komponenten-ID = 'default.phpComponent' Guid = 'YOURGUID-5314-4689-83CA-9DB5C04D5742'>
<Datei Id = 'default.htmFile' Name = 'default.htm' LongName = 'default.htm' KeyPath = 'ja' DiskId = '1' Source = 'default.htm' />
</ Komponente>
</ Verzeichnis>
</ Verzeichnis>

Im nächsten Schritt erstellen Sie das virtuelle Verzeichnis:

<Komponenten-ID = 'TestWebVirtualDirComponent' Guid = 'YOURGUID-6304-410E-A808-E3585379EADB'>
<WebVirtualDir Id = 'TestWebVirtualDir' Alias ​​= 'Test' Verzeichnis = 'InstallDir' WebSite 'DefaultWebSite'
<WebApplication-ID = 'TestWebApplication' Name = 'Test' />
</ WebVirtualDir>
</ Komponente>
</ Verzeichnis>

Erstellen Sie schließlich einen Eintrag, um auf die Website zu verweisen:

<WebSite Id = 'DefaultWebSite' Beschreibung = 'Standardwebsite'>
<WebAddress-ID = 'AllUnassigned' Port = '80 '/>
</ WebSite>