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

Edit Mikrotik User Profile With PHP API

我正在构建一个 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”命令的适当语法,我们将不胜感激。

所以在研究了这个东西的实际工作原理之后,看来我只是使用了错误的命令。

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

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

事实上,"set" 是您 post 编辑每个功能的方式。 "edit" 用于多行编辑。

特别感谢 drew010 的 WinBox 创意和 link 命令 wiki。