Редактировать профиль пользователя Mikrotik с помощью PHP API

Я создаю инструмент аутентификации WiFi с редактированием профиля пользователя, учетными данными гостя и т. Д.

Я могу писать пользователей в микротик и удалять пользователей без проблем, но я не могу найти документацию по редактированию профиля пользователя. Я полагаю, я мог бы просто удалить его и добавить новую запись, но это просто неэффективно и может создать проблемы с пользовательскими ключами.

Я использую class.routeros_api.php, и я нахожусь на версии 6.30

Чтобы добавить пользователя сделано так...

$response = $api->comm("/tool/user-manager/user/add",array(
    "customer"          => "admin",
    "username"          => "guest_user",
    "location"          => "Guest",
    "first-name"        => "Guest",
    "last-name"         => "1",
    "password"          => "somepw",
    "shared-users"      => "1",
    "copy-from"         => "00:00:00:00:00:00"
));

Удаление пользователя...

$response = $api->comm("/tool/user-manager/user/remove",array(
    ".id"               => "*15"
));

поэтому я решил, что редактирование пользователя будет что-то вроде...

$response = $api->comm("/tool/user-manager/user/edit",array(
    ".id"               => "*15",
    "username"          => "someotheruser",
    "password"          => "someotherpass"
));

Однако ошибка, которую я получаю...

<<< [28] /tool/user-manager/user/edit 
<<< [8] =.id=*14 
<<< [14] =username=someotheruser
<<< [19] =password=someotherpass

>>> [5/5] bytes read. 
>>> [5, 35]!trap 
>>> [26/26] bytes read. 
>>> [26, 8]=message=unknown parameter 
>>> [5/5] bytes read. 
>>> [5, 1]!done

Если кто-то делал это раньше и может помочь с соответствующим синтаксисом для команды "/tool/user-manager/user/edit", это будет с благодарностью.

1 ответ

Решение

Так что после некоторого исследования того, как эта штука на самом деле работает, оказалось, что я просто использовал неправильную команду.

Правильный способ отредактировать пользователя на mikrotik - сделать следующее...

$api->comm("/tool/user-manager/user/set",array(
    ".id"               => "*14",
    "username"          => "somenewuser"
    "password"          => "somenewpassword",
));

На самом деле, "набор" - это способ публикации изменений для каждой функции. "edit" предназначен для многострочного редактирования.

Отдельное спасибо drew010 за идею WinBox и ссылку на вики-команды.

Другие вопросы по тегам