Commit 0b366b5a45ffb2cfaf1194eec4455a88b4cd9bf6
1 parent
c0dd7bdf
WindowsServiceManager: állapotnevek javítása
Showing
1 changed file
with
39 additions
and
8 deletions
Show diff stats
Vrh.Log4Pro.MaintenanceConsole/WindowsServiceManager.cs
| @@ -86,20 +86,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole | @@ -86,20 +86,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole | ||
| 86 | { | 86 | { |
| 87 | ColorConsole.Write($"Win service:"); | 87 | ColorConsole.Write($"Win service:"); |
| 88 | ColorConsole.Write($"{ws.Name}", ConsoleColor.Cyan); | 88 | ColorConsole.Write($"{ws.Name}", ConsoleColor.Cyan); |
| 89 | - var fc2 = ws.Status.Contains("Unregistered") ? ConsoleColor.Red : ConsoleColor.Green; | 89 | + var fc2 = |
| 90 | + ws.Status.Contains(nameof(WmiServiceStatus.OK)) ? ConsoleColor.Green | ||
| 91 | + : ws.Status.Contains(nameof(WmiServiceStatus.Unknown)) ? ConsoleColor.Red | ||
| 92 | + : ws.Status.Contains(nameof(WmiServiceStatus.Error)) ? ConsoleColor.Red | ||
| 93 | + : ConsoleColor.Yellow; | ||
| 90 | ColorConsole.Write($"("); | 94 | ColorConsole.Write($"("); |
| 91 | ColorConsole.Write($"{ws.Status}", fc2); | 95 | ColorConsole.Write($"{ws.Status}", fc2); |
| 92 | var fc0 = | 96 | var fc0 = |
| 93 | - ws.State.Contains("Started") ? ConsoleColor.Green | ||
| 94 | - : ws.State.Contains("Stopped") ? ConsoleColor.Red | ||
| 95 | - : ws.State.Contains("Unregistered") ? ConsoleColor.Red | 97 | + ws.State.Contains(nameof(WmiServiceState.Running)) ? ConsoleColor.Green |
| 98 | + : ws.State.Contains(nameof(WmiServiceState.Unknown)) ? ConsoleColor.Red | ||
| 99 | + : ws.State.Contains(nameof(WmiServiceState.Unregistered)) ? ConsoleColor.Red | ||
| 96 | : ConsoleColor.Yellow; | 100 | : ConsoleColor.Yellow; |
| 97 | ColorConsole.Write($" / "); | 101 | ColorConsole.Write($" / "); |
| 98 | ColorConsole.Write($"{ws.State}", fc0); | 102 | ColorConsole.Write($"{ws.State}", fc0); |
| 99 | ColorConsole.Write($")"); | 103 | ColorConsole.Write($")"); |
| 100 | ColorConsole.Write($", StartMode:"); | 104 | ColorConsole.Write($", StartMode:"); |
| 101 | ColorConsole.Write($"{ws.StartMode}", ConsoleColor.Cyan); | 105 | ColorConsole.Write($"{ws.StartMode}", ConsoleColor.Cyan); |
| 102 | - if(ws.Status=="OK" && ws.State != nameof(ObjectState.Stopped) && ws.State != nameof(ObjectState.Unknown)) | 106 | + if(ws.Status==nameof(WmiServiceStatus.OK) && ws.State != nameof(WmiServiceState.Stopped) && ws.State != nameof(WmiServiceState.Unknown)) |
| 103 | { | 107 | { |
| 104 | ColorConsole.Write($", Priority:"); | 108 | ColorConsole.Write($", Priority:"); |
| 105 | ColorConsole.Write($"{ws.PriorityClass}", ConsoleColor.White); | 109 | ColorConsole.Write($"{ws.PriorityClass}", ConsoleColor.White); |
| @@ -140,6 +144,33 @@ namespace Vrh.Log4Pro.MaintenanceConsole | @@ -140,6 +144,33 @@ namespace Vrh.Log4Pro.MaintenanceConsole | ||
| 140 | } | 144 | } |
| 141 | return null; | 145 | return null; |
| 142 | } | 146 | } |
| 147 | + private enum WmiServiceState | ||
| 148 | + { | ||
| 149 | + StartPending, | ||
| 150 | + Running, | ||
| 151 | + Paused, | ||
| 152 | + PausedPending, | ||
| 153 | + Stopped, | ||
| 154 | + StopPending, | ||
| 155 | + Unknown, | ||
| 156 | + Unregistered, | ||
| 157 | + } | ||
| 158 | + private enum WmiServiceStatus | ||
| 159 | + { | ||
| 160 | + OK, | ||
| 161 | + Error, | ||
| 162 | + Degraded, | ||
| 163 | + Unknown, | ||
| 164 | + Pred_Fail, | ||
| 165 | + Starting, | ||
| 166 | + Stopping, | ||
| 167 | + Service, | ||
| 168 | + Stressed, | ||
| 169 | + NonRecover, | ||
| 170 | + No_Contact, | ||
| 171 | + Lost_Comm, | ||
| 172 | + Unregistered, | ||
| 173 | + } | ||
| 143 | #endregion private method: DisplayServiceInfo | 174 | #endregion private method: DisplayServiceInfo |
| 144 | 175 | ||
| 145 | #region private CollectWindowsServiceInfo | 176 | #region private CollectWindowsServiceInfo |
| @@ -159,8 +190,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole | @@ -159,8 +190,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole | ||
| 159 | ws.ServicesDependOnThis = new string[] { "???" }; | 190 | ws.ServicesDependOnThis = new string[] { "???" }; |
| 160 | ws.PathName = $"\"{ws.Xml_Exe}\" {ws.Xml_Arguments}"; | 191 | ws.PathName = $"\"{ws.Xml_Exe}\" {ws.Xml_Arguments}"; |
| 161 | ws.StartMode = ws.Xml_StartMode; | 192 | ws.StartMode = ws.Xml_StartMode; |
| 162 | - ws.State = "Unregistered"; | ||
| 163 | - ws.Status = "Unregistered"; | 193 | + ws.State = nameof(WmiServiceState.Unregistered); |
| 194 | + ws.Status = nameof(WmiServiceStatus.Unregistered); | ||
| 164 | if (ws.Xml_IdentityType== ServiceAccount.User) { ws.StartName = ws.Xml_Username + $"({ws.Xml_Password})"; } | 195 | if (ws.Xml_IdentityType== ServiceAccount.User) { ws.StartName = ws.Xml_Username + $"({ws.Xml_Password})"; } |
| 165 | else { ws.StartName = ws.Xml_IdentityType.ToString(); } | 196 | else { ws.StartName = ws.Xml_IdentityType.ToString(); } |
| 166 | ws.ProcessId = 0; | 197 | ws.ProcessId = 0; |
| @@ -188,7 +219,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole | @@ -188,7 +219,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole | ||
| 188 | ws.StartName = (string)wmiService[nameof(WindowsService.StartName)]; | 219 | ws.StartName = (string)wmiService[nameof(WindowsService.StartName)]; |
| 189 | ws.ProcessId = 0; | 220 | ws.ProcessId = 0; |
| 190 | ws.PriorityClass = "-"; | 221 | ws.PriorityClass = "-"; |
| 191 | - if (ws.State != nameof(ObjectState.Stopped)) | 222 | + if (ws.State != nameof(WmiServiceState.Stopped)) |
| 192 | { | 223 | { |
| 193 | ws.ProcessId = Convert.ToInt32(wmiService[nameof(WindowsService.ProcessId)]); | 224 | ws.ProcessId = Convert.ToInt32(wmiService[nameof(WindowsService.ProcessId)]); |
| 194 | ws.PriorityClass = Process.GetProcessById(ws.ProcessId).PriorityClass.ToString(); | 225 | ws.PriorityClass = Process.GetProcessById(ws.ProcessId).PriorityClass.ToString(); |