Пример #1
0
        public void WakeOnLan_2()
        {
            byte[] target = WakeOnLan.GetPacketBytes("01:02:03:04:05:06", null);
            string result = System.BitConverter.ToString(target);

            Assert.AreEqual("FF-FF-FF-FF-FF-FF-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06", result);
        }
Пример #2
0
 static void Main(string[] args)
 {
     using (WakeOnLan wakeOnLan = new WakeOnLan())
     {
         wakeOnLan.Run();
     }
 }
Пример #3
0
        private void btn_wakeup_Click(object sender, EventArgs e)
        {
            foreach (var item in lb_items.SelectedItems)
            {
                try
                {
                    string[] split = item.ToString().Split(' ');

                    string ipAddress;

                    if (split.Length > 1)
                    {
                        ipAddress = split[1].Replace("(", "").Replace(")", "");
                    }
                    else
                    {
                        ipAddress = split[0];
                    }

                    string macAddress = IPMacMapper.FindMacFromIPAddress(ipAddress);

                    WakeOnLan.WakeUp(macAddress, ipAddress, "255.255.255.255");
                }
                catch
                {
                    // Failed to find IP
                }
            }
        }
Пример #4
0
 /// <inheritdoc/>
 protected override void ProcessRecord()
 {
     base.ProcessRecord();
     foreach (var mac in MacAddress)
     {
         try
         {
             var result = WakeOnLan.Send(mac, BroadcastAddress, Port);
             WriteObject(result);
         }
         catch (ArgumentNullException e)
         {
             var param = e.ParamName == "macAddress" ? nameof(MacAddress) : nameof(BroadcastAddress);
             var arg   = e.ParamName == "macAddress" ? MacAddress : BroadcastAddress as object;
             WriteError(new ErrorRecord(
                            e,
                            param + "Null",
                            ErrorCategory.InvalidArgument,
                            arg));
         }
         catch (ArgumentException e)
         {
             WriteError(new ErrorRecord(
                            e,
                            "InvalidMacAddress",
                            ErrorCategory.InvalidArgument,
                            mac));
         }
     }
 }
Пример #5
0
        public void WakeOnLan_4()
        {
            byte[] target = WakeOnLan.GetPacketBytes("01-02:03-04:05-06", "A0-A1-A2-A3-A4-A5");
            string result = System.BitConverter.ToString(target);

            Assert.AreEqual("FF-FF-FF-FF-FF-FF-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-01-02-03-04-05-06-A0-A1-A2-A3-A4-A5", result);
        }
Пример #6
0
 private void FillListBoxIp(string roomNumber)
 {
     listBox2.Items.Clear();
     WakeOnLan.ReadFromFile();
     foreach (var line in WakeOnLan.Lines)
     {
         listBox2.Items.Add(line);
     }
 }
Пример #7
0
 private void metroButton2_Click(object sender, EventArgs e)
 {
     // ReSharper disable once UnusedVariable
     foreach (var s in listBox1.Items.Cast <string>().AsParallel().ForEach(macAddress =>
     {
         using (var udpClient = new UdpClient())
         {
             byte[] mac = WakeOnLan.StrToMac(macAddress: macAddress);
             if (mac != null)
             {
                 udpClient.Send(dgram: mac, bytes: mac.Length,
                                endPoint: new IPEndPoint(IPAddress.Broadcast, 9));
             }
         }
     }))
     {
     }
 }
