2012年6月11日月曜日

◆svchostプロセスのサービスを纏めて表示する

タスクマネージャでプロセスタブを見ていると「svchost」なるプロセスをたくさん見かける。

image

説明を見ると「Windowsサービスのホストプロセス」とある。
即ち、これらのプロセスが各種Windowsのサービスをホストしているという事になる。

それぞれのプロセスがどんなサービスをホストしているかは、該当プロセスを右クリックして表示されたコンテキストメニューから「サービスの表示」を選んであげると以下の様に表示される。
image

image

これを見ると、1つのプロセスが複数のサービスをホストしていることが判る。

 

次に、これらを纏めてPowerShellで表示させてみたのが以下のスクリプトである。

001
002
003
004
005

Get-WmiObject -Class Win32_Service | sort ProcessID | %{
 
if((Get-Process -Id $_.ProcessID).ProcessName -eq "svchost"
){
   
Write-Host $_.ProcessID $_.displayname 
  }
}

「Get-Service」コマンドレットではプロセスIDが見当たらなかったので、「Win32_Service」を使っている。
それ以外は特別なところは無い。

image

0 件のコメント:

コメントを投稿