public void SendWolTask(string url, X509Certificate2 cert, DtoWolTask wolTask) { Request.Method = Method.POST; Request.AddJsonBody(wolTask); Request.Resource = "toec/Push/WolTask"; new ApiRequest(new Uri(url)).ExecuteHMACAsync <DtoApiBoolResponse>(Request, cert); }
public static void WakeUp(DtoWolTask wolTask) { Logger.Debug("WakeUp Task Received"); //Send it 2 times waiting 20 seconds b/w each one for (int i = 1; i <= 2; i++) { Logger.Debug("Wake Up Pass: "******"Found Matching Interface For Gateway: " + wolTask.Gateway); Logger.Debug("Broadcast Address Set To: " + nic.Broadcast); var bcast = nic.Broadcast; if (bcast == null) { return; } foreach (var mac in wolTask.Macs) { SendMagicPacket(mac, bcast); } } Task.Delay(20 * 1000).Wait(); } }
private void RunWakeup(DtoWolTask wolTask) { new APICall().PolicyApi.UpdateLastSocketResult(new DtoStringResponse() { Value = "WOL Task Started" }); ServiceWolRelay.WakeUp(wolTask); }
public DtoApiBoolResponse Wakeup(DtoWolTask wolTask) { var t = new Thread(() => RunWakeup(wolTask)); t.Start(); return(new DtoApiBoolResponse() { Value = true }); }
private List <DtoWolTask> GenerateWakeupTask(IEnumerable <EntityComputer> computersToWakeup) { //get a list of all known gateways var allKnownGateways = _uow.NicInventoryRepository.Get().GroupBy(x => x.Gateways).Select(y => y.First()); var gateways = new List <string>(); foreach (var nic in allKnownGateways.Where(x => !string.IsNullOrEmpty(x.Gateways))) { gateways.AddRange(nic.Gateways.Split(',')); } gateways = gateways.Distinct().ToList(); var wolRelayInfoList = new List <DtoWolTask>(); foreach (var gateway in gateways) { var wolRelayInfo = new DtoWolTask(); wolRelayInfo.Gateway = gateway; foreach (var computer in computersToWakeup) { var localComputer = computer; var computerNics = _uow.NicInventoryRepository.Get(x => x.ComputerId == localComputer.Id); var localGateway = gateway; foreach (var nic in computerNics.Where(x => !string.IsNullOrEmpty(x.Gateways))) { if (nic.Gateways.Contains(localGateway)) { foreach (var g in nic.Gateways.Split(',')) { if (g.Equals(gateway)) { wolRelayInfo.Macs.Add(nic.Mac); } } } } } wolRelayInfoList.Add(wolRelayInfo); } return(wolRelayInfoList); }
public bool WakeupComputers(string url, string serverName, string interComKey, DtoWolTask task) { Request.Method = Method.POST; Request.Resource = "Wol/Wakeup"; Request.AddJsonBody(task); var responseData = new ApiRequest(new Uri(url)).ExecuteHMACInterCom <DtoApiBoolResponse>(Request, serverName, interComKey); return(responseData != null && responseData.Value); }
private void RunWakeup(DtoWolTask wolTask) { ServiceWolRelay.WakeUp(wolTask); }
private void RunWakeup(DtoWolTask wolTask) { WolRelayTask.WakeUp(wolTask); }