Como se faz o comando set do terminal na API PHP do mikrotik?
No terminal, quando quero alterar o nome do user, digito:
/user set nomeuserAtual name=nomeuserNovo
Mas a sintaxe da API PHP é diferente então após olhar documentação digitei:
$API->write('/user/set teste4
=name=teste3');
depois tentei:
$API->write('/user/set',false);
$API->write('=name=teste3',false);
e por último:
$API->write('/user/set teste4 name=teste3');
Mas nenhuma delas executou a troca de nome do usuário. Alguém sabe como se faz isso?
Re: Como se faz o comando set do terminal na API PHP do mikrotik?
Olá comunidade under-linux!
No fórum oficial da mikrotik consegui uma resposta para a pergunta. Não foi fácil porque meu ingres é de um tradutor on line, mas no fim tudo está dando certo. Felicidades e que Deus nos permita perceber que fora da caridade não há salvação.
Link para o fórum da mikrotik: MikroTik RouterOS • View topic - Change hotspot password with PHP API
------------------------------
SCRIPT:
<?php
require('routeros_api.class.php');
$API = new routeros_api();
$API->debug = true;
$ip = 'xxx.xxx.xxx.xxx';
$old_password = '123456';
$old_name = 'testeb';
$new_password = '123456';
$new_name = 'testea';
if ($API->connect($ip, $old_name, $old_password))
{
$API->write('/user/set', false);
$API->write('=.id='.$old_name, false);
$API->write('=name='.$new_name);
$ARRAY = $API->read();
print_r($ARRAY);
$API->disconnect();
if ($API->connect($ip, $new_name, $new_password))
{
$API->write('/interface/getall');
$ARRAY = $API->read();
print_r($ARRAY);
$API->disconnect();
}
}
?>