【问题标题】:Stop default web site by powershell通过powershell停止默认网站
【发布时间】:2011-07-07 19:54:01
【问题描述】:

我通过 powershell 停止了默认网站并且它已停止。但我发现它在重新启动后开始。

如果我在 IIS7 管理器中手动停止它,它会在重启机器后停止。

看来通过powershell停止网站效率不高。

有人知道吗?

操作系统:Windows 2008 R2 SP1 IIS:7

【问题讨论】:

  • Keith Hill 对这个问题有很好的看法。 Powershell 仅使用停止功能将网站的状态更改为停止,但它将在重新启动或 iisreset 后启动。现在的问题是如何在Powershell中将网站的serverAutoStart属性更改为false。

标签: iis-7 powershell


【解决方案1】:

当前状态和“启动”状态是两个不同的可控实体,就像它们在 IIS 管理器 GUI 中一样。将启动状态设置为 Manual 或 Disabled,如下所示:

Set-Service w3svc -StartupType Manual

更新:如果你只想影响一个在几个站点上的启动,那么试试这个:

PS> ipmo WebAdministration
PS> Get-ItemProperty 'IIS:\Sites\Default Web Site' ServerAutoStart


PSPath                      : WebAdministration::\\HILLR1\Sites\Default Web Site
PSParentPath                : WebAdministration::\\HILLR1\Sites
PSChildName                 : Default Web Site
PSDrive                     : IIS
PSProvider                  : WebAdministration
IsInheritedFromDefaultValue : False
IsProtected                 : False
Name                        : serverAutoStart
TypeName                    : System.Boolean
Schema                      : Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema
Value                       : True
IsExtended                  : False

PS> Set-ItemProperty 'IIS:\Sites\Default Web Site' ServerAutoStart False

【讨论】:

  • 语法应该是 Set-Service w3svc -StartupType manual。但这会阻止在 powershell 中启动网站。
  • 谢谢。手指在打字,而大脑显然在忙于其他事情。 :-)
  • 请注意@Xenophane 的回答:属性名称“serverAutoStart”区分大小写。我刚刚在 Server 2016 上进行了尝试,但直到我找到了正确的案例,它才起作用。
【解决方案2】:

如果您尝试在 Server 2012R2 上执行此操作,则 ServerAutoStart 为 serverAutoStart(注意 serverAutoStart 中的小写“s”

区分大小写万岁:)

【讨论】:

    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2012-01-25
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多