/// <summary>
 /// Wakes the desired device via Wake-on-LAN.
 /// It only executes when Trigger is set to true.
 /// The MAC address must be a valid MAC address in format AA:BB:CC:DD:EE:FF or AABBCCDDEEFF.
 /// </summary>
 public override void Execute()
 {
     byte[] macAddress = new byte[6];
     if (this.MacAddress.HasValue && this.Trigger.HasValue && this.Trigger.Value)
     {
         WakeOnLanImpl.WakeOnLan(IPAddress.Broadcast, this.MacAddress);
     }
 }
Exemplo n.º 2
0
        public static void WakeOnLan(string macAddress)
        {
            var broadcasts = WakeOnLanImpl.GetAllBroadcastAddresses();

            foreach (var broadcastAddr in broadcasts)
            {
                try
                {
                    WakeOnLan(broadcastAddr, macAddress);
                }
                catch (SocketException e)
                {
                    if (e.SocketErrorCode != SocketError.NetworkUnreachable)
                    {
                        // NetworkUnreachable might happen for inactive NICs,
                        // so we ignore this here and re-throw everything else.
                        throw;
                    }
                }
            }
        }