static int Main(string[] args) { if (SecurityAPI.is_user_admin()) { ZeroDayPatch automate = new ZeroDayPatch(); automate.config = new CliConfig(config_types.ZeroDayPatch); CliInit init; if (args.Length == 1 && args[0].StartsWith("/config=")) { init = new CliInit(CliInit.GetConfigFromFile(ref args), ref automate.config); } else { init = new CliInit(args, ref automate.config); } #region If we can initialise run the automate if (init.ParseArgs()) { Console.WriteLine("ZeroDayPatch {0} starting.", Constant.VERSION); GuidCollection bulletins = new GuidCollection(); bulletins = automate.GetSoftwareBulletins(); int i = automate.RunAutomation(bulletins); if (i != -1) { Console.WriteLine("\n{0} software update policy creation tasks were started.", i.ToString()); Console.WriteLine("ZeroDayPatch execution completed now. See you soon..."); return(0); } return(i); } #endregion #region else display the help message else { if (automate.config.Print_Version) { Console.WriteLine("{{CWoC}} ZeroDayPatch version {0}", Constant.VERSION); return(0); } Console.WriteLine(Constant.ZERO_DAY_HELP); if (!automate.config.Help_Needed) { return(0); } return(-1); } #endregion } else { Console.WriteLine("Access denied - Only Altiris administrators are allowed to use this tool"); } return(-1); }
static int Main(string[] args) { int rc = 0; if (SecurityAPI.is_user_admin()) { PatchAutomate automate = new PatchAutomate(); automate.config = new CliConfig(config_types.PatchAutomation); CliInit init; if (args.Length == 1 && args[0].StartsWith("/config=")) { init = new CliInit(CliInit.GetConfigFromFile(ref args), ref automate.config); } else { init = new CliInit(args, ref automate.config); } EventLog.ReportInfo(init.DumpConfig(config_types.PatchAutomation)); if (init.ParseArgs()) { _debug = automate.config.Debug; Console.WriteLine("PatchAutomate starting."); EventLog.ReportInfo("Symantec BCS PatchAutomate is starting."); try { rc = automate.RunAutomation(); } catch (Exception e) { LoggingAPI.ReportException(e); rc = -2; } } else { if (automate.config.Print_Version) { Console.WriteLine("{{CWoC}} PatchAutomation version {0}", Constant.VERSION); return(0); } Console.WriteLine(Constant.PATCH_AUTOMATE_HELP); if (!automate.config.Help_Needed) { EventLog.ReportInfo("PatchAutomate invocation incorrect. Printed command line help and returned -1."); return(-1); } return(0); } if (rc == 0) { LoggingAPI.ReportInfo("PatchAutomate execution completed. See you soon..."); } } else { LoggingAPI.ReportInfo("Access denied - Only Administrators are allowed to use this tool. This entry will be recorded in the Altiris Server logs."); rc = -1; } return(rc); }