Как изменить физический путь виртуального каталога в IIS6 через командную строку?
Я ищу способ изменить физический путь виртуального каталога в IIS6. По сути, IIS6-версия этого вызова IIS7
c:\Windows\System32\inetsrv\appcmd set VDIR
"Default Web Site/MySite/" "/physicalPath:c:\NewPath"
Есть ли способ сделать это или мне нужно удалить виртуальный каталог и воссоздать его?
3 ответа
У меня был тот же вопрос сегодня: "Как вы измените путь к IIS6 vdir с помощью командной строки?"
Моим решением было сделать мои собственные VBS. Чтобы использовать его, просто передайте имя и путь vdir. Поэтому, если бы у меня был vdir с именем "Web" и я хотел бы изменить путь на "d:\theNewPath\to\Website", я бы запустил в командной строке следующую команду:
updateVDirPath web d:\theNewPath\to\Website
Кроме того, чтобы проверить путь Vdir, просто передайте имя Vdir:
updateVDirPath web
Итак, вот содержимое для обновления VDirPath.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
Вы хотите использовать adsutil.vbs для этого. Должно быть в c:\inetpub\adminscripts\
Командная строка:
cscript adsutil.vbs SET W3SVC1/<WebSiteNum>/Root/<Vdirname>/Path "<new physical path>"
Вы все еще можете использовать ту же команду в IIS7, если вы установили компоненты совместимости управления IIS6 (они не установлены по умолчанию, но могут быть добавлены с помощью мастера добавления / удаления компонентов Windows или средства диспетчера сервера).
Кроме того, вы можете напрямую изменить файл web.config в родительской папке (или, возможно, выше по дереву), где была определена виртуальная папка.