Windows サービスの監視と操作を行うアプリケーションです。
WinSvcMon(Windows Service Monitor)は、Windows サービスの状態を監視し、操作するためのグラフィカルユーザーインターフェイスを提供するアプリケーションです。このアプリケーションを使用することで、複数の Windows サービスの状態をリアルタイムで監視し、必要に応じてサービスの開始や停止などの操作を行うことができます。
- 複数の Windows サービスを同時に監視
- サービスの状態をリアルタイムで表示
- サービスの開始・停止操作
- カスタマイズ可能な監視間隔
- サービス表示名のカスタマイズ
- システム管理者
- IT プロフェッショナル
- Windows サーバー管理者
- 開発者(開発・テスト環境でのサービス監視用)
- .NET Framework 4.8.1
- Windows 10 以降または Windows Server 2016 以降
- 管理者権限(サービスの操作に必要)
- Visual Studio 2022 以降(開発・ビルド時)
-
リポジトリをクローンまたはダウンロードします。
git clone https://github.com/MareMare/WinSvcMon.git -
Visual Studio で
WinSvcMon.slnソリューションファイルを開きます。 -
ソリューションをビルドします。
- メニューから「ビルド」→「ソリューションのビルド」を選択
- または F6 キーを押す
-
ビルドが成功すると、
src\WinSvcMon.App\bin\Debugまたはsrc\WinSvcMon.App\bin\Releaseフォルダに実行ファイルが生成されます。
-
WinSvcMon.App.exeをダブルクリックして起動します。- 管理者権限が必要な場合は、右クリックして「管理者として実行」を選択してください。
-
アプリケーションが起動すると、設定ファイルで指定されたサービスの監視が自動的に開始されます。
-
サービスの状態が表示され、各サービスに対して開始・停止などの操作が可能になります。
アプリケーションの動作は MonitoringConfiguration.json ファイルで設定します。このファイルはアプリケーションの実行ファイルと同じディレクトリに配置する必要があります。
{
"Services": [
{
"ServiceName": "Service01",
"DisplayName": "サービス1"
},
{
"ServiceName": "Service02",
"DisplayName": "サービス2"
},
{
"ServiceName": "Service03",
"DisplayName": "サービス3"
}
],
"MonitoringIntervalSeconds": 5
}監視対象のサービスリストを指定します。各サービスには以下の項目を設定します:
- ServiceName(必須): Windows サービスの実際のサービス名を指定します。これは Windows のサービス管理コンソールで表示される「サービス名」と一致する必要があります。
- DisplayName(必須): アプリケーション上で表示するサービスの名前を指定します。
サービスの状態を確認する間隔を秒単位で指定します。デフォルト値は 5 秒です。
{
"Services": [
{
"ServiceName": "wuauserv",
"DisplayName": "Windows Update"
},
{
"ServiceName": "LanmanServer",
"DisplayName": "Server"
}
],
"MonitoringIntervalSeconds": 10
}この設定では、Windows Update サービスと Server サービスを 10 秒間隔で監視します。
{
"Services": [
{
"ServiceName": "wuauserv",
"DisplayName": "Windows Update"
},
{
"ServiceName": "LanmanServer",
"DisplayName": "Server"
},
{
"ServiceName": "BITS",
"DisplayName": "Background Intelligent Transfer Service"
},
{
"ServiceName": "WSearch",
"DisplayName": "Windows Search"
},
{
"ServiceName": "W32Time",
"DisplayName": "Windows Time"
}
],
"MonitoringIntervalSeconds": 15
}この設定では、5つのサービスを15秒間隔で監視します。
{
"Services": [
{
"ServiceName": "SQLServerAgent",
"DisplayName": "SQL Server エージェント"
},
{
"ServiceName": "MSSQLSERVER",
"DisplayName": "SQL Server データベース"
}
],
"MonitoringIntervalSeconds": 2
}この設定では、SQL Server 関連の2つのサービスを2秒間隔で監視します。短い間隔で監視することで、状態変化をより早く検出できますが、システムリソースの消費が増加する可能性があります。
- サービス名が正しいか確認してください。
- 管理者権限でアプリケーションを実行しているか確認してください。
- 監視対象のサービスがシステムに存在するか確認してください。
- .NET Framework 4.8.1 がインストールされているか確認してください。
MonitoringConfiguration.jsonファイルの構文が正しいか確認してください。
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルを参照してください。
