Обложка канала

Системный администратор

18542 @i_odmin

Системный администратор. Все для системного администратора: библиотека электронных книг, полезные статьи, мануалы.

Системный администратор

4 года назад
Открыть в
Скриптик переустановки пароля пользователя MikroTik # Скрипт смены пароля пользователя # только для исполнения в терминале ROS # by Sertik 09/06/2020 { :global EnterString do={ :local cont 0; :local string "" :while ($cont!=13) do={ :local key ([:terminal inkey]) :if ($key!=13) do={ :local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]] :set string ("$string"."$char")} :set cont $key } :return $string} ; :put "Please, enter Username:" :local RegUser [$EnterString]; :put ""; :if ([:len [/user find disabled=no name=$RegUser]]!=0) do={:put "Ok, a user with this name was found"; :put ""; :put "Please, enter new password for this user:" :local newPass [$EnterString]; [/user remove $RegUser]; [/user add name=$RegUser password=$newPass group=full]; :put ""; :put "The user has been re-created, the password has been changed"; :put ("New user`s password: "."$newPass"); :put "Don't forget to set up access restrictions based on ip addresses"; } else={:put ("User "."$RegUser "."not found"); :put ""; } } Скрипт интересен строкой преобразования кода символа из переменной $key, сграбленного с клавиатуры терминала, в сам символ. :local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]] 👉 @i_odmin