2009-03-19 34 views
8

Tôi cần triển khai một số phiên bản để triển khai cho ứng dụng tôi hỗ trợ nơi tôi có thể sao chép trang web để nói c: \ inetpub \ wwwroot \ app_v2 và sau đó chuyển thư mục ảo từ c: \ inetpub \ wwwroot \ app_v1.thay đổi đường dẫn vật lý cho thư mục ảo hoặc trang web trong IIS sử dụng dòng lệnh cho IIs6 hoặc IIs7

Có cách nào để thay đổi đường dẫn vật lý cho thư mục ảo trong IIS từ dòng lệnh không?

Edit:

tôi phát hiện ra rằng trong IIS7 bạn có thể sử dụng appcmd để thiết lập đường dẫn vật lý của một thư mục ảo sử dụng định dạng này trên trang này Change the Physical Path of Virtual Directory Content. Tôi đang tìm kiếm một cái gì đó phổ biến hơn ....

APPCMD thiết vdir /vdir.name:string/physicalPath: string

Tuy nhiên, có không có vẻ là một equivelant cho IIS 6.

Trả lời

2

Tôi có cùng một câu hỏi ngày hôm nay: "làm thế nào để bạn thay đổi đường dẫn đến một vdir IIS6 sử dụng dòng lệnh?"

Kịch bản WMI là cách để đi, vì vậy tôi đã hình dung rằng tôi đã đăng vbs mà tôi đã tạo cho việc này.

Để sử dụng, chỉ cần chuyển tên và đường dẫn vdir. Vì vậy, nếu tôi đã có một vdir gọi là "Web" và muốn thay đổi đường dẫn đến "d: \ theNewPath \ to \ Website", sau đó tôi sẽ chạy lệnh sau tại dấu nhắc lệnh:

updateVDirPath web d:\theNewPath\to\Website 

Ngoài ra, để kiểm tra đường dẫn của vDIR, chỉ cần vượt qua tên vdir:

updateVDirPath web 

Dưới đây là nội dung để 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 
Các vấn đề liên quan