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

q9yhzks0  于 2023-03-02  发布在  Shell
关注(0)|答案(5)|浏览(136)

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

ssm49v7z

ssm49v7z1#

仅供将来快速参考,这些命令包括:

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

5t7ly7z52#

对于基思的回答,您可以使用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
44u64gxh

44u64gxh3#

要访问系统模块,Powershell需要按如下方式运行:

[path]\powershell.exe -NoExit -ImportSystemModules

我在这个iis forum上找到了上面的内容。

cnh2zyt3

cnh2zyt34#

我发现以下几种方法可以停止个别网站在远程服务器上的工作:

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

在将Import-Module放入()之前,我遇到了上面的一些错误

vfwfrxfs

vfwfrxfs5#

更新IIS 10.0及以上版本(2017及以上版本)

您可以将较新的IISAdministration模块与Start-IISSite cmdlet一起使用,如下所示:

Import-Module IISAdministration
Start-IISSite -Name "Default Web Site"

或者通过使用Get-IISSite,您可以像这样启动/停止:

Import-Module IISAdministration
$site = Get-IISSite "Default Web Site"
$site.Start()
$site.Stop()

相关问题