我可以查询AD并找到所有IIS站点及其虚拟目录,现在我需要能够更新这些主目录并保存更改。
获取目录条目后,我可以使用$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()
答案 0 :(得分:18)
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
答案 1 :(得分:1)
好的,我试过这个似乎有效:
$s.psbase.properties.path[0] = $siteConfig.path
$s.psbase.CommitChanges()
有更好的清洁方式来处理这个吗?