前回の記事で、.NET Frameworkのアセンブリを使用して、IISを管理する方法を紹介しました。
下記コードで、ServerMangerクラスを使用しIISを操作できることは、前回説明したとおりです。
[void][System.Reflection.Assembly]::LoadFrom("C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll") $IIS = New-Object Microsoft.Web.Administration.ServerManager Foreach ( $site in $IIS.Sites ) { $site.Name }
上記で取得した $siteにはStateというプロパティがあります。
このプロパティには、サイトが開始されているかどうかの情報が格納されており、下記例のようにして開始状態を取得することが可能になります。
[void][System.Reflection.Assembly]::LoadFrom("C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll") $IIS = New-Object Microsoft.Web.Administration.ServerManager Foreach ( $site in $IIS.Sites ) { ( $site.Name + ":" + $site.State ) }
サイトの開始状態が確認することができれば、サイトを停止する/サイトを開始するといった操作に利用することができるので、是非活用してみてください。
コメント
[…] About Author « [IIS] PowerShellでIISを管理する(2) サイトの開始状態を確認する […]