Задача стояла следующая: когда сотрудник приходит в офис - оповещать сисадмина об этом знаменательном событии. Так как сейчас все повсеместно пользуются смартфонами, то при появлении на работе сотрудника - его смартфон автоматически регистрируется в Wi-Fi сети предприятия (конечно, если у него он всегда включен). Значит по этому событию мы можем сделать оповещение.
Для этого создаем скрипт:# вводим локальную переменную с MAC-адресом смартфона сотрудника:
:local MAC CC:CC:CC:CC:CC:CC;
:local time [/system clock get time];
:local hour [: pick [/system clock get time] 0 2];
:if ($hour >= 9 and $hour <= 18) do={:local MACdetect [interface wireless registration-table find mac-address=$MAC];
:if ([:len $MACdetect]>0) do {:do {:local nameADR [/ip firewall address-list get value-name=list [find address=123.123.123.123]]} on-error={/ip firewall address-list add dynamic=yes address=123.123.123.123 list=timer timeout=08:00:00; :beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=400 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=400 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=500 length=500ms;
:delay 1000ms;
:beep frequency=750 length=500ms;
:delay 500ms;
:beep frequency=750 length=500ms;
:delay 500ms;
:beep frequency=750 length=500ms;
:delay 500ms;
:beep frequency=810 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=470 length=500ms;
:delay 500ms;
:beep frequency=400 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=500 length=500ms;
:delay 1000ms;}}}
:local time [/system clock get time];
:local hour [: pick [/system clock get time] 0 2];
:if ($hour >= 9 and $hour <= 18) do={:local MACdetect [interface wireless registration-table find mac-address=$MAC];
:if ([:len $MACdetect]>0) do {:do {:local nameADR [/ip firewall address-list get value-name=list [find address=123.123.123.123]]} on-error={/ip firewall address-list add dynamic=yes address=123.123.123.123 list=timer timeout=08:00:00; :beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=400 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=500 length=500ms;
:delay 500ms;
:beep frequency=400 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=500 length=500ms;
:delay 1000ms;
:beep frequency=750 length=500ms;
:delay 500ms;
:beep frequency=750 length=500ms;
:delay 500ms;
:beep frequency=750 length=500ms;
:delay 500ms;
:beep frequency=810 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=470 length=500ms;
:delay 500ms;
:beep frequency=400 length=500ms;
:delay 400ms;
:beep frequency=600 length=200ms;
:delay 100ms;
:beep frequency=500 length=500ms;
:delay 1000ms;}}}
Скрипт помещаем в Scheduler на отработку каждые 30 секунд. Данный метод можно применять для отслеживания подключения ноутбука или компьютера по wifi. Для отслеживания включения компьютера по проводу в Router OS есть уже встроенный функционал.
Источник: здесь
Комментариев нет:
Отправить комментарий