изменение физического пути для виртуального каталога или сайта в IIS с помощью командной строки для IIs6 или IIs7

Мне нужно реализовать некоторые версии для развертывания для приложения, которое я поддерживаю, где я могу скопировать сайт, чтобы сказать c:inetpubwwwrootapp_v2 а затем переключите виртуальный каталог из c:inetpubwwwrootapp_v1 - ...

есть ли способ изменить физический путь для виртуального каталога в IIS из командной строки?

Edit:

Я обнаружил, что в IIS7 вы можете использовать appcmd для установки физического пути виртуального каталога, используя этот формат на этой странице изменить физический путь содержимого виртуального каталога. Я искал что-то более универсальное....

appcmd установить vdir / vdir.имя: string / physicalPath: string

, не похоже, чтобы быть эквивалент для IIS 6.

2 ответов



сегодня у меня был тот же вопрос: "как изменить путь к IIS6 vdir с помощью командной строки?"

сценарии WMI - это путь, поэтому я решил опубликовать vbs, которые я создал для этого.

чтобы использовать его, просто передайте имя vdir и путь. Поэтому, если бы у меня был vdir под названием " Web " и я хотел изменить путь на "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