我正在寻找一种方法来更改IIS6中的虚拟目录的物理path。 基本上,这个IIS7调用的IIS6版本
c:\Windows\System32\inetsrv\appcmd set VDIR "Default Web Site/MySite/" "/physicalPath:c:\NewPath"
有没有办法做到这一点,或者我必须删除虚拟目录,并重新创build它?
我今天也有同样的问题:“如何使用命令行更改到IIS6 vdir的path?
我的解决办法是做我自己的vbs。 要使用它只需传递虚拟机名称和path。 因此,如果我有一个名为“Web”的vdir,并且想要将path更改为“d:\ theNewPath \ to \ Website”,那么我会在命令提示行中运行以下命令:
updateVDirPath web d:\theNewPath\to\Website
此外,要检查Vdir的path,只需传递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
你会想为此使用adsutil.vbs。 它应该在c:\ inetpub \ adminscripts \
命令行是:
cscript adsutil.vbs SET W3SVC1/<WebSiteNum>/Root/<Vdirname>/Path "<new physical path>"
只要您安装了IIS6pipe理兼容性组件 (这些组件不是默认安装的,但可以通过“添加/删除Windowsfunction向导”或“服务器pipe理器”工具添加),您仍然可以在IIS7中使用相同的命令。
或者,您可以直接修改定义虚拟文件夹的父文件夹中的web.config文件(或者可能更高的树)。