【保存版】PowerShellのSet-Service徹底解説|サービスの起動種類や状態を変更する方法

Windows

「Windowsサービスの起動設定を手動から自動に変えたい」
「サービスを一時的に無効化したい」

そんなとき、GUIで設定するのも良いですが、PowerShellのSet-Serviceコマンドレットを使えば、数秒で完了します。

この記事では、Set-Serviceの使い方を初心者にもわかりやすく解説し、サービスの起動種類(Automatic / Manual / Disabled)の変更や、スタート・ストップとの連携など、実践的な操作方法を紹介します。

スポンサーリンク

Set-Serviceとは?

Set-Serviceは、PowerShellを使って既存のWindowsサービスの設定(プロパティ)を変更するためのコマンドレットです。

変更できる代表的なもの:

  • 起動の種類(スタートアップの種類)
  • サービスの説明(Description)
  • サービスの状態(ただし、Start-ServiceStop-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 recognizedPowerShellのバージョンが古いと、一部パラメータ(例:-Description)が使えないことがあります。

まとめ:Set-ServiceでWindowsサービス管理を自動化しよう

Set-Serviceは、GUI操作では面倒なサービス設定を、コマンド1行で確実に変更できる強力なツールです。

特に、起動種類の一括変更・スクリプト化・サーバー管理の自動化などで重宝されます。

ポイントまとめ

  • Set-Service -Name サービス名 -StartupType 自動/手動/無効
  • -Descriptionで説明文も変更可能(バージョン注意)
  • 複数サービスにもループで対応できる
  • 管理者としてPowerShellを実行するのが基本!

Windowsサービスの管理をもっとスマートにしたいなら、Set-Serviceをぜひ活用してみてください!

より高度なサービス管理を目指す方は、「サービス状態の監視と条件に基づく自動設定変更」や「リモートサーバーのサービス一括管理」などのスクリプト技術も検討してみるとよいでしょう。

コメント

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