diff --git a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Menu.cs b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Menu.cs
index 9a741c6..3917800 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Menu.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Menu.cs
@@ -338,11 +338,11 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MenuNS
///
///
///
- public Selection Select(string forcedselectionkeylist=null)
+ public Selection Select(string forcedselectionkeylist=null, bool forcedcommandmode=false)
{
string selectionliststr;
var result = new Selection();
- if (Menu.IsCommandMode())
+ if (Menu.IsCommandMode() || forcedcommandmode)
{
selectionliststr = forcedselectionkeylist??"EX";
}
@@ -360,7 +360,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MenuNS
selectionliststr = ColorConsole.ReadLine().ToUpper();
}
}
- if (selectionliststr == "EX")
+ if (selectionliststr.ToUpper() == "EX")
{
result.Result = SelectionResult.Exit;
result.SelectedKeyList = null;
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs
index 70dceef..8d8c0c7 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs
@@ -60,7 +60,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.InstallManagerNS
var selectedos = GetOsCode();if (selectedos == null) { return o; }
string featurename = ColorConsole.ReadLine($"Enter Windows feature name!", ConsoleColor.Green,required:true);
- if (featurename.ToLower() == "ex") { return o; }
+ if (featurename.ToUpper() == "EX") { return o; }
foreach (var wfg in config.WindowsFeatureGroups.Where(x => selectedos == null || x.OS == selectedos))
{
@@ -119,7 +119,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.InstallManagerNS
: "";
var oslist = Enum.GetNames(typeof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values)).ToList();
string answer = ColorConsole.ReadLine($"Enter os code (friendly name is: '{osfrn}')!", ConsoleColor.Green, validitylist: oslist, defaultvalue: defaultvalue.ToString(), required: true);
- if (answer.ToLower() == "ex") { return null; }
+ if (answer.ToUpper() == "EX") { return null; }
InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values? selectedos = null;
selectedos = (InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values)Enum
.Parse(typeof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values), answer);
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs
index c678655..6515249 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs
@@ -212,7 +212,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS
while (true)
{
sn = ColorConsole.ReadLine("Enter server ip/name to get queue info from (enter . for localhost)", defaultvalue: sndefault);
- if (sn.ToLower() == "ex") { return o; }
+ if (sn.ToUpper() == "EX") { return o; }
sndefault = sn;
List queuearray = new List();
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
index ffdf258..68e1b7d 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
@@ -86,9 +86,9 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
while(true)
{
var regexstr = ColorConsole.ReadLine($"Enter REGEX to test with:", ConsoleColor.Yellow);
- if (regexstr == "EX") { break; }
+ if (regexstr.ToUpper() == "EX") { break; }
var teststr = ColorConsole.ReadLine($"Enter STRING to test:", ConsoleColor.Yellow);
- if (teststr == "EX") { break; }
+ if (teststr.ToUpper() == "EX") { break; }
var rgx = new Regex(regexstr, RegexOptions.None);
var regexmatch = rgx.Match(teststr);
@@ -136,7 +136,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
}
var command = firstrun ? "STARTANDSHOW *" : ColorConsole.ReadLine();
- if (command == "EX") { break; }
+ if (command.ToUpper() == "EX") { break; }
if (command == "") { continue; }
var cmdarray = command.Split(' ');
if (cmdarray.Length!=2) { ColorConsole.WriteLine($"Incorrect answer!", ConsoleColor.Red); continue; }
@@ -387,7 +387,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
if (success) { selectedcommand.Execute(); }//végrehajtja a parancsot }
string successmsg = success ? "succeeded" : "failed";
string answer = ColorConsole.ReadLine($"{nameof(AseConfig)} command execution {successmsg} on {currentip}!\nEnter EX to exit from execution loop, anything else to continue!", success?ConsoleColor.Yellow: ConsoleColor.Red);
- if (answer.ToLower() == "ex") break;
+ if (answer.ToUpper() == "EX") break;
}
return o;
}
@@ -405,7 +405,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
ColorConsole.WriteLine(onelineinfo.Item3, ConsoleColor.Gray);
}
var answer = ColorConsole.ReadLine($"Select command key", ConsoleColor.Gray, bracket: "[]",validitylist: aseconfigcommandList.Select(c => c.Key).ToList());
- if (answer.ToLower() == "ex") return null;
+ if (answer.ToUpper() == "EX") return null;
return answer;
}
private class ASEConfigCommand
@@ -599,8 +599,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
ColorConsole.WriteLine(prompttext,ConsoleColor.Yellow);
ColorConsole.WriteLine($"Enter NONE (or nothing) for no value!", ConsoleColor.Gray);
value = ColorConsole.ReadLine();
- value = value.ToLower() == "ex" ? null
- : value.ToLower() == "none" ? "<None>"
+ value = value.ToUpper() == "EX" ? null
+ : value.ToUpper() == "NONE" ? "<None>"
: value == "" ? "<None>"
: value;
return value;
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
index b5ad19c..04c9de1 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
@@ -257,7 +257,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS
}
var scriptkey = ColorConsole.ReadLine("Select the script! [empty]=next DB, [*]=all, [EX]=exit.", ConsoleColor.Yellow, prefix:" ", suffix: " --> ", validitylist: vlist);
if (string.IsNullOrWhiteSpace(scriptkey)) { continue; }
- if (scriptkey.ToLower()=="ex") { return o; }
+ if (scriptkey.ToUpper() == "EX") { return o; }
SQLDataBase.SQLScript ss = sqld.Xml_SQLScriptList.FirstOrDefault(s=>s.Key==scriptkey);
if (!Tools.ResolveArguments(ss.ArgumentParameters, ss.ScriptText,out string ssScriptText)) { return o; }
ColorConsole.WriteLine(ssScriptText);
@@ -296,7 +296,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS
ColorConsole.WriteLine(prefix: " ", text: "TruncateOnly", bracket: "[]", suffix: $": does not compact the data, but removes free space from the DB. Use togethere with FreeSpacePercent.", f: ConsoleColor.Yellow);
ColorConsole.WriteLine(prefix: " ", text: "FreeSpacePercent", bracket: "[]", suffix: $": an integer number between 0-100,default=10; indicates the percentage of free space in the shrinked DB.", f: ConsoleColor.Yellow);
var shrinkoptions = ColorConsole.ReadLine($"EX=exit.", ConsoleColor.Yellow, suffix: " --> ");
- if (shrinkoptions == "EX") { continue; }
+ if (shrinkoptions.ToUpper() == "EX") { continue; }
else if (string.IsNullOrWhiteSpace(shrinkoptions)) { shrinkoptions = "Default,10"; }
string option, fsp = null;
int fspint = 10;
@@ -334,13 +334,13 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS
try
{
var restoredbname = ColorConsole.ReadLine($"Enter the name of the DB to copy '{sqld.DBName}' to. Empty={sqld.DBName}. EX=exit.", ConsoleColor.Yellow, suffix: " --> ");
- if (restoredbname == "EX") { continue; }
+ if (restoredbname.ToUpper() == "EX") { continue; }
else if (string.IsNullOrWhiteSpace(restoredbname)) { restoredbname = sqld.DBName; }
ColorConsole.WriteLine("Enter the path for the DB physical files.", ConsoleColor.Yellow);
ColorConsole.WriteLine(sqld.PhysicalFilesDirectoryPath, ConsoleColor.Yellow, prefix: $" Empty=current location of source DB: ", bracket: "[]");
ColorConsole.WriteLine(SQLDataBaseManagerCore.GetServerDefaultPhysicalDATFileLocation(sqld.SQLCS), ConsoleColor.Yellow,prefix: $" DEFAULT= sql server default location.",bracket:"[]");
var targetdirectory = ColorConsole.ReadLine($"Enter the target path.EX=exit.", ConsoleColor.Yellow, suffix: " --> ");
- if (targetdirectory == "EX") { continue; }
+ if (targetdirectory.ToUpper() == "EX") { continue; }
else if (targetdirectory == "DEFAULT") { targetdirectory = null; ; }
else if (string.IsNullOrWhiteSpace(targetdirectory)) { targetdirectory = sqld.PhysicalFilesDirectoryPath; }
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - UserManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - UserManager.cs
index 385cfa2..3bb4c03 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - UserManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - UserManager.cs
@@ -80,9 +80,9 @@ namespace Vrh.Log4Pro.MaintenanceConsole.UserManagerNS
var initactionblocknamelist = string.Join(",", config.InitActionBlockList.Select(iab => iab.Name).ToArray());
ColorConsole.WriteLine($"Select one init action block from this list: {initactionblocknamelist}", ConsoleColor.Yellow);
var iabname = ColorConsole.ReadLine($"Enter init action block name:", ConsoleColor.Yellow).ToLower();
- if (iabname == "EX") { return null; }
+ if (iabname.ToUpper() == "EX") { return null; }
var stepbystep = ColorConsole.ReadLine($"Do You want to execute step-by-step (true/false/yes/no/?:", ConsoleColor.Yellow).ToLower().Replace("yes","true")==bool.TrueString.ToLower();
- if (iabname == "EX") { return null; }
+ if (iabname.ToUpper() == "EX") { return null; }
try
{
var iab = config.InitActionBlockList.FirstOrDefault(_iab => _iab.Name.ToLower() == iabname);
@@ -92,7 +92,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.UserManagerNS
if (stepbystep)
{
ColorConsole.WriteLine($"Action:{cr.Type}, role names: {cr.Roles}.", ConsoleColor.Yellow);
- var sel = ColorConsole.ReadLine($"Press enter to continue.", ConsoleColor.Gray); if (sel.ToLower() == "ex") return o;
+ var sel = ColorConsole.ReadLine($"Press enter to continue.", ConsoleColor.Gray); if (sel.ToUpper() == "EX") return o;
}
foreach (var rn in cr.RoleArray) { try { MembershipTools.Roles.Create(rn); } catch (Exception ex) { ColorConsole.WriteLine(ex.Message, ConsoleColor.Red); }; }
}
@@ -101,7 +101,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.UserManagerNS
if (stepbystep)
{
ColorConsole.WriteLine($"Action:{cr.Type}, rolegroup name: {cr.Name}, roles: {cr.Roles}.", ConsoleColor.Yellow);
- var sel = ColorConsole.ReadLine($"Press enter to continue.", ConsoleColor.Gray); if (sel.ToLower() == "ex") return o;
+ var sel = ColorConsole.ReadLine($"Press enter to continue.", ConsoleColor.Gray); if (sel.ToUpper() == "EX") return o;
}
try
{
@@ -116,7 +116,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.UserManagerNS
{
var crtext = cr.Superuser ? $"superuser" : $"rolegroups: {cr.RoleGroups}, roles: {cr.Roles}";
ColorConsole.WriteLine($"Action:{cr.Type}, username: {cr.Name}[{cr.Password}], {crtext}.", ConsoleColor.Yellow);
- var sel = ColorConsole.ReadLine($"Press enter to continue.", ConsoleColor.Gray); if (sel.ToLower() == "ex") return o;
+ var sel = ColorConsole.ReadLine($"Press enter to continue.", ConsoleColor.Gray); if (sel.ToUpper() == "EX") return o;
}
try
{
@@ -135,9 +135,9 @@ namespace Vrh.Log4Pro.MaintenanceConsole.UserManagerNS
{
var config = (parameter as Menu.ExecutorParameter).GetConfig();
var suname = ColorConsole.ReadLine($"Enter Superuser name:", ConsoleColor.Yellow);
- if (suname == "EX") { return null; }
+ if (suname.ToUpper() == "EX") { return null; }
var supsw = ColorConsole.ReadLine($"Enter Superuser password:", ConsoleColor.Yellow);
- if (supsw == "EX") { return null; }
+ if (supsw.ToUpper() == "EX") { return null; }
try
{
@@ -166,7 +166,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.UserManagerNS
{
var config = (parameter as Menu.ExecutorParameter).GetConfig();
var uname = ColorConsole.ReadLine($"Enter username:", ConsoleColor.Yellow);
- if (uname == "EX") { return null; }
+ if (uname.ToUpper() == "EX") { return null; }
try
{
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
index 50a56a9..582f5cd 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
@@ -119,7 +119,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
urlname = ColorConsole.ReadLine();
}
else { urlname = "*"; }
- if (urlname.ToLower() == "ex") return o;
+ if (urlname.ToUpper() == "EX") return o;
if (string.IsNullOrWhiteSpace(urlname)) goto getsendurlnameurlinputcycle;
string urltext;
@@ -132,12 +132,12 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
ColorConsole.WriteLine("Enter url to send:", ConsoleColor.Yellow);
ColorConsole.WriteLine("Sample (Enter 'Sample' to use this):", ConsoleColor.Gray, suffix: TESTURL);
urltext = ColorConsole.ReadLine();
- if (urltext.ToLower() == "ex") return o;
+ if (urltext.ToUpper() == "EX") return o;
if (urltext.ToLower() == "sample") urltext = TESTURL;
if (string.IsNullOrWhiteSpace(urltext)) goto getsendurlnameurlinputcycle;
ColorConsole.WriteLine("Enter request type (GET/POST):", ConsoleColor.Yellow);
string gpstr = ColorConsole.ReadLine();
- if (gpstr.ToLower() == "ex") return o;
+ if (gpstr.ToUpper() == "EX") return o;
gp = HttpTools.RequestType.GET;
if (string.IsNullOrWhiteSpace(gpstr)) goto getsendurlnameurlinputcycle;
else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.GET)) { gp = HttpTools.RequestType.GET; }
@@ -145,7 +145,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
ColorConsole.WriteLine("Enter timeout (0 for default):", ConsoleColor.Yellow);
string tostring = ColorConsole.ReadLine();
- if (tostring.ToLower() == "ex") return o;
+ if (tostring.ToUpper() == "EX") return o;
to = 0;
if (string.IsNullOrWhiteSpace(tostring)) goto getsendurlnameurlinputcycle;
else if (!int.TryParse(tostring,out to)) { }
@@ -464,7 +464,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
{
var wa = p.Parameters as WebApplication;
GetImpersonateInfo(wa, out string username, out string password, out string impersonate);
- if (username == "EX" || password == "EX" || impersonate == "EX") { return o; }
+ if (username.ToUpper() == "EX" || password.ToUpper() == "EX" || impersonate.ToUpper() == "EX") { return o; }
string olduserinfo = WebApplicationManagerCore.GetCurrentImpersonateIdentityInfo(wa);
WebApplicationManagerCore.SetImpersonateIdentity(wa.Xml_ImpersonateIdentityConfigFile, impersonate, username, password);
ColorConsole.WriteLine($"Impersonate identity changed for webapp {wa.Xml_AppName}.");
@@ -491,7 +491,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
ColorConsole.WriteLine($"Set impersonate-on status (true/false).[Enter]=finish input.EX=exit");
ColorConsole.WriteLine($"Empty in XML={defaultinxml}");
impersonate = ColorConsole.ReadLine().ToUpper();
- if (impersonate == "EX") { return; }
+ if (impersonate.ToUpper() == "EX") { return; }
else if (impersonate == "")
{
username = wa.Xml_ImpersonateIdentityUsername;
@@ -510,13 +510,13 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
ColorConsole.WriteLine($"Enter username.[Enter]=finish input.EX=exit");
if (wa.Xml_ImpersonateIdentity) { ColorConsole.WriteLine(defaultinxml); }
username = ColorConsole.ReadLine().ToUpper();
- if (username == "EX") { return; }
+ if (username.ToUpper() == "EX") { return; }
else if (wa.Xml_ImpersonateIdentity && username == "")
{
}
ColorConsole.WriteLine($"Enter password.[Enter]=finish input.Empty=no password.EX=exit");
password = ColorConsole.ReadLine().ToUpper();
- if (password == "EX") { return; }
+ if (password.ToUpper() == "EX") { return; }
break;
//bool valid = System.Web.ApplicationSerices.AuthenticationService.ValidateUser(username, password, mull);
}
@@ -546,7 +546,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
var wa = p.Parameters as WebApplication;
ColorConsole.WriteLine($"Set pool identity info for webapp {wa.Xml_AppName}. Pool:{wa.Xml_PoolName}, site:{wa.Xml_SiteName}", ConsoleColor.DarkYellow);
GetPoolIdentityInfo(wa, out string username, out string password, out ProcessModelIdentityType poolidentitytype);
- if (username == "EX" || password == "EX") { return o; }
+ if (username.ToUpper() == "EX" || password.ToUpper() == "EX") { return o; }
string olduserinfo = WebApplicationManagerCore.GetCurrentPoolIdentityInfo(wa);
WebApplicationManagerCore.SetPoolUserAccount(wa.Xml_AppName, wa.Xml_SiteName, username, password, poolidentitytype);
ColorConsole.WriteLine($"Pool identity changed for webapp {wa.Xml_AppName}.");
@@ -577,7 +577,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
username = ColorConsole.ReadLine().ToUpper();
password = "";
poolidentitytype = ProcessModelIdentityType.SpecificUser;
- if (username == "EX") { return; }
+ if (username.ToUpper() == "EX") { return; }
if (string.IsNullOrEmpty(username)) { username=wa.Xml_PoolUsername; password = wa.Xml_PoolPassword; }
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - WindowsServiceManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - WindowsServiceManager.cs
index 886d676..c59a36a 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - WindowsServiceManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - WindowsServiceManager.cs
@@ -35,7 +35,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
{
var args = (o1 as Menu.ExecutorParameter).Args;
var config = new WindowsServiceManagerXmlProcessor(XMLCONNECTIONSTRING, "", "hu-HU");
- var selectedserviceindexes = CommandLine.GetCommandLineArgument(args, CLP.Module.WindowsServiceManager.Function.CMD_SERVICES);
+ var selectedservicekeys = CommandLine.GetCommandLineArgument(args, CLP.Module.WindowsServiceManager.Function.CMD_SERVICES);
var functionkey = CommandLine.GetCommandLineArgument(args, CLP.CMD_FUNCTION);
bool exitwasrequested = false;
while (true) // servicegroup selection
@@ -56,7 +56,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
menuservicegroups.DisplayTitle();
menuservicegroups.DisplayItems(1);
- Menu.Selection srg = menuservicegroups.Select(selectedserviceindexes);
+ Menu.Selection srg = menuservicegroups.Select(selectedservicekeys);
if (srg.Result == Menu.SelectionResult.Exit) { break; }
else if (srg.Result == Menu.SelectionResult.None) { break; }
else if (srg.Result == Menu.SelectionResult.Error) { break; }
@@ -74,13 +74,14 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
var menuservices = DisplayWindowsServiceMenu(config, $"Select the windows service(es) to manage!", selectedServicegroups);
//menuservices.DisplayTitle();
menuservices.DisplayItems(1, listheader: selectedServicegroups == null ? null : "Services for groups: " + string.Join(",", selectedServicegroups.GetOneLineInfoList()));
- Menu.Selection sr = menuservices.Select(selectedserviceindexes);
+ Menu.Selection sr = menuservices.Select(selectedservicekeys);
if (sr.Result == Menu.SelectionResult.Exit) { exitwasrequested = true; break; }
else if (sr.Result == Menu.SelectionResult.None) { break; }
else if (sr.Result == Menu.SelectionResult.Error) { break; }
else if (sr.Result == Menu.SelectionResult.Ok) { }
else { }
selectedServices = sr.SelectedParameterList.Select(p => (p.Parameters as WindowsService)).ToList();
+ var selectedkeylist = sr.SelectedKeyList;
var menufunctions = new Menu("Manage Windows Services", "Select the management function!")
.AddMenuItem(new Menu.Item(CLP.Module.WindowsServiceManager.Function.Register.KEY, "Register"))
@@ -159,7 +160,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
catch (Exception ex) { ColorConsole.WriteLine(ex.Message, ConsoleColor.Red); }
}
break;
- break;
case CLP.Module.WindowsServiceManager.Function.Kill.KEY:
foreach (var ws in selectedServices)
{
@@ -171,7 +171,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
catch (Exception ex) { ColorConsole.WriteLine(ex.Message, ConsoleColor.Red); }
}
break;
- case CLP.Module.WindowsServiceManager.Function.SetUserAccount.KEY: SetUserAccount(config, selectedserviceindexes); break;
+ case CLP.Module.WindowsServiceManager.Function.SetUserAccount.KEY: SetUserAccount(config, string.Join(",",selectedkeylist),forcecommandmode:true); break;
case CLP.Module.WindowsServiceManager.Function.Purge.KEY: Purge(); break;
}
}
@@ -188,7 +188,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
ColorConsole.WriteLine($"Enter servicename mask to select from the result list (% and ? are wildchars)...", ConsoleColor.Yellow);
ColorConsole.WriteLine($"...or enter service name directly (put an asterisk (*) before the name).", ConsoleColor.Yellow);
var mask = ColorConsole.ReadLine($" ---> ", ConsoleColor.Yellow).ToUpper();
- if (mask == "EX") { return; }
+ if (mask.ToUpper() == "EX") { return; }
else if (mask == "") { continue; }
if (mask.StartsWith("*") && mask.Length>=2) { DeleteOneService(mask.Substring(1)); }
@@ -225,7 +225,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
ColorConsole.Write(servicename, ConsoleColor.White, bracket: "''");
ColorConsole.Write($"!", ConsoleColor.Yellow);
var confirmation = ColorConsole.ReadLine(prefix: " ---> ").ToUpper();
- if (confirmation == "EX") { return true; }
+ if (confirmation.ToUpper() == "EX") { return true; }
else if (confirmation == "")
{
ColorConsole.WriteLine($"Service '{servicename}' NOT deleted!", ConsoleColor.Green);
@@ -237,11 +237,11 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
}
return false;
}
- private static void SetUserAccount(WindowsServiceManagerXmlProcessor config, string selectedserviceindexes)
+ private static void SetUserAccount(WindowsServiceManagerXmlProcessor config, string selectedservicekeys, bool forcecommandmode=false)
{
var menuservices = DisplayWindowsServiceMenu(config, $"Select the windows service(es) to manage with function '{nameof(SetUserAccount)}'!");
- Menu.Selection sr = menuservices.Select(selectedserviceindexes);
+ Menu.Selection sr = menuservices.Select(selectedservicekeys,forcecommandmode);
if (sr.Result == Menu.SelectionResult.Exit) { return; }
else if (sr.Result == Menu.SelectionResult.None) { return; }
else if (sr.Result == Menu.SelectionResult.Error) { return; }
@@ -259,7 +259,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
if (username == null)
{
GetUsernameAndPassword(wmiService,ws,out username, out password);
- if (username == "EX" || password == "EX") { return; }
+ if (username.ToUpper() == "EX" || password.ToUpper() == "EX") { return; }
}
if (WindowsServiceManagerCore.SetUserAccount(wmiService, username, password)) { ColorConsole.WriteLine($"Service user account changed. Name:{ws.Name}", ConsoleColor.Green); }
else { ColorConsole.WriteLine($"Service user account change FAILED! Name:{ws.Name}", ConsoleColor.Red); }
@@ -373,6 +373,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
if (Menu.IsCommandMode()) { username = ws.Xml_Username; password = ws.Xml_Password; return; }
string olduserinfo = WindowsServiceManagerCore.GetUserInfo(wmiService);
+ ColorConsole.WriteLine($"Service: {ws.Name}({ws.DisplayName},{ws.Description})",f:ConsoleColor.Yellow);
ColorConsole.WriteLine($"Current user info: {olduserinfo}");
ColorConsole.WriteLine("Enter username then password. [Enter]=save.EX=exit");
ColorConsole.WriteLine("Username is in the form of 'domainname\\username'");
@@ -387,7 +388,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
ColorConsole.WriteLine($"EX", ConsoleColor.Red, bracket: "()", prefix: " ", suffix: " Exit");
username = ColorConsole.ReadLine("username -->", ConsoleColor.Yellow, bracket: "[]");
- if (username == "EX") { return; }
+ if (username.ToUpper() == "EX") { return; }
else if (string.IsNullOrEmpty(username)) { username = ws.Xml_Username; password = ws.Xml_Password; }
else if (username.ToUpper() == "LSE" || username == nameof(ServiceAccount.LocalService)) { username = nameof(ServiceAccount.LocalService); }
else if (username.ToUpper() == "LSY" || username == nameof(ServiceAccount.LocalSystem)) { username = nameof(ServiceAccount.LocalSystem); }
@@ -395,7 +396,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
else
{
password = ColorConsole.ReadLine("password -->", ConsoleColor.Yellow, bracket: "[]");
- if (password == "EX") { return; }
+ if (password.ToUpper() == "EX") { return; }
}
}
#endregion private GetUsernameAndPassword
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs b/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
index cbfc753..5bcdd71 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.19.1.0")]
-[assembly: AssemblyFileVersion("1.19.1.0")]
+[assembly: AssemblyVersion("1.19.2.0")]
+[assembly: AssemblyFileVersion("1.19.2.0")]
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Tools.cs b/Vrh.Log4Pro.MaintenanceConsole/Tools.cs
index f52a71d..0664cb7 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Tools.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Tools.cs
@@ -333,7 +333,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS
if (kvp.Value.Substring(1).IndexOf('?') != -1) kvpdefaultvalue = kvp.Value.Substring(1).Split(new char[] { '?' }, StringSplitOptions.RemoveEmptyEntries)[1];
}
string value = ColorConsole.ReadLine(prompt, ConsoleColor.Yellow, defaultvalue: kvpdefaultvalue);
- if (value.ToLower() == "ex") { return false; }
+ if (value.ToUpper() == "EX") { return false; }
resolveddictionary.Add(kvp.Key, value);
}
else if (kvp.Value.StartsWith("?") && !interactive) resolveddictionary.Add(kvp.Key, $"{{{kvp.Key}}}");
--
libgit2 0.21.2