2009-03-19 179 views
8

Necesito implementar algunas versiones para la implementación de la aplicación que soporto donde puedo copiar el sitio para decir c: \ inetpub \ wwwroot \ app_v2 y luego cambie el directorio virtual desde c: \ inetpub \ wwwroot \ app_v1.cambiar la ruta física para el directorio virtual o el sitio en IIS usando la línea de comando para IIs6 o IIs7

¿Hay alguna forma de cambiar la ruta física de un directorio virtual en IIS desde la línea de comandos?

Editar:

me encontré con que en IIS7 puede utilizar appcmd para establecer la ruta física de un directorio virtual mediante este formato en esta página Change the Physical Path of Virtual Directory Content. Yo estaba buscando algo más universal ....

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

Sin embargo, tampoco parece ser un equivelant para IIS 6.

Respuesta

2

que tenían la misma pregunta hoy: "¿cómo cambiar la ruta de acceso a un vdir IIS6 usando la línea de comandos?"

WMI scripting era el camino a seguir, así que pensé en publicar los vbs que creé para esto.

Para usarlo simplemente pase el nombre y la ruta del vdir. Así que si tuviera una vdir llamada "Web" y quería cambiar la ruta de acceso "d: \ theNewPath \ a \ Sitio Web", entonces yo ejecute el siguiente comando en el símbolo del sistema:

updateVDirPath web d:\theNewPath\to\Website 

Además, para comprobar la ruta de la vdir, sólo tiene que pasar el nombre vdir:

updateVDirPath web 

Estos son los contenidos 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 
Cuestiones relacionadas