web-dev-qa-db-ja.com

PowerShellを使用してIISで個々のWebサイトを停止および開始するにはどうすればよいですか?

Windows 7開発マシンのIIS7で同じポートで実行するように構成された複数のサイトがあり、通常は作業対象に応じて一度に1つだけ実行します。 IISマネージャーを開くのではなく、PowerShellから開発サイトを開始および停止できるようにしたいと考えています。これを達成しますか?

49
Joey Green

すぐに参照できるように、コマンドは次のとおりです。

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

キースの答えに加えて、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

システムモジュールにアクセスするには、Powershellを次のように実行する必要があります。

[path]\powershell.exe -NoExit -ImportSystemModules

これで上記を見つけました iisフォーラム

3
Patrick S.

リモートサーバー上の個々のWebサイトを停止するには、次のようにする必要があります。

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

Import-Module()に入れられるまで、上記のエラーがいくつかありました。

2
Russ