PowerShellはWindowsの管理を効率化するための強力なツールですが、その中でも「Get-Service」コマンドは、システム内のサービスを一覧表示し、詳細情報を取得する際に欠かせません。Windowsには多くのバックグラウンドサービスが稼働しており、これらを適切に管理することでシステムのパフォーマンスや安定性を向上させることができます。
本記事では、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 : {}
このように、スタートアップの種類や依存関係のあるサービスなど、より詳細な情報が取得できます。
Get-Service
は情報の取得のみですが、サービスの起動や停止を行いたい場合は、Start-Service
やStop-Service
を使います。
例えば、Windows Updateサービス(wuauserv)を開始する場合は、次のようにします。
Start-Service -Name wuauserv
逆に、サービスを停止する場合は、以下のコマンドを実行します。
Stop-Service -Name wuauserv
Restart-Service
を使うことで、サービスを再起動できます。
Restart-Service -Name wuauserv
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のサービス管理を効率化する強力なツールです。基本的な使い方から応用テクニックまでを学ぶことで、システムの監視や管理が格段に便利になります。
本記事では、
について解説しました。
PowerShellを活用して、より効率的なWindows管理を実現しましょう!