Get-Service
コンピューター上のサービスを取得します。
構文
Get-Service
[[-Name] <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-DependentServices]
[-RequiredServices]
-DisplayName <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[-InputObject <ServiceController[]>]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
コマンドレットは Get-Service
、実行中のサービスや停止したサービスを含む、コンピューター上のサービスを表すオブジェクトを取得します。 既定では、パラメーターなしで実行すると Get-Service
、すべてのローカル コンピューターのサービスが返されます。
サービス名またはサービスの表示名を指定して特定のサービスのみを取得するようにこのコマンドレットを指示することも、サービス オブジェクトをこのコマンドレットにパイプすることもできます。
例
例 1: コンピューター上のすべてのサービスを取得する
この例では、コンピューター上のすべてのサービスを取得します。 入力した Get-Service *
とおりに動作します。 既定では、各サービスの状態、サービス名、表示名が表示されます。
Get-Service
例 2: 検索文字列で始まるサービスを取得する
この例では、(Windows Management Instrumentation) で始まる WMI
サービス名を持つサービスを取得します。
Get-Service "wmi*"
例 3: 検索文字列を含むサービスを表示する
次の使用例は、単語 network
を含む表示名を持つサービスを表示します。 表示名を検索すると、サービス名にネットワーク プロビジョニング サービス (xmlprov など) が含 Net
まれていない場合でも、ネットワーク関連のサービスが検索されます。
Get-Service -Displayname "*network*"
例 4: 検索文字列と除外で始まるサービスを取得する
この例では、WinRM サービスを除き、サービス名が先頭 win
のサービスのみを取得します。
Get-Service -Name "win*" -Exclude "WinRM"
例 5: 現在アクティブなサービスを表示する
次の使用例は、状態 Running
が のサービスのみを表示します。
Get-Service | Where-Object {$_.Status -eq "Running"}
Get-Service
は、コンピューター上のすべてのサービスを取得し、パイプラインの下にオブジェクトを送信します。 コマンドレットは Where-Object
、 Status プロパティが等しいサービスのみを選択します Running
。
Status は、サービス オブジェクトの 1 つのプロパティにすぎません。 すべてのプロパティを表示するには、「.」と入力します Get-Service | Get-Member
。
例 6: 依存サービスを持つコンピューター上のサービスを一覧表示する
この例では、依存サービスを持つサービスを取得します。
Get-Service |
Where-Object {$_.DependentServices} |
Format-List -Property Name, DependentServices, @{
Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
}
Name : AudioEndpointBuilder
DependentServices : {AudioSrv}
NoOfDependentServices : 1
Name : Dhcp
DependentServices : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...
コマンドレットは Get-Service
、コンピューター上のすべてのサービスを取得し、パイプラインの下にオブジェクトを送信します。 このコマンドレットは Where-Object
、 DependentServices プロパティが null ではないサービスを選択します。
結果は、パイプラインからコマンドレットに Format-List
送信されます。 Property パラメーターには、サービスの名前、依存サービスの名前、および各サービスの依存サービスの数を表示する計算プロパティが表示されます。
例 7: プロパティ値でサービスを並べ替える
この例では、 サービスを Status プロパティの値で昇順に並べ替えると、サービスを実行する前に停止したサービスが表示されます。 これは、Status の値が列挙体でありStopped
1
、値が 〗Running
で値が 4
. 詳細については、「 ServiceControllerStatus」を参照してください。
実行中のサービスを最初に一覧表示するには、コマンドレットの Descending パラメーターをSort-Object
使用します。
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
例 8: サービスの依存サービスを取得する
この例では、WinRM サービスに必要なサービスを取得します。 サービスの ServicesDependedOn プロパティの値が返されます。
Get-Service "WinRM" -RequiredServices
例 9: パイプライン 演算子を使用してサービスを取得する
この例では、ローカル コンピューター上の WinRM サービスを取得します。 サービス名の文字列は引用符で囲んで、パイプラインの下に Get-Service
送信されます。
"WinRM" | Get-Service
パラメーター
-DependentServices
このコマンドレットは、指定されたサービスに依存するサービスのみを取得することを示します。
Type: | SwitchParameter |
Aliases: | DS |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
取得するサービスの表示名を文字列配列として指定します。 ワイルドカードを使用できます。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Exclude
文字列配列として、このコマンドレットが操作から除外するサービスを指定します。
このパラメーターの値は 、Name パラメーターを修飾します。 name 要素またはパターンを入力します 。次に例を示 s*
します。 ワイルドカードを使用できます。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Include
文字列配列として、このコマンドレットが操作に含めるサービスを指定します。 このパラメーターの値は 、Name パラメーターを修飾します。 name 要素またはパターンを入力します 。次に例を示 s*
します。 ワイルドカードを使用できます。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-InputObject
取得するサービスを表す ServiceController オブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。 サービス オブジェクトをこのコマンドレットにパイプ処理できます。
Type: | ServiceController[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
取得するサービスのサービス名を指定します。 ワイルドカードを使用できます。
Type: | String[] |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-RequiredServices
このコマンドレットは、このサービスに必要なサービスのみを取得することを示します。 このパラメーターは、サービスの ServicesDependedOn プロパティの値を取得します。
Type: | SwitchParameter |
Aliases: | SDO, ServicesDependedOn |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
入力
System.ServiceProcess.ServiceController, System.String
サービス オブジェクトまたはサービス名をこのコマンドレットにパイプできます。
出力
このコマンドレットは、コンピューター上のサービスを表すオブジェクトを返します。
メモ
このコマンドレットは、Windows プラットフォームでのみ使用できます。
PowerShell 6.0 以降では、 ServiceController オブジェクトに UserName、 Description、 DelayedAutoStart、 BinaryPathName、 StartupType の各プロパティが追加されています。
また、組み込みのエイリアスgsv
で参照Get-Service
することもできます。 詳細については、 about_Aliasesを参照してください。
このコマンドレットは、現在のユーザーがサービスを表示するアクセス許可を持っている場合にのみサービスを表示できます。 このコマンドレットでサービスが表示されない場合は、サービスを表示するアクセス許可がない可能性があります。
システム上の各サービスのサービス名と表示名を検索するには、「.」と入力します Get-Service
。 サービス名は [名前] 列に表示され、表示名は DisplayName 列に表示されます。
ステータス値で昇順に並べ替えると、 Stopped
サービスはサービスの前に Running
表示されます。 サービスの Status プロパティは、状態の名前が整数値を表す列挙値です。 並べ替えは名前ではなく整数値に基づいて行われます。 Running
の値を持ち、値1
Running
4
が ⯖ であるため、前Stopped
Stopped
に表示されます。 詳細については、「 ServiceControllerStatus」を参照してください。