ローカルまたはリモート コンピューター上のサービスを取得します。
構文
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 に対してサービス名の文字列 (引用符内) をパイプ処理できることを示しています。
関連項目