Mikrotik:使用 PHP API 更改 usermanager 用户密码
Mikrotik: change usermanager user password using PHP API
我正在尝试创建一个 PHP 代码,它可以使用 PHP API 更改用户密码,这是我目前的代码:
<?php
require('routeros_api.class.php');
$API = new routerosAPI();
$API->debug = true;
if ($API->connect('192.168.0.101', 'user', 'password')) {
$API->write('/tool/user-manager/user/getall', false);
$API->write('=.proplist=username', false);
$API->write('?username=john');
$API->write('/tool/user-manager/user/set',false);
$API->write('password=4321');
$READ = $API->read(false);
$ARRAY = $API->parseResponse($READ);
print_r($ARRAY);
$API->disconnect();
}
?>
当我 运行 这段代码时,它似乎只 return 我正在搜索的用户名,但密码没有改变。有帮助吗?
您使用的命令不正确。我没有使用PHP API,所以有些部分将用文字而不是代码来描述。
首先您需要获取要编辑的记录的ID。如果用户名是 john
,它将是:
$API->write('/tool/user-manager/user/print', false);
$API->write('=.proplist=.id', false);
$API->write('?username=john');
读取并解析响应。例如返回的 .id
是 *1
。使用此更改密码:
$API->write('/tool/user-manager/user/set', false);
$API->write('=.id=*1', false);
$API->write('=password=new_pass');
我正在尝试创建一个 PHP 代码,它可以使用 PHP API 更改用户密码,这是我目前的代码:
<?php
require('routeros_api.class.php');
$API = new routerosAPI();
$API->debug = true;
if ($API->connect('192.168.0.101', 'user', 'password')) {
$API->write('/tool/user-manager/user/getall', false);
$API->write('=.proplist=username', false);
$API->write('?username=john');
$API->write('/tool/user-manager/user/set',false);
$API->write('password=4321');
$READ = $API->read(false);
$ARRAY = $API->parseResponse($READ);
print_r($ARRAY);
$API->disconnect();
}
?>
当我 运行 这段代码时,它似乎只 return 我正在搜索的用户名,但密码没有改变。有帮助吗?
您使用的命令不正确。我没有使用PHP API,所以有些部分将用文字而不是代码来描述。
首先您需要获取要编辑的记录的ID。如果用户名是 john
,它将是:
$API->write('/tool/user-manager/user/print', false);
$API->write('=.proplist=.id', false);
$API->write('?username=john');
读取并解析响应。例如返回的 .id
是 *1
。使用此更改密码:
$API->write('/tool/user-manager/user/set', false);
$API->write('=.id=*1', false);
$API->write('=password=new_pass');