如何使用PowerShell在IIS中停止和启动各个网站?

时间:2010-04-25 22:06:25

标签: windows iis powershell

我在Windows 7开发计算机上的IIS7中配置了多个站点,以便在同一端口上运行,并且通常一次只能运行一个,具体取决于我正在处理的内容。我希望能够从PowerShell启动和停止我的开发站点,而不是打开IIS管理器。有没有人有足够的资源指出我正确的方向或已经完成这个的脚本?

4 个答案:

答案 0 :(得分:85)

仅供将来快速参考,命令是:

Import-Module WebAdministration
Stop-WebSite 'Default Web Site'
Start-WebSite 'Default Web Site'

答案 1 :(得分:15)

根据Keith的回答,您可以使用Invoke-Command远程执行此操作。

Import-Module WebAdministration
$siteName = "Default Web Site"
$serverName = "name"
$block = {Stop-WebSite $args[0]; Start-WebSite $args[0]};  
$session = New-PSSession -ComputerName $serverName
Invoke-Command -Session $session -ScriptBlock $block -ArgumentList $siteName 

答案 2 :(得分:3)

要访问系统模块,需要像以下一样运行Powershell:

[path]\powershell.exe -NoExit -ImportSystemModules

我在iis forum上找到了上述内容。

答案 3 :(得分:2)

我发现以下内容可以阻止远程服务器上的各个网站工作:

Invoke-Command -Computername $servername -Scriptblock { 
    (Import-Module WebAdministration); 
    Stop-Website -Name "WebsiteName"; 
    Stop-Website -Name "AnotherWebsiteName"
}

Import-Module

中放入()之前,我遇到了一些错误