[IIS] PowerShellでIISを管理する(1)

[ad code=2 align=left]
PowerShellからIISを管理する方法はいくつかあるのですが、.NETクラスライブラリを使用する方法を紹介します。

IISのアセンブリは、C:\Windows\System32\inetsrv ディレクトリにあるMicrosoft.Web.Administration.dll です。

まずは、Microsoft.Web.Administration.dllを[System.Reflection.Assembly]::LoadFromメソッドで読み込みます。

[void][System.Reflection.Assembly]::LoadFrom("C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll")

[System.Reflection.Assembly]::LoadFromメソッドについては、過去記事「.NETアセンブリをロードするには(PowerShell 入門)」を参照ください。

次に、New-Objectコマンドレットを使用してServerManagerのインスタンスを作成します。

$IIS = New-Object Microsoft.Web.Administration.ServerManager

以上でSeverManagerクラス内のメソッドなどを利用できるようになります。

最後に、サイトの一覧を取得する例を紹介します。

サイトはSitesプロパティ(コレクション)に格納されており、Foreachで取り出すことができます。

サイト名はNameプロパティで取得することができます。

Foreach ( $site in $IIS.Sites )
{
    $site.Name
}

[IIS] PowerShellでIISを管理する(1)” への1件のコメント

  1. ピンバック: [IIS] PowerShellでIISを管理する(2) サイトの開始状態を確認する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>