Пример #8
0
        public MainForm(DatabaseSettingsForm databaseSettingsForm,
                        UserManagementForm userManagementForm,
                        UserProfileForm userProfileForm,
                        UserSettingsForm userSettingsForm,
                        CreateIssueForm createIssueForm,
                        CreateEventForm createEventForm,
                        CreateMeetingForm createMeetingForm,
                        AddResource addResource,
                        AddServerForm addServerForm,
                        AddCameraForm addCameraForm,
                        CalculatorForm calculatorForm,
                        EditorForm editorForm,
                        PasswordManager passwordManager,
                        CipherForm cipherForm,
                        SendMailForm sendMailForm,
                        LogViewer logViewer,
                        EmailSettingsForm emailSettingsForm,
                        AboutBox aboutBox,
                        ResourceListProvider resourceListProvider,
                        ServerListProvider serverListProvider,
                        FileManager fileManager,
                        IssueListProvider issueListProvider,
                        MeetingsListProvider meetingsListProvider,
                        EventListProvider eventListProvider,
                        IssueRepository issueRepository,
                        ResourceRepository resourceRepository,
                        ServerRepository serverRepository,
                        CameraRepository cameraRepository,
                        MeetingRepository meetingRepository,
                        EventRepository eventRepository,
                        CalendarItemsProvider calendarItemsProvider,
                        WakeOnLan wakeOnLan,
                        PingRequestSender pingRequestSender,
                        SystemSettingsRepository systemSettingsRepository,
                        ProcessUtils processUtils,
                        ErrorBoxHelper errorBoxHelper,
                        AddImageForm addImageForm,
                        IDateTimeProvider dateTimeProvider)
        {
            this.databaseSettingsForm     = databaseSettingsForm;
            this.userManagementForm       = userManagementForm;
            this.userProfileForm          = userProfileForm;
            this.userSettingsForm         = userSettingsForm;
            this.createIssueForm          = createIssueForm;
            this.createEventForm          = createEventForm;
            this.createMeetingForm        = createMeetingForm;
            this.sendMailForm             = sendMailForm;
            this.logViewer                = logViewer;
            this.emailSettingsForm        = emailSettingsForm;
            this.dateTimeProvider         = dateTimeProvider;
            this.addResource              = addResource;
            this.addServerForm            = addServerForm;
            this.addCameraForm            = addCameraForm;
            this.calculatorForm           = calculatorForm;
            this.editorForm               = editorForm;
            this.passwordManager          = passwordManager;
            this.cipherForm               = cipherForm;
            this.resourceListProvider     = resourceListProvider;
            this.serverListProvider       = serverListProvider;
            this.fileManager              = fileManager;
            this.issueListProvider        = issueListProvider;
            this.issueRepository          = issueRepository;
            this.resourceRepository       = resourceRepository;
            this.eventRepository          = eventRepository;
            this.meetingRepository        = meetingRepository;
            this.serverRepository         = serverRepository;
            this.cameraRepository         = cameraRepository;
            this.meetingsListProvider     = meetingsListProvider;
            this.eventListProvider        = eventListProvider;
            this.calendarItemsProvider    = calendarItemsProvider;
            this.systemSettingsRepository = systemSettingsRepository;
            this.aboutBox          = aboutBox;
            this.wakeOnLan         = wakeOnLan;
            this.pingRequestSender = pingRequestSender;
            this.processUtils      = processUtils;
            this.errorBoxHelper    = errorBoxHelper;
            this.addImageForm      = addImageForm;

            InitializeComponent();
            pTaskDetails.Dock = DockStyle.Fill;
            Translator.Translate(this);

            addResource.FormClosed += (_, __) =>
            {
                resourceListProvider.GetResources(tvItems);
            };

            fileManager.Active = lvFileExplorerLeft;
            GetDrives();

            cbView.FillWithEnum <CalendarViewType>();

            var columns = taskboard.GetColumns();

            foreach (var column in columns)
            {
                column.IssueStateChanged += TaskboardColumn_IssueStateChanged;
            }

            SetCalendarColumnSize();
        }
Пример #9
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     byte[] mac = WakeOnLan.ParseMacAddress(textBoxMac.Text);
     wol.SendMagicPacket(mac, IPAddress.Broadcast.ToString());
 }
Пример #10
0
 private void WakeUpAction()
 {
     WakeOnLan.SendMagicPacket(WakeOnLan.CreateMagicPacket(MACAddress), IPAddress.Parse(Broadcast), int.Parse(Port));
 }
Пример #11
0
 public WOLServiceAdapter()
 {
     _wol = new WakeOnLan(9);
 }
Пример #12
0
 public void Wake(string mac, string ip)
 {
     _wol.SendMagicPacket(WakeOnLan.ParseMacAddress(mac), ip);
 }
