使用PHP API编辑Mikrotik用户配置文件

时间:2015-07-29 16:06:48

标签: php api mikrotik

我正在使用用户个人资料编辑和访客凭据等构建WiFi身份验证工具

我可以将用户写入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

如果有人之前已经这样做并且可以帮助使用“/ tool / user-manager / user / edit”命令的相应语法,那将非常感激。

1 个答案:

答案 0 :(得分:5)

所以经过一些关于这个东西是如何工作的研究之后,看起来我只是使用了错误的命令。

在mikrotik上编辑用户的正确方法是执行以下操作...

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

实际上,“设置”是您为每个功能发布编辑的方式。 “编辑”用于多行编辑。

特别感谢drew010的WinBox创意和指向wiki的链接。