9

我需要为我支持的应用程序部署一些版本控制,我可以将站点复制到 c:\inetpub\wwwroot\app_v2,然后从 c:\inetpub\wwwroot\app_v1 切换虚拟目录。

有没有办法从命令行更改 IIS 中虚拟目录的物理路径?

编辑:

我发现在 IIS7 中,您可以使用 appcmd 在此页面上使用此格式设置虚拟目录的物理路径 Change the Physical Path of Virtual Directory Content。我一直在寻找更普遍的东西......

appcmd 设置 vdir /vdir.name:string /physicalPath:string

但是,似乎没有 IIS 6 的等价物。

4

2 回答 2

3

我今天也有同样的问题:“如何使用命令行更改 IIS6 vdir 的路径?”

WMI 脚本是要走的路,所以我想我会发布为此创建的 vb。

要使用它,只需传递 vdir 名称和路径。因此,如果我有一个名为“Web”的 vdir 并想将路径更改为“d:\theNewPath\to\Website”,那么我将在命令提示符下运行以下命令:

updateVDirPath web d:\theNewPath\to\Website

此外,要检查 Vdir 的路径,只需传递 vdir 名称:

updateVDirPath web

这里是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
于 2012-06-22T20:39:44.483 回答