Exemple #1
0
 public ModuleScriptManager(DtoClientScriptModule module)
 {
     _moduleResult         = new DtoModuleResult();
     _moduleResult.Name    = module.DisplayName;
     _moduleResult.Guid    = module.Guid;
     _moduleResult.Success = true;
     _module = module;
 }
Exemple #2
0
 public ModuleMessage(DtoClientMessageModule module)
 {
     _moduleResult         = new DtoModuleResult();
     _moduleResult.Name    = module.DisplayName;
     _moduleResult.Guid    = module.Guid;
     _moduleResult.Success = true;
     _module = module;
 }
Exemple #3
0
 public ModuleFileCopy(DtoClientFileCopyModule module)
 {
     _fileSystemService    = new ServiceFileSystem();
     _moduleResult         = new DtoModuleResult();
     _moduleResult.Name    = module.DisplayName;
     _moduleResult.Guid    = module.Guid;
     _moduleResult.Success = true;
     _module = module;
 }
Exemple #4
0
 public ModulePrintManager(DtoClientPrinterModule module, EnumPolicy.Trigger policyTrigger)
 {
     _moduleResult         = new DtoModuleResult();
     _moduleResult.Name    = module.DisplayName;
     _moduleResult.Guid    = module.Guid;
     _moduleResult.Success = true;
     _module  = module;
     _trigger = policyTrigger;
 }
Exemple #5
0
        private bool IsStopError(DtoModuleResult moduleResult)
        {
            _policyResult.PolicyResult             = EnumPolicy.Result.Failed;
            _policyResult.FailedModuleGuid         = moduleResult.Guid;
            _policyResult.FailedModuleName         = moduleResult.Name;
            _policyResult.FailedModuleErrorMessage = moduleResult.ErrorMessage;
            _policyResult.FailedModuleExitCode     = "-1";
            Logger.Error(string.Format("An Error Occurred In Module {0}", moduleResult.Name));
            if (_policy.ErrorAction == EnumPolicy.ErrorAction.Continue)
            {
                Logger.Debug("Continuing With Policy Error");
                return(false);
            }

            return(true);
        }
Exemple #6
0
        private bool CacheCondition(DtoClientModuleCondition condition)
        {
            if (condition.Guid == null)
            {
                //no condition
                return(true);
            }
            //treat condition as script module
            var conditionJson = JsonConvert.SerializeObject(condition);
            var scriptModule  = JsonConvert.DeserializeObject <DtoClientScriptModule>(conditionJson);

            var moduleResult = new DtoModuleResult();

            moduleResult.Success = true;

            moduleResult.Name = scriptModule.DisplayName;
            moduleResult.Guid = scriptModule.Guid;

            if (!CreateDirectory(scriptModule.Guid))
            {
                moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                if (IsStopError(moduleResult))
                {
                    return(false);
                }
            }
            if (!DownloadScriptFile(scriptModule))
            {
                moduleResult.ErrorMessage = "Could Not Download Script";
                if (IsStopError(moduleResult))
                {
                    return(false);
                }
            }
            return(true);
        }
Exemple #7
0
        public DtoPolicyResult Cache()
        {
            Logger.Info(string.Format("Caching Policy {0} ({1})", _policy.Guid, _policy.Name));

            var moduleResult = new DtoModuleResult();

            moduleResult.Success = true;

            if (!CacheCondition(_policy.Condition))
            {
                return(_policyResult);
            }

            foreach (var module in _policy.FileCopyModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.SoftwareModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.CommandModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.WuModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }


            foreach (var module in _policy.ScriptModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadScriptFile(module))
                {
                    moduleResult.ErrorMessage = "Could Not Download Script";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.MessageModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;
                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.PrinterModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;
                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            if ((_policy.RemoteAccess == EnumPolicy.RemoteAccess.Enabled && !new ServiceSystemService().IsRemotelyInstalled()) ||
                _policy.RemoteAccess == EnumPolicy.RemoteAccess.ForceReinstall)
            {
                var remoteAccessGuid = "99999999-9999-9999-9999-999999999999";
                CreateDirectory(remoteAccessGuid);

                var files = new List <DtoClientFileHash>();
                if (Environment.Is64BitOperatingSystem)
                {
                    files.Add(new DtoClientFileHash()
                    {
                        FileName = "Remotely_Installer.exe"
                    });
                    files.Add(new DtoClientFileHash()
                    {
                        FileName = "Remotely-Win10-x64.zip"
                    });
                }
                else
                {
                    files.Add(new DtoClientFileHash()
                    {
                        FileName = "Remotely_Installer.exe"
                    });
                    files.Add(new DtoClientFileHash()
                    {
                        FileName = "Remotely-Win10-x86.zip"
                    });
                }
                DownloadFiles(files, remoteAccessGuid, "Remote Access", true);
            }

            Logger.Info(string.Format("Finished Caching Policy {0} ({1})", _policy.Guid, _policy.Name));
            return(_policyResult);
        }
Exemple #8
0
        public DtoPolicyResult Cache()
        {
            Logger.Info(string.Format("Caching Policy {0} ({1})", _policy.Guid, _policy.Name));

            var moduleResult = new DtoModuleResult();

            moduleResult.Success = true;

            if (!CacheCondition(_policy.Condition))
            {
                return(_policyResult);
            }

            foreach (var module in _policy.FileCopyModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.SoftwareModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.CommandModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.WuModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadFiles(module.Files, module.Guid, module.DisplayName))
                {
                    moduleResult.ErrorMessage = "Could Not Download File";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }


            foreach (var module in _policy.ScriptModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;

                if (!CreateDirectory(module.Guid))
                {
                    moduleResult.ErrorMessage = "Could Not Create Cache Directory";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }
                if (!DownloadScriptFile(module))
                {
                    moduleResult.ErrorMessage = "Could Not Download Script";
                    if (IsStopError(moduleResult))
                    {
                        return(_policyResult);
                    }
                }

                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.MessageModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;
                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            foreach (var module in _policy.PrinterModules)
            {
                moduleResult.Name = module.DisplayName;
                moduleResult.Guid = module.Guid;
                if (!CacheCondition(module.Condition))
                {
                    return(_policyResult);
                }
            }

            Logger.Info(string.Format("Finished Caching Policy {0} ({1})", _policy.Guid, _policy.Name));
            return(_policyResult);
        }