Подтвердить что ты не робот

Как я могу остановить и запустить отдельные сайты в IIS с помощью PowerShell?

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

4b9b3361

Ответ 1

Просто для быстрой справочной информации команды:

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

Ответ 2

Добавляя к 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 

Ответ 3

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

[path]\powershell.exe -NoExit -ImportSystemModules

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

Ответ 4

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

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

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