Commit 0cafa26d5985df8890d868ea1f77a50a885b351e
1 parent
2ff9a39c
InstallManager létrehozása és alap funkciók hozzáadása
Showing
10 changed files
with
339 additions
and
16 deletions
Show diff stats
Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - CommandLineParser.cs
@@ -206,6 +206,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS | @@ -206,6 +206,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS | ||
206 | { | 206 | { |
207 | public const string CMD_WEBAPPS = "-WEBAPPS"; | 207 | public const string CMD_WEBAPPS = "-WEBAPPS"; |
208 | public static class Register { public const string KEY = "WAR"; } | 208 | public static class Register { public const string KEY = "WAR"; } |
209 | + public static class ConfigureIIS { public const string KEY = "IIS"; } | ||
209 | public static class Unregister { public const string KEY = "WAU"; } | 210 | public static class Unregister { public const string KEY = "WAU"; } |
210 | public static class SetImpersonateIdentity { public const string KEY = "WAI"; } | 211 | public static class SetImpersonateIdentity { public const string KEY = "WAI"; } |
211 | public static class PoolStart { public const string KEY = "APS"; } | 212 | public static class PoolStart { public const string KEY = "APS"; } |
@@ -282,14 +283,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS | @@ -282,14 +283,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS | ||
282 | public static class RelocatePhysicalFiles { public const string KEY = "COP"; } | 283 | public static class RelocatePhysicalFiles { public const string KEY = "COP"; } |
283 | } | 284 | } |
284 | } | 285 | } |
286 | + | ||
287 | + public static class InstallManager | ||
288 | + { | ||
289 | + public const string KEY = "INM"; | ||
290 | + public static class Functions | ||
291 | + { | ||
292 | + public static class EnvironmentInstall { public const string KEY = "ENV"; } | ||
293 | + public static class RestartServer { public const string KEY = "RST"; } | ||
294 | + public static class ConfigureIIS { public const string KEY = "IIS"; } | ||
295 | + } | ||
296 | + } | ||
285 | public static class MaintenanceToolManager | 297 | public static class MaintenanceToolManager |
286 | { | 298 | { |
287 | public const string KEY = "TOL"; | 299 | public const string KEY = "TOL"; |
288 | public static class Functions | 300 | public static class Functions |
289 | { | 301 | { |
290 | public static class RegexTester { public const string KEY = "RGX"; } | 302 | public static class RegexTester { public const string KEY = "RGX"; } |
291 | - public static class Tool1 { public const string KEY = "TL1"; } | ||
292 | - public static class Tool2 { public const string KEY = "TL2"; } | 303 | + public static class Tool { public const string KEY = "TOL"; } |
293 | } | 304 | } |
294 | } | 305 | } |
295 | } | 306 | } |
Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools - Membership.cs
@@ -421,7 +421,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | @@ -421,7 +421,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | ||
421 | /// <returns></returns> | 421 | /// <returns></returns> |
422 | public static VRH.Common.ReturnInfoJSON RolesToUser(string rolenamecommalist, string usernamecommalist) | 422 | public static VRH.Common.ReturnInfoJSON RolesToUser(string rolenamecommalist, string usernamecommalist) |
423 | { | 423 | { |
424 | - DAL.RoleGroup urg; | ||
425 | ReturnInfoJSON result = new ReturnInfoJSON() { ReturnMessage = "Assignment was successful!" }; | 424 | ReturnInfoJSON result = new ReturnInfoJSON() { ReturnMessage = "Assignment was successful!" }; |
426 | try | 425 | try |
427 | { | 426 | { |
Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools.cs
@@ -174,5 +174,40 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | @@ -174,5 +174,40 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | ||
174 | if (extension == null) { extension = ".tmp"; } | 174 | if (extension == null) { extension = ".tmp"; } |
175 | return Path.Combine(directorypath, DateTime.Now.ToString($"TMP_yyyyMMddHHmmssfffffff.{extension}")); | 175 | return Path.Combine(directorypath, DateTime.Now.ToString($"TMP_yyyyMMddHHmmssfffffff.{extension}")); |
176 | } | 176 | } |
177 | + public static void ShutDown(ShutDownMode oparation) | ||
178 | + { | ||
179 | + string filename = string.Empty; | ||
180 | + string arguments = string.Empty; | ||
181 | + switch (oparation) | ||
182 | + { | ||
183 | + case ShutDownMode.ShutDown: | ||
184 | + filename = "shutdown.exe"; | ||
185 | + arguments = "-s"; | ||
186 | + break; | ||
187 | + case ShutDownMode.Restart: | ||
188 | + filename = "shutdown.exe"; | ||
189 | + arguments = "-r"; | ||
190 | + break; | ||
191 | + case ShutDownMode.Logoff: | ||
192 | + filename = "shutdown.exe"; | ||
193 | + arguments = "-l"; | ||
194 | + break; | ||
195 | + case ShutDownMode.Lock: | ||
196 | + filename = "Rundll32.exe"; | ||
197 | + arguments = "User32.dll, LockWorkStation"; | ||
198 | + break; | ||
199 | + case ShutDownMode.Hibernation: | ||
200 | + filename = @"%windir%\system32\rundll32.exe"; | ||
201 | + arguments = "PowrProf.dll, SetSuspendState"; | ||
202 | + break; | ||
203 | + case ShutDownMode.Sleep: | ||
204 | + filename = "Rundll32.exe"; | ||
205 | + arguments = "powrprof.dll, SetSuspendState 0,1,0"; | ||
206 | + break; | ||
207 | + } | ||
208 | + ProcessStartInfo startinfo = new ProcessStartInfo(filename, arguments); | ||
209 | + Process.Start(startinfo); | ||
210 | + } | ||
211 | + public enum ShutDownMode { Sleep, Hibernation,Lock,Logoff,Restart,ShutDown,} | ||
177 | } | 212 | } |
178 | } | 213 | } |
Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs
0 → 100644
@@ -0,0 +1,163 @@ | @@ -0,0 +1,163 @@ | ||
1 | +using System; | ||
2 | +using System.IO; | ||
3 | +using System.Configuration.Install; | ||
4 | +using System.Collections.Generic; | ||
5 | +using System.Linq; | ||
6 | +using System.ServiceProcess; | ||
7 | +using System.Text; | ||
8 | +using System.Threading; | ||
9 | +using System.Threading.Tasks; | ||
10 | + | ||
11 | +using Microsoft.Web.Administration; | ||
12 | +using System.Management; | ||
13 | +using System.Diagnostics; | ||
14 | + | ||
15 | +using Vrh.Log4Pro.MaintenanceConsole.MenuNS; | ||
16 | +using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS; | ||
17 | +using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; | ||
18 | +using Vrh.Log4Pro.MaintenanceConsole.ToolsNS; | ||
19 | +using Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS; | ||
20 | + | ||
21 | + | ||
22 | +using Vrh.XmlProcessing; | ||
23 | +using System.Xml.Linq; | ||
24 | +using System.Text.RegularExpressions; | ||
25 | + | ||
26 | +namespace Vrh.Log4Pro.MaintenanceConsole.InstallManagerNS | ||
27 | +{ | ||
28 | + #region MaintenanceTools class | ||
29 | + public static class InstallManager | ||
30 | + { | ||
31 | + private const string XMLCONNECTIONSTRING = "config=MAINTENANCECONSOLE_INSTALLMANAGER;"; | ||
32 | + private const string XMLCONNECTIONSTRING_DEFAULT = "file=Config.Xml;element=InstallManager;"; | ||
33 | + | ||
34 | + #region Execute | ||
35 | + public static object Execute(object o1 = null, object o2 = null) | ||
36 | + { | ||
37 | + var args = (o1 as Menu.ExecutorParameter).Args; | ||
38 | + string xmlcs = XMLCONNECTIONSTRING; | ||
39 | + var config = new InstallManagerXmlParser(xmlcs, "", "hu-HU"); | ||
40 | + | ||
41 | + var epWA = WebApplicationManager.GetExecutorParameter(args); | ||
42 | + | ||
43 | + var menufunctions = new Menu("Install Manager", "Select function!") | ||
44 | + .AddMenuItem(new Menu.Item(CLP.Module.InstallManager.Functions.EnvironmentInstall.KEY, "Environment install", EnvironmentInstall, new Menu.ExecutorParameter(cfg: config, null))) | ||
45 | + .AddMenuItem(new Menu.Item(CLP.Module.WebApplicationManager.Function.ConfigureIIS.KEY, "Configure IIS Default App Pool", WebApplicationManager.ConfigIIS, epWA)) | ||
46 | + .AddMenuItem(new Menu.ItemSeparator()) | ||
47 | + .AddMenuItem(new Menu.Item(CLP.Module.InstallManager.Functions.RestartServer.KEY, "Restart server", RestartServer, new Menu.ExecutorParameter(cfg: config, null))) | ||
48 | + .SetSelectionMode(Menu.SelectionMode.Single); | ||
49 | + menufunctions.ExecuteMenu(); | ||
50 | + return null; | ||
51 | + } | ||
52 | + #endregion Execute | ||
53 | + | ||
54 | + #region First level Executors with UI | ||
55 | + #region EnvironmentInstall | ||
56 | + private static object EnvironmentInstall(object parameter, object o) | ||
57 | + { | ||
58 | + var config = (parameter as Menu.ExecutorParameter).GetConfig<InstallManagerXmlParser>(); | ||
59 | + InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values grp; | ||
60 | + InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values os; | ||
61 | + string answer; | ||
62 | + foreach (var wfg in config.WindowsFeatureGroups) | ||
63 | + { | ||
64 | + grp = wfg.Group; | ||
65 | + os = wfg.OS; | ||
66 | + answer = ColorConsole.ReadLine($"Do You want to configure feature group '{grp}' for os '{os}'?(Y/N)", ConsoleColor.Yellow); | ||
67 | + if (answer.ToUpper() == "Y") { EnableWindowsFeatures(grp, os, config); } | ||
68 | + }; | ||
69 | + return o; | ||
70 | + } | ||
71 | + private static void EnableWindowsFeatures(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values grp | ||
72 | + , InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values os, InstallManagerXmlParser environmentinstallconfig) | ||
73 | + { | ||
74 | + ColorConsole.WriteLine($"Enableing {grp} features for os {os}...",ConsoleColor.Yellow); | ||
75 | + foreach (var fn in environmentinstallconfig.GetFeatureList(os,grp)) | ||
76 | + { | ||
77 | + if (string.IsNullOrWhiteSpace(fn) || fn.StartsWith("#")) { continue; } | ||
78 | + ColorConsole.WriteLine($"Enableing {grp} features for os {os}. Feature name: {fn}.",ConsoleColor.Yellow); | ||
79 | + string response; | ||
80 | + switch (os) | ||
81 | + { | ||
82 | + case InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values.WS2016: | ||
83 | + response = Tools.ExecuteAndGetStdIo("Install-WindowsFeature", $"-Name {fn} -IncludeAllSubFeature -IncludeManagementTools"); | ||
84 | + break; | ||
85 | + case InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values.W7: | ||
86 | + response = Tools.ExecuteAndGetStdIo("dism", $"/online /Enable-Feature /FeatureName:{fn}"); | ||
87 | + break; | ||
88 | + default: break; | ||
89 | + } | ||
90 | + } | ||
91 | + } | ||
92 | + #endregion EnvironmentInstall | ||
93 | + #region Restart server | ||
94 | + private static object RestartServer(object parameter, object o) | ||
95 | + { | ||
96 | + var config = parameter as InstallManagerXmlParser; | ||
97 | + string answer = ColorConsole.ReadLine($"Do You want to restart server?(Y/N)", ConsoleColor.Yellow); | ||
98 | + if (answer.ToUpper() == "Y") | ||
99 | + { | ||
100 | + ColorConsole.WriteLine($"Restarting...", ConsoleColor.Yellow); | ||
101 | + Tools.ShutDown(Tools.ShutDownMode.Restart); | ||
102 | + } | ||
103 | + return o; | ||
104 | + } | ||
105 | + #endregion Restart server | ||
106 | + | ||
107 | + #endregion First level Executors with UI | ||
108 | + } | ||
109 | + #endregion MaintenanceTools class | ||
110 | + | ||
111 | + #region InstallManagerXmlParser class | ||
112 | + public class InstallManagerXmlParser: XmlParser | ||
113 | + { | ||
114 | + public InstallManagerXmlParser(string xmlcs, string basefolder, string lcid) : base(xmlcs, basefolder, lcid, null) | ||
115 | + { | ||
116 | + WindowsFeatureGroups = new List<WindowsFeatures>(); | ||
117 | + foreach (var wfgXml in GetAllXElements(nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall),nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList))) | ||
118 | + { | ||
119 | + try { WindowsFeatureGroups.Add(new WindowsFeatures(wfgXml)); } | ||
120 | + catch { } | ||
121 | + } | ||
122 | + } | ||
123 | + public class WindowsFeatures: XmlLinqBase | ||
124 | + { | ||
125 | + public WindowsFeatures(XElement wfgXml) | ||
126 | + { | ||
127 | + OS = GetValue(nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS), wfgXml, InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.DEFAULT); | ||
128 | + Group = GetValue(nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group), wfgXml, InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.DEFAULT); | ||
129 | + FeatureList = wfgXml.Value?.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList(); | ||
130 | + } | ||
131 | + public InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values OS; | ||
132 | + public InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values Group; | ||
133 | + public List<string> FeatureList; | ||
134 | + } | ||
135 | + public List<WindowsFeatures> WindowsFeatureGroups; | ||
136 | + public List<string> GetFeatureList(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values os, InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values group) { return WindowsFeatureGroups?.FirstOrDefault(x => x.OS == os && x.Group == group)?.FeatureList; } | ||
137 | + #region XmlStructure | ||
138 | + public static class XmlStructure | ||
139 | + { | ||
140 | + public static class EnvironmentInstall | ||
141 | + { | ||
142 | + public static class WindowsFeatureList | ||
143 | + { | ||
144 | + public static class Attributes | ||
145 | + { | ||
146 | + public static class OS | ||
147 | + { | ||
148 | + public enum Values { WS2016, W7, } | ||
149 | + public const Values DEFAULT = Values.WS2016; | ||
150 | + } | ||
151 | + public static class Group | ||
152 | + { | ||
153 | + public enum Values { ALL, IIS, MSMQ, DOTNET, } | ||
154 | + public const Values DEFAULT = Values.IIS; | ||
155 | + } | ||
156 | + } | ||
157 | + } | ||
158 | + } | ||
159 | + } | ||
160 | + #endregion XmlStructure | ||
161 | + } | ||
162 | + #endregion InstallManagerXmlParser class | ||
163 | +} |
Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs
0 → 100644
@@ -0,0 +1,83 @@ | @@ -0,0 +1,83 @@ | ||
1 | +using System; | ||
2 | +using System.Collections.Generic; | ||
3 | +using System.Linq; | ||
4 | +using System.Messaging; | ||
5 | +using System.Text; | ||
6 | +using System.Threading.Tasks; | ||
7 | + | ||
8 | +namespace Vrh.Log4Pro.MaintenanceConsole | ||
9 | +{ | ||
10 | + class Manager___MSMQManager | ||
11 | + { | ||
12 | + void CreateQueue() | ||
13 | + { | ||
14 | + string ccs = @"localhost\private$\ljskskin"; | ||
15 | + string msmqservername = ""; | ||
16 | + bool msmqprivate = true; | ||
17 | + string msmqname = ""; | ||
18 | + string msmqFullname = msmqservername + "\\" + (msmqprivate ? "private$\\" : msmqname); | ||
19 | + if (!MessageQueue.Exists(ccs)) { MessageQueue.Create(msmqFullname); } | ||
20 | + } | ||
21 | + void DeleteQueue() | ||
22 | + { | ||
23 | + string ccs = @"localhost\private$\ljskskin"; | ||
24 | + if (MessageQueue.Exists(ccs)) { MessageQueue.Delete(ccs); } | ||
25 | + } | ||
26 | + void Purge() | ||
27 | + { | ||
28 | + string ccs = @"localhost\private$\ljskskin"; | ||
29 | + var msmq = new MessageQueue(ccs); | ||
30 | + msmq.Purge(); | ||
31 | + } | ||
32 | + void Peek() | ||
33 | + { | ||
34 | + string ccs = @"localhost\private$\ljskskin"; | ||
35 | + var msmq = new MessageQueue(ccs); | ||
36 | + | ||
37 | + Message m = msmq.Peek(new TimeSpan(0)); | ||
38 | + m.BodyStream.Position = 0; | ||
39 | + var sr = new System.IO.StreamReader(m.BodyStream); | ||
40 | + var label = m.Label; | ||
41 | + var body = sr.ReadToEnd().Replace(((char)0).ToString(), ""); | ||
42 | + } | ||
43 | + void Read() | ||
44 | + { | ||
45 | + string ccs = @"localhost\private$\ljskskin"; | ||
46 | + var msmq = new MessageQueue(ccs); | ||
47 | + var frmA = new System.Messaging.ActiveXMessageFormatter(); | ||
48 | + var frmB = new System.Messaging.BinaryMessageFormatter(); | ||
49 | + var frmX = new System.Messaging.XmlMessageFormatter(); | ||
50 | + msmq.Formatter = frmA; | ||
51 | + | ||
52 | + Message m = msmq.Receive(new TimeSpan(0)); | ||
53 | + m.BodyStream.Position = 0; | ||
54 | + | ||
55 | + Encoding enc = System.Text.Encoding.UTF8; | ||
56 | + enc = System.Text.Encoding.UTF7; | ||
57 | + enc = System.Text.Encoding.UTF32; | ||
58 | + enc = System.Text.Encoding.Unicode; | ||
59 | + enc = System.Text.Encoding.BigEndianUnicode; | ||
60 | + enc = System.Text.Encoding.ASCII; | ||
61 | + enc = System.Text.Encoding.Default; | ||
62 | + var sr = new System.IO.StreamReader(m.BodyStream, enc); | ||
63 | + var label = m.Label; | ||
64 | + var body = sr.ReadToEnd().Replace(((char)0).ToString(), ""); | ||
65 | + } | ||
66 | + void Send() | ||
67 | + { | ||
68 | + string ccs = @"localhost\private$\ljskskin"; | ||
69 | + | ||
70 | + var frmA = new System.Messaging.ActiveXMessageFormatter(); | ||
71 | + var msmq = new MessageQueue(ccs); | ||
72 | + msmq.Formatter = frmA; | ||
73 | + | ||
74 | + string messagetosend = ""; | ||
75 | + string messagelabel = ""; | ||
76 | + | ||
77 | + Encoding enc = System.Text.Encoding.UTF8; | ||
78 | + byte[] encodedmessage = enc.GetBytes(messagetosend); | ||
79 | + | ||
80 | + msmq.Send(encodedmessage, messagelabel); | ||
81 | + } | ||
82 | + } | ||
83 | +} |
Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
@@ -15,6 +15,8 @@ using System.Diagnostics; | @@ -15,6 +15,8 @@ using System.Diagnostics; | ||
15 | using Vrh.Log4Pro.MaintenanceConsole.MenuNS; | 15 | using Vrh.Log4Pro.MaintenanceConsole.MenuNS; |
16 | using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS; | 16 | using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS; |
17 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; | 17 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; |
18 | +using Vrh.Log4Pro.MaintenanceConsole.ToolsNS; | ||
19 | + | ||
18 | 20 | ||
19 | using Vrh.XmlProcessing; | 21 | using Vrh.XmlProcessing; |
20 | using System.Xml.Linq; | 22 | using System.Xml.Linq; |
@@ -37,8 +39,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -37,8 +39,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
37 | 39 | ||
38 | var menufunctions = new Menu("Maintenance Tools", "Select function!") | 40 | var menufunctions = new Menu("Maintenance Tools", "Select function!") |
39 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.RegexTester.KEY, "Regex tester", RegexTester,new Menu.ExecutorParameter(cfg:config))) | 41 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.RegexTester.KEY, "Regex tester", RegexTester,new Menu.ExecutorParameter(cfg:config))) |
40 | - .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool1.KEY, "Tool #1", Tool1, new Menu.ExecutorParameter(cfg: config, null))) | ||
41 | - .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool2.KEY, "Tool #2", Tool2, new Menu.ExecutorParameter(cfg: config, null))) | 42 | + .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool.KEY, "Tool sample", Tool2, new Menu.ExecutorParameter(cfg: config, null))) |
42 | .SetSelectionMode(Menu.SelectionMode.Single); | 43 | .SetSelectionMode(Menu.SelectionMode.Single); |
43 | menufunctions.ExecuteMenu(); | 44 | menufunctions.ExecuteMenu(); |
44 | return null; | 45 | return null; |
@@ -80,13 +81,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -80,13 +81,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
80 | return o; | 81 | return o; |
81 | } | 82 | } |
82 | #endregion RegexTester | 83 | #endregion RegexTester |
84 | + | ||
83 | #region Tool templates | 85 | #region Tool templates |
84 | - private static object Tool1(object parameter, object o) | ||
85 | - { | ||
86 | - var config = parameter as MaintenanceToolsXmlProcessor; | ||
87 | - ColorConsole.ReadLine($"{nameof(Tool1)} is not ready yet...",ConsoleColor.Yellow); | ||
88 | - return o; | ||
89 | - } | ||
90 | private static object Tool2(object parameter, object o) | 86 | private static object Tool2(object parameter, object o) |
91 | { | 87 | { |
92 | var config = parameter as MaintenanceToolsXmlProcessor; | 88 | var config = parameter as MaintenanceToolsXmlProcessor; |
@@ -102,6 +98,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -102,6 +98,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
102 | public class MaintenanceToolsXmlProcessor : XmlParser | 98 | public class MaintenanceToolsXmlProcessor : XmlParser |
103 | { | 99 | { |
104 | public XElement RegexpTesterConfig; | 100 | public XElement RegexpTesterConfig; |
101 | + | ||
105 | #region constructor | 102 | #region constructor |
106 | public MaintenanceToolsXmlProcessor(string xmlcs, string basefolder, string lcid) : base(xmlcs, basefolder, lcid, null) | 103 | public MaintenanceToolsXmlProcessor(string xmlcs, string basefolder, string lcid) : base(xmlcs, basefolder, lcid, null) |
107 | { | 104 | { |
Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
@@ -67,10 +67,10 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS | @@ -67,10 +67,10 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS | ||
67 | if (enabletabledatabackup) { SQLDataBaseManagerCore.BackupSqlData(sqld, timestamp); } | 67 | if (enabletabledatabackup) { SQLDataBaseManagerCore.BackupSqlData(sqld, timestamp); } |
68 | } | 68 | } |
69 | } | 69 | } |
70 | - #endregion Execute | 70 | + #endregion Execute |
71 | 71 | ||
72 | - #region First level Executors with UI | ||
73 | - private static object CreateDataScripts(object parameter, object o) | 72 | + #region First level Executors with UI |
73 | + private static object CreateDataScripts(object parameter, object o) | ||
74 | { | 74 | { |
75 | var config = (parameter as Menu.ExecutorParameter).GetConfig<SQLDataBaseManagerXmlProcessor>(); | 75 | var config = (parameter as Menu.ExecutorParameter).GetConfig<SQLDataBaseManagerXmlProcessor>(); |
76 | var args = (parameter as Menu.ExecutorParameter).Args; | 76 | var args = (parameter as Menu.ExecutorParameter).Args; |
@@ -937,7 +937,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS | @@ -937,7 +937,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS | ||
937 | #endregion BackupSqlData | 937 | #endregion BackupSqlData |
938 | #endregion private methods | 938 | #endregion private methods |
939 | } | 939 | } |
940 | - #endregion class SQLDataBaseManager | 940 | +#endregion class SQLDataBaseManager |
941 | 941 | ||
942 | #region SQLDataBaseManager class | 942 | #region SQLDataBaseManager class |
943 | public class SQLDataBaseManagerXmlProcessor : XmlParser | 943 | public class SQLDataBaseManagerXmlProcessor : XmlParser |
Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
@@ -13,6 +13,7 @@ using System.Diagnostics; | @@ -13,6 +13,7 @@ using System.Diagnostics; | ||
13 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; | 13 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; |
14 | using Vrh.Log4Pro.MaintenanceConsole.MenuNS; | 14 | using Vrh.Log4Pro.MaintenanceConsole.MenuNS; |
15 | using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS; | 15 | using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS; |
16 | +using Vrh.Log4Pro.MaintenanceConsole.ToolsNS; | ||
16 | 17 | ||
17 | using Vrh.XmlProcessing; | 18 | using Vrh.XmlProcessing; |
18 | using VRH.Common; | 19 | using VRH.Common; |
@@ -23,9 +24,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -23,9 +24,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
23 | #region WebApplicationManager | 24 | #region WebApplicationManager |
24 | public static class WebApplicationManager | 25 | public static class WebApplicationManager |
25 | { | 26 | { |
26 | - private const string XMLCONNECTIONSTRING = "config=MAINTENANCECONSOLE_WEBAPPLICATIONMANAGER;"; | 27 | + internal const string XMLCONNECTIONSTRING = "config=MAINTENANCECONSOLE_WEBAPPLICATIONMANAGER;"; |
27 | private const string XMLCONNECTIONSTRING_DEFAULT = "file=Config.Xml;element=WebApplications;"; | 28 | private const string XMLCONNECTIONSTRING_DEFAULT = "file=Config.Xml;element=WebApplications;"; |
28 | 29 | ||
30 | + public static Menu.ExecutorParameter GetExecutorParameter(string[] args) | ||
31 | + { | ||
32 | + var configWA = new WebApplicationManagerXmlProcessor(XMLCONNECTIONSTRING, "", "hu-HU"); | ||
33 | + var epWA = new Menu.ExecutorParameter(configWA, args); | ||
34 | + return epWA; | ||
35 | + } | ||
36 | + | ||
29 | #region public method: Execute | 37 | #region public method: Execute |
30 | public static object Execute(object o1=null,object o2=null) | 38 | public static object Execute(object o1=null,object o2=null) |
31 | { | 39 | { |
@@ -286,6 +294,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -286,6 +294,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
286 | ColorConsole.WriteLine($"{d.Xml_SiteName} {successstr}."); | 294 | ColorConsole.WriteLine($"{d.Xml_SiteName} {successstr}."); |
287 | } | 295 | } |
288 | } | 296 | } |
297 | + | ||
298 | + public static object ConfigIIS(object parameters, object o) | ||
299 | + { | ||
300 | + var config = (parameters as Menu.ExecutorParameter).GetConfig<WebApplicationManagerXmlProcessor>(); | ||
301 | + var args = (parameters as Menu.ExecutorParameter).Args; | ||
302 | + | ||
303 | + ColorConsole.WriteLine($"Configuring IIS default web application...",ConsoleColor.Yellow); | ||
304 | + WebApplicationManagerCore.ConfigIIS(); | ||
305 | + return o; | ||
306 | + } | ||
289 | private static object Register(object parameters, object o) | 307 | private static object Register(object parameters, object o) |
290 | { | 308 | { |
291 | var config = (parameters as Menu.ExecutorParameter).GetConfig<WebApplicationManagerXmlProcessor>(); | 309 | var config = (parameters as Menu.ExecutorParameter).GetConfig<WebApplicationManagerXmlProcessor>(); |
@@ -613,6 +631,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -613,6 +631,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
613 | } | 631 | } |
614 | #endregion private method: CollectWebAppInfo | 632 | #endregion private method: CollectWebAppInfo |
615 | 633 | ||
634 | + public static void ConfigIIS() | ||
635 | + { | ||
636 | + string response = Tools.ExecuteAndGetStdIo(@"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe" ,@"/i"); | ||
637 | + using (ServerManager serverManager = new ServerManager()) | ||
638 | + { | ||
639 | + ApplicationPool pool = serverManager.ApplicationPools["DefaultAppPool"]; | ||
640 | + pool.Enable32BitAppOnWin64 = true; | ||
641 | + pool.ManagedRuntimeVersion = "v4.0"; | ||
642 | + CommitChanges(serverManager, pool.Name); | ||
643 | + } | ||
644 | + } | ||
645 | + | ||
616 | #region private method:RegisterWebApplication | 646 | #region private method:RegisterWebApplication |
617 | public static void RegisterWebApplication(string sitename, string poolname, string appname, string poolphypath, string sitephypath, int siteport, bool recreatepool, bool recreatesite, bool recreateapp,ManagedPipelineMode plmode) | 647 | public static void RegisterWebApplication(string sitename, string poolname, string appname, string poolphypath, string sitephypath, int siteport, bool recreatepool, bool recreatesite, bool recreateapp,ManagedPipelineMode plmode) |
618 | { | 648 | { |
Vrh.Log4Pro.MaintenanceConsole/Program.cs
@@ -21,6 +21,7 @@ using Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS; | @@ -21,6 +21,7 @@ using Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS; | ||
21 | using Vrh.Log4Pro.MaintenanceConsole.FileCleanerManagerNS; | 21 | using Vrh.Log4Pro.MaintenanceConsole.FileCleanerManagerNS; |
22 | using Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS; | 22 | using Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS; |
23 | using Vrh.Log4Pro.MaintenanceConsole.UserManagerNS; | 23 | using Vrh.Log4Pro.MaintenanceConsole.UserManagerNS; |
24 | +using Vrh.Log4Pro.MaintenanceConsole.InstallManagerNS; | ||
24 | 25 | ||
25 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; | 26 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; |
26 | 27 | ||
@@ -66,6 +67,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole | @@ -66,6 +67,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole | ||
66 | .AddMenuItem(new Menu.Item(CLP.Module.BackupPackageManager.KEY, "Backup Package Manager", BackupPackageManager.Execute, new Menu.ExecutorParameter(args: args))) | 67 | .AddMenuItem(new Menu.Item(CLP.Module.BackupPackageManager.KEY, "Backup Package Manager", BackupPackageManager.Execute, new Menu.ExecutorParameter(args: args))) |
67 | .AddMenuItem(new Menu.Item(CLP.Module.SQLDataBaseManager.KEY, "SQL Database Manager", SQLDataBaseManager.Execute, new Menu.ExecutorParameter(args: args))) | 68 | .AddMenuItem(new Menu.Item(CLP.Module.SQLDataBaseManager.KEY, "SQL Database Manager", SQLDataBaseManager.Execute, new Menu.ExecutorParameter(args: args))) |
68 | .AddMenuItem(new Menu.Item(CLP.Module.Log4ProUserManager.KEY, "Log4Pro User Manager", UserManager.Execute, new Menu.ExecutorParameter(args: args))) | 69 | .AddMenuItem(new Menu.Item(CLP.Module.Log4ProUserManager.KEY, "Log4Pro User Manager", UserManager.Execute, new Menu.ExecutorParameter(args: args))) |
70 | + .AddMenuItem(new Menu.Item(CLP.Module.InstallManager.KEY, "Install Manager", InstallManager.Execute, new Menu.ExecutorParameter(args: args))) | ||
69 | .AddMenuItem(new Menu.ItemSeparator('-')) | 71 | .AddMenuItem(new Menu.ItemSeparator('-')) |
70 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.KEY, "Maintenance tools", MaintenanceToolManager.Execute, new Menu.ExecutorParameter(args: args))) | 72 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.KEY, "Maintenance tools", MaintenanceToolManager.Execute, new Menu.ExecutorParameter(args: args))) |
71 | .SetMenuHeaderDisplayer(DisplayComputerInfo) | 73 | .SetMenuHeaderDisplayer(DisplayComputerInfo) |
Vrh.Log4Pro.MaintenanceConsole/Vrh.Log4Pro.MaintenanceConsole.csproj
@@ -216,6 +216,7 @@ | @@ -216,6 +216,7 @@ | ||
216 | <HintPath>..\packages\System.IO.FileSystem.Primitives.4.0.1\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> | 216 | <HintPath>..\packages\System.IO.FileSystem.Primitives.4.0.1\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> |
217 | </Reference> | 217 | </Reference> |
218 | <Reference Include="System.Management" /> | 218 | <Reference Include="System.Management" /> |
219 | + <Reference Include="System.Messaging" /> | ||
219 | <Reference Include="System.Net.Http, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> | 220 | <Reference Include="System.Net.Http, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
220 | <HintPath>..\packages\System.Net.Http.4.1.0\lib\net46\System.Net.Http.dll</HintPath> | 221 | <HintPath>..\packages\System.Net.Http.4.1.0\lib\net46\System.Net.Http.dll</HintPath> |
221 | </Reference> | 222 | </Reference> |
@@ -291,6 +292,8 @@ | @@ -291,6 +292,8 @@ | ||
291 | <Compile Include="ConsoleFunction - Tools - Membership.cs" /> | 292 | <Compile Include="ConsoleFunction - Tools - Membership.cs" /> |
292 | <Compile Include="ConsoleFunction - Tools.cs" /> | 293 | <Compile Include="ConsoleFunction - Tools.cs" /> |
293 | <Compile Include="Manager - BackupPackageManager.cs" /> | 294 | <Compile Include="Manager - BackupPackageManager.cs" /> |
295 | + <Compile Include="Manager - InstallManager.cs" /> | ||
296 | + <Compile Include="Manager - MSMQManager.cs" /> | ||
294 | <Compile Include="Manager - UserManager.cs" /> | 297 | <Compile Include="Manager - UserManager.cs" /> |
295 | <Compile Include="Manager - SQLDataBaseManager.cs" /> | 298 | <Compile Include="Manager - SQLDataBaseManager.cs" /> |
296 | <Compile Include="Manager - ScheduledTaskManager.cs" /> | 299 | <Compile Include="Manager - ScheduledTaskManager.cs" /> |