使用Stop-Website停止网站显然不同于使用IISpipe理器停止网站。
Stop-Website 'Some site' iisreset.exe # site is started again
使用IISpipe理器,复位/重启后状态相同。 我想使用IISpipe理器停止站点会修改某种持久性configuration(registry?)。
任何人都可以告诉我如何使用PowerShell永久停止站点,以便重置/重新启动不会使网站再次联机?
(Stop-WebAppPool具有完全相同的行为。)
约瑟夫的回答非常有道理,但似乎并不奏效。
applicationHost.config站点节点上的属性“serverAutoStart”不会更改。
一种改变的方法是:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='Default Web Site']" -name "serverAutoStart" -value "False"
但这是一口。
另一种方法是:
Set-ItemProperty "IIS:\Sites\Default Web Site" serverAutoStart False
同样有趣的是,这个属性不能在IISpipe理器中直接编辑,你必须进入Configuration Editor来改变它。
是的,在IISpipe理器中启动或停止站点会更改该属性,但这对用户来说并不明显。
让我们试试这个:
$site = Get-Item 'IIS:\sites\Default Web Site' $site.serverAutoStart = $False $site.Stop()
显然, Default Web Site需要被replace。 😉
我没有为此testing实验室设置,所以让我知道它是否适合你。
在IIS PSProvider中有很多选项…运行以下步骤探索一下:
$site = Get-Item 'IIS:\sites\Default Web Site' $site | get-member