[IIS] PowerShellでIISを管理する(2) サイトを開始/停止する

前回の記事では、サイトの開始状態を確認する方法について説明しました。

今回は、サイトを開始/停止する方法について紹介します。

.NET FrameworkのServerManagerクラスを利用する方法は、これまでに紹介したとおり、下記手順にて行います。

[void][System.Reflection.Assembly]::LoadFrom("C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll")
$IIS = New-Object Microsoft.Web.Administration.ServerManager

変数$IISにはSitesというプロパティがあり、IISを開始するStartメソッドとIISを停止するStopメソッドが備わっています。

Sitesプロパティは、コレクションであり、IISで管理しているサイトを参照することができます。

このことを利用して、サイトを開始するには

$IIS.Sites[0].Start()

サイトを停止するには

$IIS.Sites[0].Stop()

のように記述します。

前回の記事で紹介した Sitesプロパティが持つStateメソッドを利用すれば、サイトが停止されている状態なら開始をする、サイトが開始されている状態なら停止する、といったように状態を確認した上で開始と停止を行うことができます。

下記はサイトの状態を確認して、開始するコード例です。

if ( $IIS.Sites[0].State -eq "Stopped" )
{
  $IIS.Sites[0].Start()
}

コメント

タイトルとURLをコピーしました