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


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

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

Я использую 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

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

Author: zgr024, 2015-07-29

1 answers

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

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

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

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

Особая благодарность drew010 за идею Winbox и ссылку на вики-страницу команд.

 5
Author: zgr024, 2015-07-30 02:09:47