public List <FileInfo> ListAllScriptsFromPath(string path) { var filesInDirectory = default(List <FileInfo>); var loggerHelper = new LogTracker(); if (!string.IsNullOrEmpty(path)) { var auxDirectoryInfo = new DirectoryInfo(path); if (auxDirectoryInfo.Exists) { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Info, $"Script power shell detected in: {path}"); filesInDirectory = new List <FileInfo>(auxDirectoryInfo.GetFiles()); if (filesInDirectory.Any()) { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Info, $"There are: {filesInDirectory.Count().ToString(CultureInfo.InvariantCulture)} " + $"script files in folder {path}"); } else { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Error, $"Can't find script files in {path}"); } } } return(filesInDirectory); }
public List<FileInfo> ListAllScriptsFromPath(string path) { var filesInDirectory = default(List<FileInfo>); var loggerHelper = new LogTracker(); if (!string.IsNullOrEmpty(path)) { var auxDirectoryInfo = new DirectoryInfo(path); if (auxDirectoryInfo.Exists) { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Info, $"Script power shell detected in: {path}"); filesInDirectory = new List<FileInfo>(auxDirectoryInfo.GetFiles()); if (filesInDirectory.Any()) { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Info, $"There are: {filesInDirectory.Count().ToString(CultureInfo.InvariantCulture)} " + $"script files in folder {path}"); } else { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Error, $"Can't find script files in {path}"); } } } return filesInDirectory; }
public bool RunRecycleApplicationPoolByOrder() { var runIsOk = default(bool); const string fileName = "Script_IISAppPoolRecyclerBat.Bat"; var loggerHelper = new LogTracker(); IScriptShellLoadable objLoader = new ShellScriptReader(); IShellScriptExecutionable objRunner = new ShellScriptRunner(); var fullPathForScript = objLoader.MakeFullPathFromEnvironmentAndFileName(fileName); if (!string.IsNullOrEmpty(fullPathForScript)) { var scriptInfo = objLoader.LoadSpecificShellScriptFromPath(fullPathForScript); if (objLoader.CheckIfScriptFileIsFromType(transversal.dto.Enums.EnumScriptRunner.TypeOfScriptFile.Bat, fullPathForScript) && (scriptInfo.Exists)) { runIsOk = objRunner.ExecuteBatThatTriggerPowerShell(new transversal.dto.ValueObject. Scripts.PowerShellScriptVo() { FileName = fullPathForScript, ScriptFileObject = scriptInfo }); if (runIsOk) { loggerHelper.RegisterLogFacade(transversal.dto.Enums.Nlog.EnumNLogStruct.LogType.Info, "file: Script_IISAppPoolRecyclerBat executed OK"); } } } return runIsOk; }
public bool RunRecycleApplicationPoolByOrder() { var runIsOk = default(bool); const string fileName = "Script_IISAppPoolRecyclerBat.Bat"; var loggerHelper = new LogTracker(); IScriptShellLoadable objLoader = new ShellScriptReader(); IShellScriptExecutionable objRunner = new ShellScriptRunner(); var fullPathForScript = objLoader.MakeFullPathFromEnvironmentAndFileName(fileName); if (!string.IsNullOrEmpty(fullPathForScript)) { var scriptInfo = objLoader.LoadSpecificShellScriptFromPath(fullPathForScript); if (objLoader.CheckIfScriptFileIsFromType(transversal.dto.Enums.EnumScriptRunner.TypeOfScriptFile.Bat, fullPathForScript) && (scriptInfo.Exists)) { runIsOk = objRunner.ExecuteBatThatTriggerPowerShell(new transversal.dto.ValueObject. Scripts.PowerShellScriptVo() { FileName = fullPathForScript, ScriptFileObject = scriptInfo }); if (runIsOk) { loggerHelper.RegisterLogFacade(transversal.dto.Enums.Nlog.EnumNLogStruct.LogType.Info, "file: Script_IISAppPoolRecyclerBat executed OK"); } } } return(runIsOk); }
public bool ExecuteBatThatTriggerPowerShell(PowerShellScriptVo shellScript) { var executeOk = default(bool); IScriptShellLoadable objLoader = default(IScriptShellLoadable); var loggerHelper = new LogTracker(); if (!object.ReferenceEquals(shellScript, null)) { objLoader = new ShellScriptReader(); if (objLoader.CheckIfScriptFileIsFromType(transversal.dto.Enums.EnumScriptRunner.TypeOfScriptFile.Bat, shellScript.ScriptFileObject.FullName)) { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Info, $"Loaded script: {shellScript.FileName} " + $"from Folder {shellScript.FileName} and Type {shellScript.ScriptFileObject.Extension}"); try { var objProcess = new Process() { StartInfo = { FileName = shellScript.ScriptFileObject.FullName, Arguments = shellScript.ScriptFileObject.FullName, UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true } }; executeOk = string.IsNullOrEmpty(objProcess.StandardError.ReadToEnd()); } catch (Exception ex) { loggerHelper.RegisterLogWithFatalExceptionFacade(ex, this.GetType(). Name); } } } return executeOk; }
public bool ExecuteBatThatTriggerPowerShell(PowerShellScriptVo shellScript) { var executeOk = default(bool); IScriptShellLoadable objLoader = default(IScriptShellLoadable); var loggerHelper = new LogTracker(); if (!object.ReferenceEquals(shellScript, null)) { objLoader = new ShellScriptReader(); if (objLoader.CheckIfScriptFileIsFromType(transversal.dto.Enums.EnumScriptRunner.TypeOfScriptFile.Bat, shellScript.ScriptFileObject.FullName)) { loggerHelper.RegisterLogFacade(EnumNLogStruct.LogType.Info, $"Loaded script: {shellScript.FileName} " + $"from Folder {shellScript.FileName} and Type {shellScript.ScriptFileObject.Extension}"); try { var objProcess = new Process() { StartInfo = { FileName = shellScript.ScriptFileObject.FullName, Arguments = shellScript.ScriptFileObject.FullName, UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true } }; executeOk = string.IsNullOrEmpty(objProcess.StandardError.ReadToEnd()); } catch (Exception ex) { loggerHelper.RegisterLogWithFatalExceptionFacade(ex, this.GetType(). Name); } } } return(executeOk); }