ローカルまたはリモート コンピューター上のサービスを取得します。

構文

Get-Service [[-Name] <string[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

Get-Service -DisplayName <string[]> [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

Get-Service [-InputObject <ServiceController[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

説明

Get-Service コマンドレットは、実行中のサービスと停止中のサービスを含め、ローカルまたはリモート コンピューター上のサービスを表すオブジェクトを取得します。

サービス名またはサービスの表示名を指定することによって特定のサービスのみを取得するように Get-Service に指示することも、Get-Service に対してサービス オブジェクトをパイプ処理することもできます。

パラメーター

-ComputerName <string[]>

指定されたコンピューターで実行されているサービスを取得します。既定値はローカル コンピューターです。

リモート コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。ローカル コンピューターを指定するには、コンピューター名、ドット (.)、または「localhost」を入力します。

このパラメーターは、Windows PowerShell リモート処理に依存しません。コンピューターがリモート コマンドを実行するように構成されていない場合でも、Get-Service の ComputerName パラメーターを使用できます。

必須

false

位置

named

既定値

Localhost

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-DependentServices

指定されたサービスに依存するサービスのみを取得します。

既定では¡¢Get-Service はすべてのサービスを取得します。

必須

false

位置

named

既定値

False

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-DisplayName <string[]>

取得するサービスの表示名を指定します。ワイルドカードを使用できます。既定では、Get-Service はコンピューター上のすべてのサービスを取得します。

必須

true

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Exclude <string[]>

指定されたサービスを除外します。このパラメーターの値は、Name パラメーターを修飾します。"s*" などの名前要素またはパターンを入力します。ワイルドカードを使用できます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Include <string[]>

指定したサービスだけを取得します。このパラメーターの値は、Name パラメーターを修飾します。"s*" などの名前要素またはパターンを入力します。ワイルドカードを使用できます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-InputObject <ServiceController[]>

取得するサービスを表す ServiceController オブジェクトを指定します。オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。Get-Service に対してサービス オブジェクトをパイプ処理することもできます。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByValue)

ワイルドカード文字を許可する

false

-Name <string[]>

取得するサービスのサービス名を指定します。ワイルドカードを使用できます。既定では、Get-Service はコンピューター上のすべてのサービスを取得します。

必須

false

位置

1

既定値

パイプライン入力を許可する

true (ByValue, ByPropertyName)

ワイルドカード文字を許可する

true

-RequiredServices

このサービスが必要とするサービスのみを取得します。

このパラメーターは、サービスの ServicesDependedOn プロパティの値を取得します。既定では¡¢Get-Service はすべてのサービスを取得します。

必須

false

位置

named

既定値

False

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

System.ServiceProcess.ServiceController, System.String

Get-Service に対してサービス オブジェクトまたはサービス名をパイプ処理することができます。

出力

System.ServiceProcess.ServiceController

Get-Service は、コンピューター上のサービスを表すオブジェクトを返します。

Get-Service は、その組み込みエイリアスである "gsv" で参照することもできます。詳細については、「about_Aliases」を参照してください。

Get-Service では、現在のユーザーにサービスを参照する権限がある場合のみサービスが表示されます。Get-Service でサービスが表示されない場合は、サービスを参照する権限がない可能性があります。

システム上の各サービスのサービス名と表示名を確認するには、「get-service」と入力します。サービス名は [Name] 欄に表示され、表示名は [DisplayName] 欄に表示されます。

Status の値により昇順に並べ替えると、状態が "Stopped (停止済み)" のサービスは "Running (実行中)" のサービスの前に表示されます。サービスの Status プロパティは、状態の名前が整数値を表す列挙値です。並べ替えは名前ではなく整数値に基づいて行われます。"Stopped (停止済み)" の値は "1" であり、"Running (実行中)" の値は "4" であるため、"Running" は "Stopped" の前に表示されます。

例 1

C:\PS>get-service

説明
-----------
このコマンドは、システム上のすべてのサービスを取得します。「get-service *」と入力した場合と同様に動作します。既定では、各サービスの状態、サービス名、表示名が表示されます。






例 2

C:\PS>get-service wmi*

説明
-----------
このコマンドは、"WMI" (Windows Management Instrumentation の頭字語) で始まる名前のサービスを取得します。






例 3

C:\PS>get-service -displayname *network*

説明
-----------
このコマンドを実行すると、表示名に "network" という単語が含まれるサービスが
表示されます。表示名を検索することにより、xmlprov (Network Provisioning Service) のようにサービス名に "Net" が含まれていない場合でも、ネットワーク関連のサービスを見つけることができます。






例 4

C:\PS>get-service -name win* -exclude winrm

説明
-----------
これらのコマンドを実行すると、WinRM サービスを除き、サービス名が "win" で始まるサービスだけが表示されます。






例 5

C:\PS>get-service | where-object {$_.Status -eq "Running"}

説明
-----------
このコマンドを実行すると、現在実行中のサービスだけが表示されます。これは、Get-Service コマンドレットを使用してコンピューター上のすべてのサービスを取得します。パイプライン演算子 (|) により、結果が Where-Object コマンドレットに渡され、Status プロパティの値が "Running" のサービスだけが選択されます。

Status は、サービス オブジェクトの 1 つのプロパティにすぎません。すべてのプロパティを表示するには、「get-service | get-member」と入力します。






例 6

C:\PS>get-service -computername Server02

説明
-----------
このコマンドは、Server02 リモート コンピューター上のサービスを取得します。

Get-Service の ComputerName パラメーターは Windows PowerShell のリモート処理を使用しないため、コンピューターが Windows PowerShell リモート処理用に構成されていない場合でも使用できます。






例 7

C:\PS>get-service | where-object {$_.DependentServices} | format-list -property Name, DependentServices, @{Label="NoOfDependentS
ervices"; Expression={$_.dependentservices.count}} 

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

説明
-----------
これらのコマンドは、コンピューター上にあるサービスで、依存サービスのあるものを一覧表示します。

最初のコマンドは、Get-Service コマンドレットを使用してコンピューター上のサービスを取得します。サービスはパイプライン演算子 (|) により Where-Object コマンドレットに渡され、DependentServices プロパティが null でないサービスが選択されます。

もう一つのパイプライン演算子は、結果を Format-List コマンドレットに渡します。このコマンドは、Property パラメーターを使用してサービスの名前、依存サービスの名前、および各サービスに依存するサービスの数を表示する集計プロパティを表示します。






例 8

C:\PS>C:\PS> get-service s* | sort-object status 

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

C:\PS> get-service s* | sort-object status -descending

Status   Name               DisplayName
------   ----               -----------
Running  ShellHWDetection   Shell Hardware Detection
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  Spooler            Print Spooler
Running  SSDPSRV            SSDP Discovery Service
Running  srservice          System Restore Service
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  Schedule           Task Scheduler
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon
Stopped  SysmonLog          Performance Logs and Alerts
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  stisvc             Windows Image Acquisition (WIA)

説明
-----------
このコマンドは、Status プロパティの値によってサービスを昇順に並べ替える場合、停止済みのサービスは実行中のサービスの前に表示されることを示しています。これは、Status の値が列挙型であり、"Stopped (停止済み)" の値は "1"、"Running (実行中)" の値は 4 であるためです。

実行中のサービスを一覧で先に表示するには、Sort-Object コマンドレットの Descending パラメーターを使用します。






例 9

C:\PS>get-service -name winrm -computername localhost, Server01, Server02  | format-table -property MachineName, Status, Name, DisplayName -auto

MachineName    Status  Name  DisplayName
------------   ------  ----  -----------
localhost      Running WinRM Windows Remote Management (WS-Management)
Server01       Running WinRM Windows Remote Management (WS-Management)
Server02       Running WinRM Windows Remote Management (WS-Management)

説明
-----------
このコマンドは、Get-Service コマンドレットを使用して 2 台のリモート コンピューターおよびローカル コンピューター (localhost) 上で "Get-Service Winrm" コマンドを実行します。

Get-Service コマンドはリモート コンピューター上で実行され、結果はローカル コンピューターに返されます。結果はパイプライン演算子 (|) によって Format-Table コマンドレットに送られ、サービスは表形式に書式設定されます。Format-Table コマンドは Property パラメーターを使用して、MachineName プロパティなど、表に表示するプロパティを指定します。






例 10

C:\PS>get-service winrm -requiredServices

説明
-----------
このコマンドは、WinRM サービスが必要とするサービスを取得します。

このコマンドは、サービスの ServicesDependedOn プロパティの値を返します。






例 11

C:\PS>"winrm" | get-service

説明
-----------
このコマンドは、ローカル コンピューター上の WinRM サービスを取得します。この例は、Get-Service に対してサービス名の文字列 (引用符内) をパイプ処理できることを示しています。






関連項目




目次