Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    lease-hostname lease script переменная не работает

    lease-hostname lease script переменная не работает

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    lease-hostname lease script переменная не работает, RouterOS
     
    agnostic
    Guest
    #1
    0
    09.08.2019 22:43:00
    здравствуйте, я добавил следующий скрипт в скрипты аренды DHCP согласно этой инструкции https://wiki.mikrotik.com/wiki/Manual:IP/DHCP_Server /tool fetch url=(“ http://10.10.10.1/add.php?clienthostname=$lease-hostname&mac=$leaseActMAC ”), это работает отлично на стороне сервера, НО происходят странные вещи: в окне вывода журнала я вижу MAC-адрес правильно, а в качестве clienthostname у меня получается -hostname, который, конечно, записывается в базу данных как имя клиента и это неправильно. Я понимаю, что мне нужно по-другому обработать переменные, поэтому я пытаюсь сделать это так: /tool fetch url=(“ http://10.10.10.1/add.php?clienthostname= ” . $lease-hostname . “&mac=” . $leaseActMAC), и это дает мне пустое имя клиента, но MAC-адрес в порядке, и, конечно, он снова записывает только MAC-адрес в базу данных и оставляет имя хоста пустым. даже если я поменяю порядок MAC и имени клиента, имя клиента остается пустым. Может быть, дело во мне и в том, как я использую эту конкретную переменную, или она просто не хочет выдавать имя хоста?
     
     
     
    achmad
    Guest
    #2
    0
    02.04.2023 20:56:00
    try this $[:put [/ip/dhcp-server/lease/get value-name=host-name [find where mac-address=$leaseActMAC]]]
     
     
     
    achmad
    Guest
    #3
    0
    02.04.2023 20:57:00
    Я не могу перевести текст: $[:put [/ip/dhcp-server/lease/get value-name=host-name [find where mac-address=$leaseActMAC]]]
     
     
     
    makrob
    Guest
    #4
    0
    02.06.2024 17:58:00
    Спасибо, этот $“lease-hostname” сработал для меня.
     
     
     
    guywifi
    Guest
    #5
    0
    10.06.2025 18:50:00
    Привет, у меня есть скрипт, который отправляет нам сообщение, когда что-то получает IP-адрес от роутера. Я хочу добавить общую размерность DHCP пула и количество использованных IP, но у меня возникли трудности с поиском этих переменных. Я действительно не нахожу ничего по поводу IP пулов. У кого-нибудь есть эта информация на примете? :local recipient "youremail@email.com"
    /ip dhcp-server lease
    :if ($leaseBound = 1) do={
    :do {
    :tool e-mail send to=$recipient subject="Уведомление о новом устройстве на 5-й и Мэйн:  $"lease-hostname"" body="Следующий MAC-адрес $leaseActMAC получил IP-адрес $leaseActIP от $leaseServerName"
    :log info "Отправлено DHCP-уведомление для MAC $leaseActMAC"
    } on-error={:log error "Не удалось отправить уведомление на электронную почту $recipient"}}
     
     
     
    lurker888
    Guest
    #6
    0
    10.06.2025 19:21:00
    Если вам нужны другие статистические данные, просто получите их с помощью обычных команд Mikrotik. Например, у меня есть пул под названием "local-pool", и чтобы получить информацию о нем, я бы использовал: :local usedAddrs [ /ip/pool/get local-pool used ] :local totalAddrs [ /ip/pool/get local-pool total ] :put "Из $totalAddrs адресов $usedAddrs используются." Это выведет: Из 154 адресов 6 используются.
     
     
     
    guywifi
    Guest
    #7
    0
    10.06.2025 19:52:00
    Спасибо за ответ! Это не работает для меня. Но, может быть, я вставляю это в свой скрипт не в то место? Куда это должно быть вставлено?
     
     
     
    lurker888
    Guest
    #8
    0
    10.06.2025 20:11:00
    Должно работать практически везде. Кроме этого, покажи скрипт, и, возможно, я смогу найти ошибку. Конечно, тебе нужно заменить название пула на своё, а “:put” эквивалентно “print” в большинстве языков, то есть выводит результат в консоль; чтобы записать информацию, используй “:log info”, как в других местах твоего скрипта.
     
     
     
    guywifi
    Guest
    #9
    0
    10.06.2025 20:15:00
    Конечно, вот что у меня есть. Это была моя последняя попытка, ничего не испортилось, но и в письме ничего нет. Я попробовал вставить это в тело письма, и это не сработало. Ещё раз спасибо за вашу помощь, я очень ценю это. :local recipient "email@email.com"
    /ip dhcp-server lease
    :if ($leaseBound = 1) do={
    :do {
    :tool e-mail send to=$recipient subject="5th and Main New Device Alert: $"lease-hostname"" body="Следующий MAC-адрес $leaseActMAC получил IP-адрес $leaseActIP от $leaseServerName"
    :local usedAddrs [ /ip/pool/get "Public DHCP Pool" used ]
    :local totalAddrs [ /ip/pool/get "Public DHCP Pool" total ]
    :put "Из $totalAddrs адресов $usedAddrs используются."
    :log info "Отправлено уведомление DHCP для MAC $leaseActMAC"
    } on-error={:log error "Не удалось отправить уведомление на email $recipient"}}
     
     
     
    lurker888
    Guest
    #10
    0
    10.06.2025 20:50:00
    Что ж... ты все еще используешь ":put" - это выводит информацию в консоль. Если ты хочешь, чтобы это было в электронном письме, то тебе нужно вставить это в тело письма. Если по какой-то причине ты не добавил объявление ":local" перед отправкой письма, тогда, конечно, это не сработает: переменные еще не существуют. Помести объявления перед их использованием, сделай это до строки, где ты отправляешь электронное письмо. Часто бывает полезно отлаживать вещи поэтапно - прежде чем отправлять это в письме, я бы просто залогировал это, заменив ":put" на ":log info", чтобы убедиться, что получение данных из пула действительно работает, а потом уже вставил бы это в письмо. Ты вообще получаешь это письмо? (с дополнительным содержимым или без)
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры