Как я могу остановить и запустить отдельные сайты в IIS с помощью PowerShell? - PullRequest
47 голосов
/ 26 апреля 2010

У меня есть несколько сайтов, настроенных в IIS7 на моей машине для разработки под Windows 7, чтобы они работали на одном и том же порту и обычно работали только по одному за раз в зависимости от того, над чем я работаю. Я хотел бы иметь возможность запускать и останавливать свои сайты разработки из PowerShell вместо открытия диспетчера IIS. У кого-нибудь есть хороший ресурс, чтобы указать мне правильное направление или сценарий, который уже выполняет это?

Ответы [ 4 ]

85 голосов
/ 26 апреля 2010

Просто для краткого справочника в будущем, команды:

Import-Module WebAdministration
Stop-WebSite 'Default Web Site'
Start-WebSite 'Default Web Site'
15 голосов
/ 09 апреля 2015

Добавив к ответу Кейта, вы можете выполнить это удаленно, используя 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 
3 голосов
/ 20 июня 2012

Чтобы получить доступ к системным модулям, необходимо запустить Powershell следующим образом:

[path]\powershell.exe -NoExit -ImportSystemModules

Я нашел выше на этом форуме iis .

2 голосов
/ 09 октября 2017

Я обнаружил, что для остановки работы отдельных веб-сайтов на удаленном сервере:

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

У меня были некоторые из вышеперечисленных ошибок, пока Import-Module не было введено в ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...