public DtoBoolResponse DeleteModuleCache(string moduleGuid) { var result = new ServiceFileSystem().DeleteDirectory(moduleGuid); return(new DtoBoolResponse { Value = result }); }
public ModuleFileCopy(DtoClientFileCopyModule module) { _fileSystemService = new ServiceFileSystem(); _moduleResult = new DtoModuleResult(); _moduleResult.Name = module.DisplayName; _moduleResult.Guid = module.Guid; _moduleResult.Success = true; _module = module; }
public void Root_Folder_Should_Be_Returned_Properly() { Assert.IsTrue(ClientRoot.MetaData.IsRootFolder); var root1 = ClientFileSystem.GetFileSystemRoot(); var root2 = ServiceFileSystem.GetFileSystemRoot(); root2.AssertXEqualTo(root1); }
public PolicyCacher(DtoClientPolicy policy) { _policy = policy; _call = new APICall(); _fileSystemService = new ServiceFileSystem(); _policyResult = new DtoPolicyResult(); _policyResult.PolicyResult = EnumPolicy.Result.Success; _policyResult.PolicyGuid = policy.Guid; _policyResult.PolicyName = policy.Name; _policyResult.PolicyHash = policy.Hash; }
protected override void InitInternal() { DownloadFolder = RootDirectory.CreateSubdirectory("Download"); byte[] data = new byte[1024 * 1024 * 20]; Random rnd = new Random(); rnd.NextBytes(data); SourceFile = new FileInfo(Path.Combine(DownloadFolder.FullName, "source.bin")); File.WriteAllBytes(SourceFile.FullName, data); SourceFile.Refresh(); SourceFileInfo = ServiceFileSystem.GetFileInfo("/Download/source.bin"); base.InitInternal(); }
private void CleanupCache() { Logger.Info("Cleaning Policy Cache"); var fileSystemService = new ServiceFileSystem(); foreach (var policyResult in _policyResults) { if (policyResult.ExecutionType == EnumPolicy.ExecutionType.Install && policyResult.DeleteCache && (policyResult.PolicyResult == EnumPolicy.Result.Success || policyResult.PolicyResult == EnumPolicy.Result.NotApplicable)) { var result = policyResult; foreach ( var policy in _policiesToRun.Policies.Where(policy => result.PolicyGuid.Equals(policy.Guid))) { foreach (var module in policy.FileCopyModules) { if (policy.Trigger == EnumPolicy.Trigger.Login) { new APICall().LocalApi.DeleteModuleCache(module.Guid); } else { fileSystemService.DeleteDirectory(module.Guid); } } foreach (var module in policy.SoftwareModules) { if (policy.Trigger == EnumPolicy.Trigger.Login) { new APICall().LocalApi.DeleteModuleCache(module.Guid); } else { fileSystemService.DeleteDirectory(module.Guid); } } foreach (var module in policy.ScriptModules) { if (policy.Trigger == EnumPolicy.Trigger.Login) { new APICall().LocalApi.DeleteModuleCache(module.Guid); } else { fileSystemService.DeleteDirectory(module.Guid); } } foreach (var module in policy.WuModules) { if (policy.Trigger == EnumPolicy.Trigger.Login) { new APICall().LocalApi.DeleteModuleCache(module.Guid); } else { fileSystemService.DeleteDirectory(module.Guid); } } foreach (var module in policy.CommandModules) { if (policy.Trigger == EnumPolicy.Trigger.Login) { new APICall().LocalApi.DeleteModuleCache(module.Guid); } else { fileSystemService.DeleteDirectory(module.Guid); } } } } } }
public void Run() { Logger.Info("Running Remote Access Module: "); if ((_policy.RemoteAccess == EnumPolicy.RemoteAccess.Enabled && !new ServiceSystemService().IsRemotelyInstalled()) || _policy.RemoteAccess == EnumPolicy.RemoteAccess.ForceReinstall) { Logger.Info("Installing Remote Access Service"); var installArgs = new ApiCall.APICall().PolicyApi.GetRemotelyInstallArgs(); if (string.IsNullOrEmpty(installArgs)) { Logger.Error("Could Not Get Install Args"); return; } if (installArgs.Contains("Error")) { Logger.Error("Could Not Get Install Args. " + installArgs); return; } var file = string.Empty; if (Environment.Is64BitOperatingSystem) { file = "Remotely-Win10-x64.zip"; } else { file = "Remotely-Win10-x86.zip"; } var module = new DtoClientCommandModule(); module.Guid = "99999999-9999-9999-9999-999999999999"; module.Command = Path.Combine(DtoGobalSettings.BaseCachePath, module.Guid, "Remotely_Installer.exe"); module.DisplayName = "Install Remotely"; module.Timeout = 5; module.RedirectError = true; module.RedirectOutput = true; module.SuccessCodes = new List <string>() { "0" }; module.Arguments = $"{installArgs} -path '{Path.Combine(DtoGobalSettings.BaseCachePath, module.Guid,file)}'"; var result = new ModuleCommandManager(module).Run(); if (!result.Success) { Logger.Error(result.ErrorMessage); } if (!new ServiceSystemService().DisableRemotelyServiceStartup()) { Logger.Error("Could Not Change Remotely Startup Type"); } var connectionInfo = new ServiceFileSystem().ReadRemotelyConnectionFile(); if (connectionInfo != null) { var res = new ApiCall.APICall().PolicyApi.UpdateRemoteAccessId(connectionInfo); if (res != null) { if (!res.Success) { Logger.Error("Could Not Update Client Remote Access Id"); } } } return; } if (_policy.RemoteAccess == EnumPolicy.RemoteAccess.Enabled && new ServiceSystemService().IsRemotelyInstalled()) { Logger.Debug("Remote Access Already Installed. Updating Remote Access Device Id"); var connectionInfo = new ServiceFileSystem().ReadRemotelyConnectionFile(); if (connectionInfo != null) { var res = new ApiCall.APICall().PolicyApi.UpdateRemoteAccessId(connectionInfo); if (res != null) { if (!res.Success) { Logger.Error("Could Not Update Client Remote Access Id"); } } } return; } if (_policy.RemoteAccess == EnumPolicy.RemoteAccess.Disabled && new ServiceSystemService().IsRemotelyInstalled()) { Logger.Info("Removing Remote Access Service"); var module = new DtoClientCommandModule(); module.Command = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Remotely", "Remotely_Installer.exe"); module.Guid = "99999999-9999-9999-9999-999999999999"; module.DisplayName = "Remove Remotely"; module.Timeout = 5; module.RedirectError = true; module.RedirectOutput = true; module.SuccessCodes = new List <string>() { "0" }; module.WorkingDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Remotely"); module.Arguments = "-uninstall -quiet"; //remove remote access id from server var res = new ApiCall.APICall().PolicyApi.UpdateRemoteAccessId(new RemotelyConnectionInfo() { DeviceID = "", Host = "", OrganizationID = "", ServerVerificationToken = "" }); if (res != null) { if (!res.Success) { Logger.Error("Could Not Remmove Client Remote Access Id"); } } var result = new ModuleCommandManager(module).Run(); if (!result.Success) { Logger.Error(result.ErrorMessage); } return; } }