2012-03-15 15 views

risposta

5

Come è necessario rimuovere una grande quantità, immagino che vorrete usare qualche forma di script.

IIS 6.0, tramite iisvdir.vbs (article @ MSDN):

Al prompt dei comandi, utilizzare il comando cd per passare alla directory in cui è installato lo script Iisvdir.vbs. Il percorso predefinito per questo file è systemroot/system32/iisvdir.vbs.

Al prompt dei comandi, digitare:

cscript iisvdir.vbs /delete "Sample Web Site" VirtualDirectoryName.

sostituire il nome del sito Web e il nome della directory virtuale a seconda dei casi. Se ci sono spazi nel nome del sito Web, utilizzare le virgolette intorno al nome del sito Web, come mostrato nell'esempio precedente.

IIS 7 utilizzando AppCmd.exe (article @ TechNet):

Per rimuovere una directory virtuale, utilizzare la seguente sintassi:

appcmd delete vdir /vdir.name: string

Il vdir.namestring variabile è il percorso virtuale del virtuale directory.

Ad esempio, per rimuovere una directory virtuale denominata foto dall'applicazione radice di un sito denominato contoso, digitare quanto segue al prompt dei comandi e premere INVIO:

appcmd delete vdir /vdir.name: contoso/photos

Per rimuovere un virtuale directory chiamata foto da un'applicazione denominata marketing in un sito denominato contoso, digitare quanto segue al prompt dei comandi e quindi premere INVIO:

appcmd delete vdir /vdir.name: contoso/marketing/photos

HTH

+0

Impossibile ottenere questi comandi per funzionare, ciò che ha funzionato è stato l'aggiunta di una barra finale. "appcmd delete vdir" Il sito Web predefinito/My_Virtual_Dir/"" funzionerebbe, se si rimuoveva la barra finale non funzionava. – Wotuu

1

È anche possibile scrivere uno script msbuild per eseguire questa operazione e utilizzare il pacchetto di estensione msbuild disponibile here. L'ho usato con successo per fare esattamente quello che dici per 100s di vdir in iis 6 AND in iis 7.5.

È piuttosto semplice e mi ci è voluto più tempo per scrivere il file .proj piuttosto che per capire come farlo.

divertirsi :)

il bersaglio msbuild risultante sarebbe simile come segue

<Target Name="IIS7VirtualDirectories:Delete"> 
    <MSBuild.ExtensionPack.Web.Iis7Application 
     TaskAction="Delete" 
     Website="%(Application.WebsiteName)" 
     Applications="@(Application)" 
     MachineName="$(MachineName)" 
     ContinueOnError="false"/> 

    <MSBuild.ExtensionPack.Web.Iis7Website 
     TaskAction="DeleteVirtualDirectory" 
     Name="%(VirtualDirectory.WebsiteName)" 
     VirtualDirectories="@(VirtualDirectory)" 
     ContinueOnError="false" 
     MachineName="$(MachineName)"/>  
    </Target> 

dove l'applicazione e VirtualDirectory sono definite in un file proj esterna :)

Problemi correlati