+ Responder ao Tópico



  1. #1

    Padrão 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?

  2. #2

    Padrão 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();
    }
    }
    ?>