I need to implement some versioning for deployment for the app I support where I can copy the site to say c:\inetpub\wwwroot\app_v2 and then switch the virtual directory from c:\inetpub\wwwroot\app_v1.
Is there a way to change the physical path for a virtual directory in IIS from the command line?
Edit:
i found that in IIS7 you can use appcmd to set the physical path of a virtual directory using this format on this page Change the Physical Path of Virtual Directory Content . I was looking for something more universal....
appcmd set vdir /vdir.name:string /physicalPath:string
However, there doesnt seem to be an equivelant for IIS 6.
I had the same question today: "how do you change the path to an IIS6 vdir using the command line?"
WMI scripting was the way to go, so i figured i'd post the vbs that i created for this.
To use it just pass the vdir name and path. So if I had a vdir called "Web" and wanted to change the path to "d:\theNewPath\to\Website", then I would run the following command in the command prompt:
updateVDirPath web d:\theNewPath\to\Website
Also, to check the path of the Vdir, just pass the vdir name:
updateVDirPath web
Here are the contents to 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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.