【问题标题】:Edit Mikrotik User Profile With PHP API使用 PHP API 编辑 Mikrotik 用户配置文件
【发布时间】:2015-07-29 16:06:47
【问题描述】:

我正在构建一个带有用户配置文件编辑和访客凭据等的 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 测试路由器,但编辑命令或您传递的参数之一无效。要找出可用的命令和参数,请通过 WinBox 连接,打开终端窗口并输入 /tool/user-manager/user [TAB],它将列出可用的命令。然后你可以通过再次输入命令和[TAB]来获取参数列表。
  • 这里是内置用户的示例:[admin@demo] &gt; /user edit [TAB] 显示:admin root john number value-name,然后执行/user edit admin [TAB] 显示:address comment group name password value-name 这是您可以设置用于编辑用户@987654332 的参数@。希望现在有帮助。然后可以将这些转换为您可以在代码中使用的 API 命令和参数。
  • 但这并没有给我提供 API 的语法来说明作为第二个参数传递的内容
  • 我可以编辑...caller-id, first-name, phone, username, caller-id-bind-on-first-use, ip-address, random-password, wireless-enc-algo, comment, last-name, reg-key, wireless-enc-key, customer, location, registration-date, wireless-psk, email, password, &amp; shared-users 但 API 的语法仍然未知

标签: php api mikrotik


【解决方案1】:

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

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

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

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

特别感谢 draw010 的 WinBox 创意和命令 wiki 的链接。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-09-02
  • 2016-05-19
  • 2014-04-29
  • 2012-04-17
  • 2018-10-05
  • 2018-03-26
  • 1970-01-01
相关资源
最近更新 更多