2012年12月4日火曜日

◆IISのサイトIDを取得する

IISのアクセスログは以下のようなパスに出力されている。
%SystemDrive%\inetpub\logs\LogFiles\W3SVCn (n はサイト ID)
実際にはこんな感じ
image

なので、サーバーを自動で巡ってログ収集なんてなると非常に具合が悪い。
そこで、サイト名からサイトIDを求めてみた。(要管理者権限)

001
002
003
004
005
006

$siteName = "SharePoint - 80"
$iis =
 
 
New-Object system.DirectoryServices.DirectoryEntry("IIS://localhost/W3SVC")
$siteID = $iis.children | ?{$_.schemaClassName -eq "IIsWebServer"} |
 
 
?{$_.serverComment -eq $siteName} | select -expand name
"サイト名:$siteName、サイトID:$siteID"

image

3 件のコメント:

  1. コメント欄でご連絡という形で失礼します。
    今年もPowerShell Advent Calendarを開催しております。もしよろしければ、ご参加いただけると大変うれしいです。ご検討いただければ幸いです。
    http://atnd.org/events/34319

    返信削除
  2. お誘いありがとうございます。
    イベント自体はチェックしていたのですが、ちょっと立て込んでいたため躊躇していましたが、どうにか参加できそうですので何かしら書いてみようと思います。

    返信削除
  3. ご参加ありがとうございました。
    ここのコメント欄、承認制ではなくなっていたとは知らず、重ねてすみませんでした。

    返信削除