PowerShellのGet-Serviceコマンド完全解説|Windowsサービスを効率的に管理する方法

PowerShellはWindowsの管理を効率化するための強力なツールですが、その中でも「Get-Service」コマンドは、システム内のサービスを一覧表示し、詳細情報を取得する際に欠かせません。Windowsには多くのバックグラウンドサービスが稼働しており、これらを適切に管理することでシステムのパフォーマンスや安定性を向上させることができます。
本記事では、Get-Serviceコマンドの基本的な使い方から応用テクニックまで詳しく解説します。初心者の方にもわかりやすく説明しているので、ぜひ最後までご覧ください。


Get-Serviceコマンドとは?

PowerShellのGet-Serviceは、Windowsに登録されているサービスの情報を取得するためのコマンドです。
このコマンドを実行することで、以下のような情報を得ることができます。

  • サービスの名前
  • 表示名(わかりやすい名称)
  • サービスのステータス(実行中・停止など)

例えば、基本的なGet-Serviceの実行結果は以下のようになります。

Get-Service

出力例:

Status   Name               DisplayName
------ ---- -----------
Running W32Time Windows Time
Stopped WbioSrvc Windows Biometric Service
Running WinDefend Microsoft Defender Antivirus Service
Stopped wuauserv Windows Update

このように、Windowsに登録されているすべてのサービスのステータスを一覧で確認できます。


基本的な使い方

すべてのサービスを一覧表示する

シンプルにGet-Serviceを実行すると、システム内のすべてのサービスを一覧表示できます。

Get-Service

特定のサービスを検索する

サービス名を指定して、特定のサービスの情報を取得することも可能です。

Get-Service -Name wuauserv

出力例:

Status   Name       DisplayName
------ ---- -----------
Stopped wuauserv Windows Update

サービスの表示名で検索する

-DisplayNameパラメータを使えば、より分かりやすい名前でサービスを指定できます。

Get-Service -DisplayName "Windows Update"

応用編:フィルタリングと並び替え

Get-Serviceコマンドの出力は、他のPowerShellコマンドと組み合わせることで、さらに便利に活用できます。

実行中のサービスのみを表示する

現在動作しているサービスのみを表示したい場合は、Where-Objectを使ってフィルタリングできます。

Get-Service | Where-Object { $_.Status -eq "Running" }

停止しているサービスのみを表示する

同様に、停止しているサービスだけを表示することも可能です。

Get-Service | Where-Object { $_.Status -eq "Stopped" }

名前順にソートする

Sort-Objectを使うと、名前順にソートして一覧表示できます。

Get-Service | Sort-Object Name

ステータス順にソートする

サービスのステータス(実行中・停止)ごとに並び替えたい場合は、以下のコマンドを使用します。

Get-Service | Sort-Object Status

サービスの詳細情報を取得する

デフォルトでは、Get-Serviceは基本的な情報しか表示しませんが、Select-Objectを使うことで、より詳細な情報を取得できます。

Get-Service -Name wuauserv | Select-Object *

出力例:

Name                : wuauserv
DisplayName : Windows Update
Status : Stopped
ServiceType : Win32OwnProcess, Win32ShareProcess
StartType : Manual
DependentServices : {}

このように、スタートアップの種類や依存関係のあるサービスなど、より詳細な情報が取得できます。


サービスの状態を変更する(Start-Service, Stop-Service)

Get-Serviceは情報の取得のみですが、サービスの起動や停止を行いたい場合は、Start-ServiceStop-Serviceを使います。

サービスを開始する

例えば、Windows Updateサービス(wuauserv)を開始する場合は、次のようにします。

Start-Service -Name wuauserv

サービスを停止する

逆に、サービスを停止する場合は、以下のコマンドを実行します。

Stop-Service -Name wuauserv

サービスの再起動

Restart-Serviceを使うことで、サービスを再起動できます。

Restart-Service -Name wuauserv

Get-Serviceの活用例

定期的に実行中のサービス一覧をログに保存する

PowerShellスクリプトを使えば、定期的に実行中のサービス一覧をログとして保存することができます。

Get-Service | Where-Object { $_.Status -eq "Running" } | Out-File "C:\Logs\RunningServices.log"

このスクリプトをタスクスケジューラなどで定期実行すれば、サーバーの監視にも役立ちます。

特定のサービスの状態を監視する

例えば、Windows Updateサービスが実行中かどうかを監視し、停止していたら再起動するスクリプトを作成できます。

if ((Get-Service -Name wuauserv).Status -ne "Running") {
Start-Service -Name wuauserv
}

このスクリプトを定期的に実行すれば、重要なサービスが意図せず停止するのを防ぐことができます。


まとめ

Get-Serviceコマンドは、Windowsのサービス管理を効率化する強力なツールです。基本的な使い方から応用テクニックまでを学ぶことで、システムの監視や管理が格段に便利になります。

本記事では、

  • Get-Serviceの基本的な使い方
  • サービスの検索・フィルタリング・並び替え
  • 詳細情報の取得方法
  • サービスの開始・停止・再起動
  • 実践的な活用例

について解説しました。

PowerShellを活用して、より効率的なWindows管理を実現しましょう!

タイトルとURLをコピーしました