Get-Service コマンドレットの使用

サービス情報の表示

これは驚くかもしれませんが、万が一の場合に備えて座ることをお勧めします。Get-Service コマンドレットは、コンピュータにインストールされているサービスに関する情報を取得するように設計されています (また、Windows PowerShell は複雑すぎると言う人のことも考えて設計されています)。コンピュータにインストールされているすべてのサービスに関する情報が必要ですか。それでは、パラメータを使用せずに Get-Service を使用します。

Get-Service

返される情報の種類を紹介します。

Status   Name               DisplayName
------   ----               -----------
Running  AdobeActiveFile... Adobe Active File Monitor V4
Stopped  Alerter            Alerter
Running  ALG                Application Layer Gateway Service
Stopped  AppMgmt            Application Management
Running  ASChannel          Local Communication Channel

さらに、Windows PowerShell のフィルタ機能を活用して、コンピュータにインストールされているサービスのサブセットのみを取得することもできます。たとえば、次のコマンドを使用すると、Get-Service が返すデータを取得し、Where-Object コマンドレット経由でパイプ処理します。次に、Where-Object は、停止されたサービス以外のすべてを除外します。

Get-Service | Where-Object {$_.status -eq "stopped"}

コマンドの処理時に、$_. はパイプラインを通って渡されたオブジェクト (つまり、サービスとプロパティのコレクション) を表します。一方、status は、単にフィルタ処理するサービスのプロパティ名です。また、ここでは停止中のサービスにのみ関心があるため、構文 -eq "stopped" を使用します。実行中のサービスにのみ関心がある場合はどうしますか。この場合、次のようなコマンドを使用します。

Get-Service | Where-Object {$_.status -eq "running"}

現在停止しているサービスのみを要求する場合、どのような種類のデータが返されますか。データの種類を次に示します。

Status   Name               DisplayName
------   ----               -----------
Stopped  Alerter            Alerter
Stopped  AppMgmt            Application Management
Stopped  aspnet_state       ASP.NET State Service
Stopped  BITS               Background Intelligent Transfer Ser...
Stopped  Browser            Computer Browser

既定で、Windows PowerShell はアルファベット順で並べ替えられたサービスを返します。ただし、Sort-Object コマンドレットを使用して、その戻り値を自由に並べ替えできます。たとえば、次のコマンドは、Status で並べ替えられてから、DisplayName で並べ替えられます。

Get-Service | Sort-Object status,displayname
Get-Service のエイリアス
  • gsv

関連リンク