次の方法で共有


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: 検索文字列で始まるサービスを取得する

この例では、 で始まる WMI サービス名を持つサービスを取得します (Windows Management Instrumentation)。

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-ObjectDependentServices プロパティが null ではないサービスを選択します。

結果は、パイプラインから コマンドレットに Format-List 送信されます。 Property パラメーターには、サービスの名前、依存サービスの名前、および各サービスの依存サービスの数を表示する計算プロパティが表示されます。

例 7: プロパティ値でサービスを並べ替える

この例では、 サービスを Status プロパティの値で昇順に並べ替えると、サービスを実行する前に停止したサービスが表示されることを示しています。 これは、Status の値が の値を持ち、 Stopped の値1Running4を持つ列挙体であるために発生します。 詳細については、「 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

入力

ServiceController

サービス オブジェクトをこのコマンドレットにパイプできます。

String

サービス名をこのコマンドレットにパイプできます。

出力

ServiceController

このコマンドレットは、コンピューター上のサービスを表すオブジェクトを返します。

メモ

PowerShell には、 の次のエイリアスが Get-Service含まれています。

  • Windows の場合:
    • gsv

このコマンドレットは、Windows プラットフォームでのみ使用できます。

PowerShell 6.0 以降では、 ServiceController オブジェクトに UserNameDescriptionDelayedAutoStartBinaryPathNameStartupType の各プロパティが追加されています。

このコマンドレットは、現在のユーザーがサービスを表示するアクセス許可を持っている場合にのみサービスを表示できます。 このコマンドレットでサービスが表示されない場合は、サービスを表示するアクセス許可がない可能性があります。

システム上の各サービスのサービス名と表示名を見つけるには、「 」と入力します Get-Service。 サービス名は [名前] 列に表示され、表示名は DisplayName 列に表示されます。

注意

通常、 Get-Service はドライバーではなくサービスに関する情報を返します。 ただし、ドライバーの名前を指定すると、 Get-Service ドライバーに関する情報が返されます。

  • 列挙には、デバイス ドライバー サービスが含まれていません
  • ワイルドカードを指定すると、コマンドレットは Windows サービスのみを返します
  • デバイス サービス名と完全に一致する 名前 または DisplayName を指定すると、デバイス インスタンスが返されます

ステータス値で昇順に並べ替えると、 Stopped サービスの前に Running サービスが表示されます。 サービスの Status プロパティは、状態の名前が整数値を表す列挙値です。 並べ替えは名前ではなく整数値に基づいて行われます。 Runningには の値があり、 の1Running値があるためStopped、前Stopped4表示されます。 詳細については、「 ServiceControllerStatus」を参照してください。