2008-11-18 9 views
6

मैं एडी से पूछता हूं और सभी आईआईएस साइट्स और उनकी आभासी निर्देशिकाएं पा सकता हूं, अब मुझे उन होम निर्देशिकाओं को अपडेट करने और परिवर्तनों को सहेजने में सक्षम होना चाहिए।आईआईएस साइट बदलें होम निर्देशिका w/Powershell

निर्देशिका प्रविष्टि लाने के बाद मैं $site.Path का उपयोग कर साइट पथ प्रदर्शित कर सकता हूं, हालांकि सेटिंग में इसका कोई प्रभाव नहीं प्रतीत होता है। यह वास्तविक संग्रहीत पथ कभी नहीं बदलता है।

मैंने $site.Path = <new path> और $site.Put("Path", <new path>) को आजमाया है, लेकिन न ही ये संग्रहीत पथ को प्रभावित कर रहे हैं।

$site = $iis.psbase.children | 
     where {$_.keyType -eq "iiswebserver"} | 
     where {$_.psbase.properties.servercomment -eq $siteConfig.name }; 

    $s = [ADSI]($site.psbase.path + "/ROOT"); 
    $s.Path 
    # $s.Path = $siteConfig.path 
    # $s.Put("Path", $siteConfig.path) 
    $s.psbase.CommitChanges() 

उत्तर

1

ठीक है, मैं इस कोशिश की और यह काम करने लगता है:

$s.psbase.properties.path[0] = $siteConfig.path 
    $s.psbase.CommitChanges() 

इस से निपटने का एक बेहतर क्लीनर तरीका है?

+0

मैं ऐसा नहीं सोचता। क्वेस्ट एडी cmdlets (जो मुफ़्त हैं) के साथ एक बेहतर तरीका हो सकता है, लेकिन इसे क्लीनर बनाने के लिए, आप इसे एक फ़ंक्शन में लपेट सकते हैं। –

12
Import-Module WebAdministration 
Set-ItemProperty 'IIS:\Sites\Default Web Site\' -name physicalPath -value $siteConfig.path 

http://technet.microsoft.com/en-us/library/ee909471(WS.10).aspx

+0

यह नहीं कि यह फ़ाइलों को स्थानांतरित नहीं करेगा। आपको इसे किसी अन्य कमांड में करना है। – jpmc26

संबंधित मुद्दे