Mikrotik: изменить пароль пользователя usermanager с помощью 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();
}
?>

Когда я запускаю этот код, кажется, он возвращает только имя пользователя, которое я ищу, но пароль не меняется. Любая помощь?

-1

Решение

Вы используете неправильные команды. Я не использовал 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');
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]