From 0b366b5a45ffb2cfaf1194eec4455a88b4cd9bf6 Mon Sep 17 00:00:00 2001 From: Schwirg László Date: Tue, 22 Dec 2020 09:04:57 +0100 Subject: [PATCH] WindowsServiceManager: állapotnevek javítása --- Vrh.Log4Pro.MaintenanceConsole/WindowsServiceManager.cs | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/Vrh.Log4Pro.MaintenanceConsole/WindowsServiceManager.cs b/Vrh.Log4Pro.MaintenanceConsole/WindowsServiceManager.cs index 15f4e2b..43c86c2 100644 --- a/Vrh.Log4Pro.MaintenanceConsole/WindowsServiceManager.cs +++ b/Vrh.Log4Pro.MaintenanceConsole/WindowsServiceManager.cs @@ -86,20 +86,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole { ColorConsole.Write($"Win service:"); ColorConsole.Write($"{ws.Name}", ConsoleColor.Cyan); - var fc2 = ws.Status.Contains("Unregistered") ? ConsoleColor.Red : ConsoleColor.Green; + var fc2 = + ws.Status.Contains(nameof(WmiServiceStatus.OK)) ? ConsoleColor.Green + : ws.Status.Contains(nameof(WmiServiceStatus.Unknown)) ? ConsoleColor.Red + : ws.Status.Contains(nameof(WmiServiceStatus.Error)) ? ConsoleColor.Red + : ConsoleColor.Yellow; ColorConsole.Write($"("); ColorConsole.Write($"{ws.Status}", fc2); var fc0 = - ws.State.Contains("Started") ? ConsoleColor.Green - : ws.State.Contains("Stopped") ? ConsoleColor.Red - : ws.State.Contains("Unregistered") ? ConsoleColor.Red + ws.State.Contains(nameof(WmiServiceState.Running)) ? ConsoleColor.Green + : ws.State.Contains(nameof(WmiServiceState.Unknown)) ? ConsoleColor.Red + : ws.State.Contains(nameof(WmiServiceState.Unregistered)) ? ConsoleColor.Red : ConsoleColor.Yellow; ColorConsole.Write($" / "); ColorConsole.Write($"{ws.State}", fc0); ColorConsole.Write($")"); ColorConsole.Write($", StartMode:"); ColorConsole.Write($"{ws.StartMode}", ConsoleColor.Cyan); - if(ws.Status=="OK" && ws.State != nameof(ObjectState.Stopped) && ws.State != nameof(ObjectState.Unknown)) + if(ws.Status==nameof(WmiServiceStatus.OK) && ws.State != nameof(WmiServiceState.Stopped) && ws.State != nameof(WmiServiceState.Unknown)) { ColorConsole.Write($", Priority:"); ColorConsole.Write($"{ws.PriorityClass}", ConsoleColor.White); @@ -140,6 +144,33 @@ namespace Vrh.Log4Pro.MaintenanceConsole } return null; } + private enum WmiServiceState + { + StartPending, + Running, + Paused, + PausedPending, + Stopped, + StopPending, + Unknown, + Unregistered, + } + private enum WmiServiceStatus + { + OK, + Error, + Degraded, + Unknown, + Pred_Fail, + Starting, + Stopping, + Service, + Stressed, + NonRecover, + No_Contact, + Lost_Comm, + Unregistered, + } #endregion private method: DisplayServiceInfo #region private CollectWindowsServiceInfo @@ -159,8 +190,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole ws.ServicesDependOnThis = new string[] { "???" }; ws.PathName = $"\"{ws.Xml_Exe}\" {ws.Xml_Arguments}"; ws.StartMode = ws.Xml_StartMode; - ws.State = "Unregistered"; - ws.Status = "Unregistered"; + ws.State = nameof(WmiServiceState.Unregistered); + ws.Status = nameof(WmiServiceStatus.Unregistered); if (ws.Xml_IdentityType== ServiceAccount.User) { ws.StartName = ws.Xml_Username + $"({ws.Xml_Password})"; } else { ws.StartName = ws.Xml_IdentityType.ToString(); } ws.ProcessId = 0; @@ -188,7 +219,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole ws.StartName = (string)wmiService[nameof(WindowsService.StartName)]; ws.ProcessId = 0; ws.PriorityClass = "-"; - if (ws.State != nameof(ObjectState.Stopped)) + if (ws.State != nameof(WmiServiceState.Stopped)) { ws.ProcessId = Convert.ToInt32(wmiService[nameof(WindowsService.ProcessId)]); ws.PriorityClass = Process.GetProcessById(ws.ProcessId).PriorityClass.ToString(); -- libgit2 0.21.2