Мобильный интернет по расписанию с usbмодема

lx2003

Client
Регистрация
15.02.2021
Сообщения
766
Благодарностей
152
Баллы
43
Здравствуйте! Какой консольной программкой (помимо той, что идёт в комплекте) и как можно включать мобильный интернет с флешки?
Надо чтобы программа включала интернет по требованию или по расписанию.

И конечно надо определять подключение usb модема и есть ли трафик на нем и есть ли средства.


Пока не на чем проверить, но понадобится такое. Хотя бы знать в какой стороне найти ответ, где ещё поискать.
 
Последнее редактирование:

lx2003

Client
Регистрация
15.02.2021
Сообщения
766
Благодарностей
152
Баллы
43
Спросил ИИ copilot, вот таким запросом.

Какой консольной программкой (помимо той, что идёт в комплекте) и как можно включать мобильный интернет с флешки? Надо чтобы программа включала интернет по требованию или по расписанию. Напиши такую на c#



ответ из ИТ copilot.

Для включения мобильного интернета с USB-модема по требованию или по расписанию можно использовать C# с Mobile Broadband API или управлять сетевым адаптером через WMI. Ниже — пример консольной программы на C#, которая включает/отключает мобильный интернет по имени подключения.


✅ Что нужно:

  1. Имя подключения (например, "Мобильный интернет" или "Cellular")
  2. Установленный USB-модем, настроенный через Windows
  3. Права администратора (для управления сетевыми адаптерами)
  4. Планировщик задач Windows — для запуска по расписанию

Подход: управление через rasdial или WMI

Если модем настроен как VPN/PPP-соединение — можно использовать rasdial. Если как сетевой адаптер — можно использовать WMI.


️ Пример консольной программы на C#
using System;
using System.Diagnostics;

namespace MobileInternetToggle
{
class Program
{
static void Main(string[] args)
{
string connectionName = "Cellular"; // Замените на имя вашего подключения
string action = args.Length > 0 ? args[0].ToLower() : "connect";

if (action == "connect")
{
Connect(connectionName);
}
else if (action == "disconnect")
{
Disconnect(connectionName);
}
else
{
Console.WriteLine("Использование: MobileInternetToggle.exe [connect|disconnect]");
}
}

static void Connect(string name)
{
Console.WriteLine($" Подключение к {name}...");
Process.Start(new ProcessStartInfo
{
FileName = "rasdial.exe",
Arguments = $"\"{name}\"",
CreateNoWindow = true,
UseShellExecute = false
});
}

static void Disconnect(string name)
{
Console.WriteLine($"❌ Отключение от {name}...");
Process.Start(new ProcessStartInfo
{
FileName = "rasdial.exe",
Arguments = $"\"{name}\" /disconnect",
CreateNoWindow = true,
UseShellExecute = false
});
}
}
}



Как запускать по расписанию


  1. Открой Планировщик задач (taskschd.msc)
  2. Создай задачу → "Создать простую задачу"
  3. Укажи путь к MobileInternetToggle.exe
  4. В аргументах укажи connect или disconnect
  5. Установи триггер (время, событие, при входе в систему и т.д.)


Альтернатива: управление адаптером через WMI

Если модем отображается как сетевой адаптер:


using System.Management;

public static void EnableAdapter(string adapterName)
{
var query = new SelectQuery("Win32_NetworkAdapter", $"Name = '{adapterName}'");
using var searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject adapter in searcher.Get())
{
adapter.InvokeMethod("Enable", null);
}
}


Источники и API



Хочешь, я добавлю логирование, GUI или автоопределение модема? Или сделаю версию с таймером внутри самой программы? Готова расширить! ️
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)