it-swarm-pt.tech

Como posso parar e iniciar sites individuais em IIS usando o PowerShell?

Eu tenho vários sites configurados no IIS7 na minha máquina de desenvolvimento do Windows 7 para serem executados na mesma porta e, geralmente, são executados apenas um por vez, dependendo do que estou trabalhando. Eu gostaria de poder iniciar e interromper meus sites de desenvolvimento no PowerShell em vez de ter o gerenciador IIS aberto. Alguém tem um bom recurso para me indicar a direção certa ou um script que já consegue isso?

49
Joey Green

Apenas para referência rápida futura, os comandos são:

Import-Module WebAdministration
Stop-WebSite 'Default Web Site'
Start-WebSite 'Default Web Site'
87
Keith Hill

Adicionando à resposta de Keith, você pode executar isso remotamente usando 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 
15
Tim

Para obter acesso aos módulos do sistema, o Powershell precisa ser executado assim:

[path]\powershell.exe -NoExit -ImportSystemModules

Eu encontrei o acima neste fórum iis .

3
Patrick S.

Descobri que o seguinte para interromper o funcionamento de sites individuais em um servidor remoto:

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

Eu tive alguns dos erros acima até Import-Module foi colocado em ()

2
Russ