2015-07-29 7 views
3

Я строем инструмента аутентификации WiFi с профилем редактированием и гостевыми учетными данными и т.д.Редактировать Mikrotik Профиля С PHP API

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

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

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

+1

У меня нет доступа к моему тестовому маршрутизатору Mikrotik прямо сейчас, но либо команда редактирования, либо один из параметров, которые вы передаете, недействительны. Чтобы выяснить, какие команды и параметры доступны, подключитесь через WinBox, откройте окно терминала и введите '/ tool/user-manager/user [TAB]', и он отобразит доступные команды. Затем вы можете получить список параметров, снова набрав команду и '[TAB]'. – drew010

+0

Вот пример для встроенных пользователей: '[admin @ demo]>/user edit [TAB]' показывает: 'admin root john number value-name', а затем'/user edit admin [TAB] 'показывает: 'address comment group name password value-name', которые являются параметрами, которые вы можете установить для редактирования пользователя' admin'. Надеюсь, что сейчас это помогает. Затем они могут быть переведены на команды API и параметры, которые вы можете использовать в своем коде. – drew010

+0

Но это не дает мне синтаксиса API для того, что передать как второй параметр – zgr024

ответ

5

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

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

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

В самом деле, «установить» путь проводку изменений для каждой функции. «edit» для многострочного редактирования.

Особая благодарность drew010 за идею WinBox и ссылку на команду wiki.

+1

Yup Я просто нашел, что 'set' является правильной командой тоже :) edit для многострочного редактирования на терминале: http://wiki.mikrotik.com/ вики/Manual: Консольные # General_Commands – drew010