Пример #13
0
        /// <summary>
        /// Wakes a host, handling any required SecureOn password prompting.
        /// </summary>
        /// <param name="hostToWake">The WolHost object describing the host to wake.</param>
        /// <param name="networkToWake"></param>
        private void WakeHost(WolHost hostToWake, Guid networkId)
        {
            if (hostToWake != null)
            {
                // Retrieve the network details for waking the host.
                WolHostNetwork Network = hostToWake.Networks[networkId];
                if (Network == null)
                {
                    throw new InvalidOperationException("Host cannot be woken as no suitable network has been defined.");
                }

                IPEndPoint HostEndpoint = null;

                if (Network.Locality == WolHostNetwork.NetworkLocality.Remote)
                {
                    try
                    {
                        IPAddress[] ResolvedAddresses = Dns.GetHostAddresses(Network.Address);
                        if (ResolvedAddresses != null && ResolvedAddresses.Length > 0)
                        {
                            HostEndpoint = new IPEndPoint(ResolvedAddresses[0], Network.Port);
                        }
                    }
                    catch (System.Net.Sockets.SocketException)
                    {
                        HostEndpoint = null;
                    }

                    // Check that a valid endpoint has been prepared. A remote host is not valid for awakening
                    // if the endpoint is not valid by this point - falling back to local would not be any use.
                    if (HostEndpoint == null)
                    {
                        // TODO: Tidy this scenario
                        throw new InvalidOperationException("Invalid host address for remote host.");
                    }
                }

                if (hostToWake.RequireSecureOn == false)
                {
                    if (Network.Locality == WolHostNetwork.NetworkLocality.Remote)
                    {
                        WakeOnLan.WakeMachine(hostToWake.MachineAddress,
                                              HostEndpoint,
                                              Network.SubnetMask);
                    }
                    else
                    {
                        WakeOnLan.WakeMachine(hostToWake.MachineAddress);
                    }
                }
                else
                {
                    // Check to see whether the SecureOn Password needs to be prompted.
                    if (hostToWake.SecureOnPassword == null || hostToWake.SecureOnPassword == PhysicalAddress.None)
                    {
                        using (SecureOnPromptForm SecureOnPrompt = new SecureOnPromptForm(hostToWake))
                        {
                            if (SecureOnPrompt.ShowDialog() == DialogResult.OK)
                            {
                                // Use the supplied SecureOn Password.
                                if (Network.Locality == WolHostNetwork.NetworkLocality.Remote)
                                {
                                    WakeOnLan.WakeMachine(hostToWake.MachineAddress,
                                                          SecureOnPrompt.SecureOnPassword,
                                                          HostEndpoint,
                                                          Network.SubnetMask);
                                }
                                else
                                {
                                    WakeOnLan.WakeMachine(hostToWake.MachineAddress, SecureOnPrompt.SecureOnPassword);
                                }
                            }
                        }
                    }
                    else
                    {
                        // Use the stored SecureOn Password.
                        if (Network.Locality == WolHostNetwork.NetworkLocality.Remote)
                        {
                            WakeOnLan.WakeMachine(hostToWake.MachineAddress,
                                                  hostToWake.SecureOnPassword,
                                                  HostEndpoint,
                                                  Network.SubnetMask);
                        }
                        else
                        {
                            WakeOnLan.WakeMachine(hostToWake.MachineAddress, hostToWake.SecureOnPassword);
                        }
                    }
                }
            }
        }
        private void btEjecutar_Click(object sender, EventArgs e)
        {
            List <Equipos> eq = new List <Equipos>();

            eq = (from a in equipo where a.Check == true select a).ToList();
            //MessageBox.Show("Equipos: " + eq.Count() + "");
            int Opcion = Checker();

            switch (Opcion)
            {
            case 1:    //ADMINISTRADOR
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.RemoteAccessOptions(x, 1);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 2:    //APAGAR
                foreach (Equipos x in eq)
                {
                    Opciones(x, 2);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 3:    //ENCENDER
                foreach (Equipos x in eq)
                {
                    try
                    {
                        WakeOnLan.SendWOLPacket(x.Mac);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(string.Format("Error En: " + x.Nombre, ex.Message), "Error");
                    }    //Red.Encender(x);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                MessageBox.Show("Ordenes Enviadas: ");
                break;

            case 4:    //REINICIAR
                foreach (Equipos x in eq)
                {
                    Opciones(x, 4);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                MessageBox.Show("Ordenes Enviadas: ");
                break;

            case 5:    //VNCVisor
                foreach (Equipos x in eq)
                {
                    //MessageBox.Show(x.Nombre+" : "+x.Mac);
                    Metodos_Funciones.VNCOptions(x, 2);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 6:    //VNCControl
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.VNCOptions(x, 1);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 7:  //VERIFICAR ESTADO
                foreach (Equipos x in eq)
                {    //MessageBox.Show(x.Nombre);
                    //MessageBox.Show(x.Nombre + " : " + x.Mac);
                    Hilo_Encendido_Apagado objeto_hilo = new Hilo_Encendido_Apagado(x, x.Imagen);
                    Thread hilo = new Thread(new ThreadStart(objeto_hilo.Encendido_Apagado));
                    hilo.Start();
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 8:    //PRACTICANTE
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.RemoteAccessOptions(x, 2);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 9:    //VISITANTES
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.RemoteAccessOptions(x, 3);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            default:
                MessageBox.Show("NO SELECCIONASTE NINGUNA OPCION");
                break;
            }
        }
Пример #15
0
 static void Main(string[] args)
 {
     WakeOnLan.Send("00-24-1d-84-02-02", "192.168.100.2");
 }
Пример #16
0
        public void Test_WakeOnLanPacket3()
        {
            var packet = WakeOnLan.BuildWakeUpPacket("AA-BB-CC-DD-EE-FF");

            Assert.Equal(_wolMagicPacket, packet);
        }
Пример #17
0
        public void Test_WakeOnLanPacket2()
        {
            var packet = WakeOnLan.BuildWakeUpPacket("AA:BB:CC:DD:EE:FF");

            Assert.Equal(_wolMagicPacket, packet);
        }
Пример #18
0
        public void Test_WakeOnLanPacket1()
        {
            var packet = WakeOnLan.BuildWakeUpPacket("AABBCCDDEEFF");

            Assert.Equal(_wolMagicPacket, packet);
        }