使用PowerShell永久停止IIS网站

使用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