「Windowsサービスの起動設定を手動から自動に変えたい」
「サービスを一時的に無効化したい」
そんなとき、GUIで設定するのも良いですが、PowerShellのSet-Service
コマンドレットを使えば、数秒で完了します。
この記事では、Set-Service
の使い方を初心者にもわかりやすく解説し、サービスの起動種類(Automatic / Manual / Disabled)の変更や、スタート・ストップとの連携など、実践的な操作方法を紹介します。
Set-Serviceとは?

Set-Service
は、PowerShellを使って既存のWindowsサービスの設定(プロパティ)を変更するためのコマンドレットです。
変更できる代表的なもの:
- 起動の種類(スタートアップの種類)
- サービスの説明(Description)
- サービスの状態(ただし、
Start-Service
やStop-Service
の方が推奨)
GUIで言う「サービスのプロパティ」を、コマンド1つで操作できるのが特徴です。
基本構文と主なパラメータ
Set-Service -Name サービス名 [-StartupType {Automatic|Manual|Disabled}] [-Description "説明文"]
主なパラメータ一覧:
パラメータ | 内容 |
---|---|
-Name | 対象サービス名(必須) |
-StartupType | 起動の種類(自動/手動/無効) |
-Description | サービスの説明文(任意) |
サービスの起動種類を変更する方法

自動起動(Automatic)に変更:
Set-Service -Name Spooler -StartupType Automatic
手動起動(Manual)に変更:
Set-Service -Name Spooler -StartupType Manual
無効化(Disabled)に変更:
Set-Service -Name Spooler -StartupType Disabled
サービスの説明文を変更する方法
GUIで設定できる「説明」をコマンドで変更できます。
Set-Service -Name Spooler -Description "社内印刷用スプーラー"
注意: -Description
はWindows PowerShell 7.2 以降でサポートされています。
古いバージョンでは使えない場合があります。
複数サービスを一括で設定変更する方法

PowerShellのパイプとループを使えば、複数サービスにも一括で適用できます。
"Spooler", "WSearch" | ForEach-Object {
Set-Service -Name $_ -StartupType Manual
}
このようにすれば、定期メンテナンス時の一時的な設定変更などにも便利です。
よくあるエラーと注意点
エラー内容 | 原因と対処法 |
---|---|
Permission Denied | 管理者権限でPowerShellを実行してください。 |
Cannot find any service | サービス名が正確か、Get-Service で確認を。 |
Parameter not recognized | PowerShellのバージョンが古いと、一部パラメータ(例:-Description )が使えないことがあります。 |
まとめ:Set-ServiceでWindowsサービス管理を自動化しよう
Set-Service
は、GUI操作では面倒なサービス設定を、コマンド1行で確実に変更できる強力なツールです。
特に、起動種類の一括変更・スクリプト化・サーバー管理の自動化などで重宝されます。
ポイントまとめ
Set-Service -Name サービス名 -StartupType 自動/手動/無効
-Description
で説明文も変更可能(バージョン注意)- 複数サービスにもループで対応できる
- 管理者としてPowerShellを実行するのが基本!
Windowsサービスの管理をもっとスマートにしたいなら、Set-Service
をぜひ活用してみてください!
より高度なサービス管理を目指す方は、「サービス状態の監視と条件に基づく自動設定変更」や「リモートサーバーのサービス一括管理」などのスクリプト技術も検討してみるとよいでしょう。
コメント