Windows環境では、さまざまなプログラムがバックグラウンドで「サービス」として動作しています。
サービスの設定を調整する場合、管理ツール「サービス」から設定する方法や、SCコマンドを使った方法がありますが、PowerShellでも一通りの操作が可能となっています。
そこでここでは、Windows 10のPowerShellでサービスを制御する方法を紹介します。
目次
動作環境
この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア | バージョン |
---|---|
Windows 10 Pro 64bit | 2004 |
サービス情報を取得する
サービスの状態・名前・表示名を確認するときは「Get-Service」コマンドレットを実行します。
PS> Get-Service
サービスによっては出力が長くて省略されていたりする場合は「Format-Table」コマンドを併用することで、省略されずに表示できます。
PS> Get-Service | Format-Table -AutoSize
特定のサービスについての情報を取得するときは「-Name」オプションを利用します。
PS> Get-Service -Name <サービス名> | Format-Table -AutoSize
サービスを起動・停止する
特定のサービスを起動するときは「Start-Service」コマンドレットを実行します。
PS> Start-Service -Name <サービス名>
特定のサービスを停止するときは「Stop-Service」コマンドレットを実行します。
PS> Stop-Service -Name <サービス名>
特定のサービスを再起動するときは「Restart-Service」コマンドレットを実行します。
PS> Restart-Service -Name <サービス名>
上のコマンドレットでは、サービスを指定するのに「-Name」オプションを利用してサービス名を指定していますが「-DisplayName」オプションを利用して、サービス表示名で指定することもできます。
サービスを一時停止・再開する
特定のサービスを一時停止するときは「Suspend-Service」コマンドレットを実行します。
PS> Suspend-Servie -Name <サービス名>
特定のサービスを一時停止から再開するときは「Resume-Service」コマンドレットを実行します。
PS> Resume-Service -Name <サービス名>
サービスを設定する
特定のサービスのスタートアップの種類や状態を設定するときは「Set-Service」コマンドレットを利用します。
スタートアップの種類を指定するときは「-StartupType」オプションを利用し、指定できる値は「Automatic」「Manual」「Disabled」です。
PowerShellバージョン6以降では「AutomaticDelayedStart(遅延開始)」も指定できます。
PS> Set-Service -Name <サービス名> -StartupType Manual
「Set-Service」コマンドレットでは「-Status」オプションでサービスの状態を指定することもできます。
状態として指定できる値は「Running」「Stopped」「Paused」です。
PS> Set-Service -Name <サービス名> -Status Stopped
あとがき
Windows環境では、サービス設定に限らず多くの設定をPowerShellで行うことができます。
ご活用あれ。