private static NetshResult RunProcess(string application, string args)
        {
            var procStartInfo = new ProcessStartInfo(application, args)
            {
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                UseShellExecute = false,
                CreateNoWindow = true
            };

            var process = Process.Start(procStartInfo);
            //process.WaitForExit(3000);

            var result = new NetshResult
            {
                Command = application + " " + args,
                StandardOutput = process.StandardOutput.ReadToEnd(),
                StandardError = process.StandardError.ReadToEnd(),
                ExitCode = process.ExitCode,
                Code = InternalCode.OK
            };

            process.Close();

            return result;
        }
    private IEnumerable <Task> CheckWemoDevice(NetshResult netshResult)
    {
        var tasks = new List <Task>();

        for (uint i = 49150; i <= 49156; i++)
        {
            tasks.Add(CheckWemoDevice(netshResult.IpAddress, i));
        }
        return(tasks);
    }