2009-03-19 2 views
8

Ich muss einige Version für die Bereitstellung für die App, die ich unterstütze, wo ich die Site kopieren kann, um c: \ inetpub \ wwwroot \ app_v2 und zu implementieren Wechseln Sie dann das virtuelle Verzeichnis von c: \ inetpub \ wwwroot \ app_v1.physischen Pfad für virtuelles Verzeichnis oder Site in IIS ändern über die Befehlszeile für IIs6 oder IIs7

Gibt es eine Möglichkeit, den physischen Pfad für ein virtuelles Verzeichnis in IIS von der Befehlszeile aus zu ändern?

Edit:

ich, dass Sie den physischen Pfad eines virtuellen Verzeichnisses festlegen können in IIS7 gefunden appcmd in diesem Format auf dieser Seite Change the Physical Path of Virtual Directory Content. Ich war auf der Suche nach etwas universellere ....

appcmd set vdir /vdir.name:string/physicalPath: string

Allerdings tut es scheint ein equivelant für IIS 6.

Antwort

2

Ich hatte die gleiche Frage heute: "Wie sehen Sie den Pfad zu einem IIS6 vdir ändern die Befehlszeile?"

WMI Scripting war der Weg zu gehen, also dachte ich, ich würde die VBS, die ich dafür erstellt habe, posten.

Um es zu verwenden übergeben Sie einfach den vdir Namen und Pfad. Also, wenn ich habe eine vdir namens "Web" und wollte den Pfad ändern, um "d: \ theNewPath \ to \ Website", dann würde ich den folgenden Befehl in der Eingabeaufforderung ausführen:

updateVDirPath web d:\theNewPath\to\Website 

Auch zu überprüfen Sie den Pfad des Vdir, sondern nur die vdir Namen übergeben:

updateVDirPath web 

Hier sind die Inhalte zu 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