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