2010-03-18 1 views
1

Fondamentalement, vous imaginez besoin d'automatiser ces étapes:IIS 6.0: quel est l'équivalent WMI de "Convert Folder To Application"?

  1. Ouvrir Internet Information Services.
  2. Recherchez le site Web, recherchez le dossier, cliquez avec le bouton droit sur le dossier et sélectionnez les propriétés.
  3. Cliquez sur le dossier Répertoire.
  4. Sous Paramètres d'applications, cliquez sur le bouton Créer. L'application est maintenant créée. Cliquez sur OK pour terminer.

(click for a pictoral walkthru)

Mon objectif final est Powershell, mais les réponses qui utilisent JScript ou VB.NET ou quelles que soient bien aussi.

Points supplémentaires si le même code fonctionne avec une application IIS7 exécutée en mode de compatibilité 6.0.

Répondre

0

Vérifiez IIS6 Automation.

Edité ajouter

Comme demandé: here.

+0

J'ai déjà écrit une tonne d'automatisation IIS6, mais je n'ai pas trouvé l'emplacement de cette fonctionnalité particulière. Vous voulez être plus précis? –

2

J'ai utilisé ce VBScript avec succès. YMMV mais au moins c'est un point de départ.

' set a few constants 
const CreateNewApplicationPool = true 
const UseExistingApplicationPool = false 

' Load the Metabase entry if the target directory does exist 
Set IISWebDirObj = GetObject("IIS://" & objServer & "/W3SVC/" & objSiteID & "/Root/" & objApp) 

if Err.Number <> 0 then 
    Err.Clear 
    ' Create the Metabase entry if the target directory does NOT exist 
    Set IISWebDirRootObj = GetObject("IIS://" & objServer & "/W3SVC/" & objSiteID & "/Root") 
    Set IISWebDirObj = IISWebDirRootObj.Create("IISWebDirectory", objApp) 
end if 

' Assign an existing app pool to the target directory 
' Try AppCreate or Appcreate2 to create the app pool at the same time 
' or try using CreateNewApplicationPool for last parameter 
IISWebDirObj.AppCreate3 2, objSvcPool, UseExistingApplicationPool 

' set the name so it doesn't show up as: Default Application 
IISWebDirObj.AppFriendlyName = objSvcPool 
IISWebDirObj.SetInfo 

' refresh the object in memory so we can change the app pool 
IISWebDirObj.GetInfo 
IISWebDirObj.AppPoolId = objSvcPool 
IISWebDirObj.SetInfo 
0

Ce n'est pas exactement ce que vous cherchez: ils ont créé un répertoire virtuel et en ont fait une application. Mais l'approche - à l'aide de ADSI powershell - devrait fonctionner pour IIS 6/7 et vous permettent de transformer un répertoire existant dans une application:

http://arcware.net/creating-iis-applications-with-powershell/

Le AppCreate2 (et SetInfo) appel est ce qui transforme le répertoire virtuel dans une application. Vous pouvez aussi appeler ça dans un répertoire régulier.

Questions connexes