我正在构建一个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"
));
Run Code Online (Sandbox Code Playgroud)
删除用户...
$response = $api->comm("/tool/user-manager/user/remove",array(
".id" => "*15"
));
Run Code Online (Sandbox Code Playgroud)
所以我认为编辑用户会像...
$response = $api->comm("/tool/user-manager/user/edit",array(
".id" => "*15",
"username" => "someotheruser",
"password" => "someotherpass"
));
Run Code Online (Sandbox Code Playgroud)
但是,我收到的错误是......
<<< [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
Run Code Online (Sandbox Code Playgroud)
如果有人之前已经完成此操作并且可以帮助使用"/ tool/user-manager/user/edit"命令的相应语法,那么将非常感激.
因此,经过一些关于这个东西是如何工作的研究,看起来我只是使用了错误的命令.
在mikrotik上编辑用户的正确方法是执行以下操作...
$api->comm("/tool/user-manager/user/set",array(
".id" => "*14",
"username" => "somenewuser"
"password" => "somenewpassword",
));
Run Code Online (Sandbox Code Playgroud)
实际上,"set"是您为每个功能发布编辑的方式."编辑"用于多行编辑.
特别感谢drew010对WinBox的想法以及命令wiki的链接.