2009-03-19 36 views
8

Devo implementare alcune versioni per l'implementazione per l'app che supporto dove posso copiare il sito per dire c: \ inetpub \ wwwroot \ app_v2 e quindi cambia la directory virtuale da c: \ inetpub \ wwwroot \ app_v1.cambia percorso fisico per la directory virtuale o il sito in IIS utilizzando la riga di comando per IIs6 o IIs7

C'è un modo per modificare il percorso fisico per una directory virtuale in IIS dalla riga di comando?

Edit:

ho scoperto che in IIS7 è possibile utilizzare appcmd per impostare il percorso fisico di una directory virtuale utilizzando questo formato in questa pagina Change the Physical Path of Virtual Directory Content. Ero alla ricerca di qualcosa di più universale ....

appcmd set vdir /vdir.name:string/physicalPath: stringa

Tuttavia, ci ha colpiti particolarmente sembrano essere un equivelant per IIS 6.

risposta

2

ho avuto la stessa domanda oggi: "come si fa a cambiare il percorso di un vdir IIS6 utilizzando la riga di comando?"

Lo scripting WMI era la strada da percorrere, quindi ho pensato di pubblicare le vbs che ho creato per questo.

Per utilizzarlo basta passare il nome e il percorso di vdir. Quindi, se ho avuto un vdir chiamato "Web" e ha voluto modificare il percorso "D: \ theNewPath \ a \ sito web", quindi vorrei eseguire il seguente comando nel prompt dei comandi:

updateVDirPath web d:\theNewPath\to\Website 

Inoltre, per controllare il percorso del vdir, basta passare il nome vdir:

updateVDirPath web 

Qui ci sono i contenuti a updateVDirPath.vbs

If WScript.Arguments.Count = 0 or WScript.Arguments.Count > 2 Then 
    WScript.Echo "To check the vDirs path, call updateVDirPath <vDir>" & vbCrLf & "To update the vDir's path, call updateVDirPath <vDir> <newPath>" 
Else 
    set providerObj = GetObject("winmgmts://localhost/root/MicrosoftIISv2") 
    set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT/" & WScript.Arguments(0) & "'") 

    If WScript.Arguments.Count = 1 Then 
     WScript.Echo "Current path is: " & IIsWebVirtualDirSettingObj.Path 
    Else 
     IIsWebVirtualDirSettingObj.Path = WScript.Arguments(1) 
     IIsWebVirtualDirSettingObj.Put_() 
    End If 
End If 
Problemi correlati