我可以查询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()
Run Code Online (Sandbox Code Playgroud)
Gle*_*lar 20
Import-Module WebAdministration
Set-ItemProperty 'IIS:\Sites\Default Web Site\' -name physicalPath -value $siteConfig.path
Run Code Online (Sandbox Code Playgroud)
http://technet.microsoft.com/en-us/library/ee909471(WS.10).aspx
好的,我尝试了这个,它似乎有效:
$s.psbase.properties.path[0] = $siteConfig.path
$s.psbase.CommitChanges()
Run Code Online (Sandbox Code Playgroud)
有没有更好更清洁的方法来处理这个问题?