--- title: "Sintaxe de executores" slug: "executions-executors-syntax" updated: 2026-11-03T14:47:51Z published: 2026-11-03T14:47:51Z canonical: "docs.senhasegura.io/executions-executors-syntax" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.senhasegura.io/llms.txt > Use this file to discover all available pages before exploring further. # Sintaxe de executores Este artigo abordará cada sintaxe de plugin e um exemplo a ser usado que facilitará o entendimento de sua funcionalidade. ## cURL Executor de requisições para páginas web simples. Páginas sem ambiente JavaScript ou eventos HTML. Você pode usar este executor para sistemas legados baseados na arquitetura HTML4 pura. Se você precisar realizar uma automação usando elementos de interfaces web simulando ações reais do usuário, dê uma olhada no executor HTTP. Por padrão, este plugin não valida a conexão SSL e seu tempo limite padrão é de 10 segundos. ### Sintaxe Este plugin aceita comentários. Para comentários, use o caractere sustenido '#' no início da linha. | Comandos | Descrição | | --- | --- | | **set-disable-auth** | Não considera usuário e senha na requisição para fornecer HTTP Auth `set-disable-auth` | | **set-request-header ”param” ”value”** | Estabelece um parâmetro header para a requisição HTTP ser realizada. `set-request-header ”mytoken”``”FF32C5E9AC1800A2”` | | **set-request-param ”param” ”value”** | Configura quaisquer parâmetros cURL para a requisição realizada `set-request-param``”CURLOPT_ENCODING” ”ISO-8859-1”` | | **set-request-content ”content”** | Determina o conteúdo dos dados da requisição. Desse valor é calculado o Content-lenght header. `set-request-content``”name=Peter&surname=McAlister”` | | **set-content-type ”type”** | Determina a header de definição de conteúdo da requisição. Esse valor será atribuído ao Content-type header: text/TYPE;charset=”utf-8” e Accept: text/TYPE.`set-content-type ”text”` | | **set-request-method ”method”** | Determina o tipo de requisição que será realizada. Podendo ser os métodos `POST`, `PUT`, `PATCH` e `DELETE`. Confira RFC 7231 para mais detalhes. `set-request-method ”GET”` | | **request ”URL”** | Realiza a requisição na URL fornecida`request ”https://www.google.com/”` | | **expect ”string”** | Busca por um texto na reposta à requisição. Falhará, caso não encontrado. .`expect ”password changed!”` | | **no-expect ”string”** | Busca por um texto na resposta à requisição. Falhará, caso encontrado.`no-expect ”password change failed!”` | | **set-oauth2** | Implementa o método de autenticação de requisições em cURL, utilizando Oauth2.0. Por meio dos dados de `"[url_token]" "[client_id]" "[client_secret]"`, o Segura™ realiza a chamada de coleta do token de acesso Oauth2.0 e utiliza esse token de acesso para realizar a requisição em cURL. | #### Exemplo de requisição - Criação de credencial com autorização em Oauth2.0 para enviar dados a outra aplicação Substitua os valores dos campos abaixo conforme as informações necessárias. | Item | Descrição | | --- | --- | | `url_token` | URL da aplicação para coleta do token Oauth2.0. | | `client_id` e `client_secret` | Dados da autorização Oauth2.0. | | `endpoint_destino` | URL da aplicação de destino. | ``` set-request-method "POST" set-oauth2 "[url_token]" "[client_id]" "[client_secret]" set-request-header Content-type application/json set-request-content {"username":"#USERNAME#","content":"[#NEW_PASSWORD#]","hostname":"HOSTNAME","ip":"127.0.0.1"} request "[endpoint_destino]" expect "Credential updated successfully" ``` #### Exemplo de requisição - Alteração de senhas para contas do Azure e outras APIs modernas Este *script* utiliza tags que buscam dados de duas credenciais diferentes: a credencial de autenticação e a credencial de destino. Antes de usar este modelo, crie uma credencial de autenticação na **Segura™ Platform** para armazenar com segurança o ID do cliente e o segredo do cliente. Substitua os valores dos campos abaixo de acordo com as informações solicitadas. | Item | Tag | Descrição | | --- | --- | --- | | **ID do tenant** | `[#ADD_INFO#] | ID do *tenant* da sua instância do Azure para coletar o *token* OAuth 2.0. | | **ID do cliente** | [#AUTH_USER#] | Dados de autorização OAuth 2.0, obtidos a partir das credenciais de autenticação. | | **Segredo do cliente** | [#AUTH_PASSWORD#] | Dados de autorização OAuth 2.0, obtidos a partir das credenciais de autenticação. | | **Escopo** (Opcional) | "https://graph.microsoft.com/.default" | Define as permissões para o *token* de acesso. | | **Nome de usuário de destino** | [#USERNAME#] | Nome de usuário da conta Azure de destino, obtido a partir das credenciais de destino. | | **Nova senha** | [#NEW_PASSWORD#] | Nova senha gerada para a credencial de destino. | ``` set-request-method "PATCH" set-oauth2 "https://login.microsoftonline.com/[#ADD_INFO#]/oauth2/v2.0/token" "[#AUTH_USER#]" "[#AUTH_PASSWORD#]" "https://graph.microsoft.com/.default" set-request-header Content-type application/json set-request-content {"passwordProfile":{"forceChangePasswordNextSignIn":false,"password":"[#NEW_PASSWORD#]"}} request "https://graph.microsoft.com/v1.0/users/[#USERNAME#]" no-expect "error" ``` ### Exemplo #### Alteração de senha HTTP com cabeçalho ``` set-request-header "X-INTRANET-TOKEN" "FF32C5E9AC1800A2" set-request-param "username" "[#AUTH_USER#]" set-request-param "password" "[#AUTH_PASSWORD#]" set-request-param "tgt_user" "[#USERNAME#]" set-request-param "tgt_npassword" "[#NEW_PASSWORD#]" set-request-method "POST" ## If 7 bytes string 1200-OK returns, the password change was accepted expect "1200-OK" ## If 7 bytes string 9999-NOK returns, the password change has failure no-expect "9999-NOK" ``` ## HTTP Executor para solicitações a páginas web complexas, onde é necessária mais interatividade, usando elementos JavaScript e acionadores de eventos. ### Syntax | Comando | Descrição | | --- | --- | | **start-at url** | Indica a URL inicial da página desejada. Este comando deve estar no início do template.`start-at https://www.Segura.com/` | | **timeout milliseconds** | Duração total do processo em milisegundos. Este comando deve estar no início do template.`timeout 3000` | | **useragent string** | Especifica qual agente usuário será utilizado durante a alteração de senha. Por padrão, será utilizado *Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36*. Este comando deve estar no início do template.`useragent Segura-executor` | | **new-action** | Indica que um novo grupo de ações iniciará. Um grupo de ações é composto por todas as ações realizadas para a submissão de uma página.`new-action` | | **set-location url** | Redireciona o executor para a URL indicada.`set-location https://mysystem.local/admin/login.php` | | **test-location string** | Valida a URL atual frente a string fornecida. A string em questão pode ser somente um componente de toda a URL. Caso falso, o processo é interrompido.`test-location /admin/login.php` | | **log string** | Registra uma mensagem log. Utilize para identificar os passos na execução log.`log Starting authentication steps` | | **test-selector selector** | Realiza um teste em um seletor similar aos seletores jQuery. Caso o elemento não seja encontrado, o processo será interrompido e processado como falho.`test-selector input#username` | | **fill selectordata** | Preenche o elemento devolvido pelo seletor com o valor indicado.`fill input#username #USERNAME#` | | **click selector** | Aciona o evento clicando no elemento DOM devolvido pelo seletor.`click inputtype=button#login` | | **jclick selector** | Aciona o evento clicando no elemento devolvido pelo seletor.`jclick inputtype=button#login` | | **offset xy** | Cria um posicionamento offset para ajustar os comandos `really-click` e `really-fill`. | | **really-click selector** | Aciona um click externo na página, assim como um usuário o faz. Utilize o comando `offset` para ajustar a coordenada do elemento.`really-click inputtype=button#login` | | **really-fill selectordata** | Preenche o elemento devolvido pelo seletor com o valor indicado através da simulação de input do usuário. O elemento será clicado utilizando o comando `really-click` antes de ser preenchido. Utilize o comando `offset` para ajustar a coordenada do elemento.`really-fill input#username #USERNAME#` | | **prop selectorpropertyvalue** | Troca a propriedade de um elemento. Utilizado quando algum CSS ou elemento DOM realizou uma ação `really-fill` or `really-click` de difícil execução.`prop input#agreement enabled true` | | **test-visible selector** | Testa se os elementos são visíveis ao usuário. A operação é interrompida caso os elementos não sejam visíveis.`test-visible div#alert.success` | | **test-not-visible selector** | Testa se os elementos são invisíveis ao usuário. A operação é interrompida caso eles sejam visíveis.`test-not-visible div#alert.failure` | | **sleep milliseconds** | Aguarda, pelos milisegundos determinados, entre uma ação e outra.`sleep 1000` | | **jscript jscode** | Código JavaScript para executar na atual página renderizada . Utilize com atenção .`jscript $(’inputtype=checkbox’).prop(’checked’, true);` | Atenção O comando `sleep` insere uma ação em espera, para que a ação em andamento seja concluída e uma nova ação seja gerada com o próximo comando de texto (após o período de espera). ### Exemplo #### Alteração de senha Amazon AWS console ``` start-at https://console.aws.amazon.com/console/home timeout 30000 user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" new-action sleep 4000 test-location /signin?redirect_uri fill #resolving_input [#USERNAME#] jclick #next_button sleep 2000 new-action fill #ap_password [#CURRENT_PASSWORD#] click #signInSubmit-input new-action test-location /console/home set-location https://signin.aws.amazon.com/updateaccount?redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fbilling%2Fhome%23%2Faccount sleep 2000 new-action test-location /ap/cnep jclick #cnep_1A_change_password_button-input new-action fill #ap_password [#CURRENT_PASSWORD#] fill #ap_password_new [#NEW_PASSWORD#] fill #ap_password_new_check [#NEW_PASSWORD#] click #cnep_1D_submit_button-input new-action test-selector #message_success ``` ## LDAP Este plugin pode ser utilizado para interagir até mesmo com servidores Microsoft Active Directory ou OpenLDAP. ### Syntax | Comando | Descrição | | --- | --- | | **connect null ”target”** | Conecta ao destino requerido. Se não informado, irá se conectar com o dispositivo associado à credencial.`connect` | | **find ”dn” ”filter”** | Localiza a entrada a ser manipulada `find ”o=MyCompany,c=BR” ”(username=user01)”` | | **mod-add ”param” ”value”** | Adiciona um atributo à entrada. Depende se o comando `find` foi executado com sucesso.`mod-add ”memberuid” ”username”` | | **mod-del ”param” ”value”** | Remove um atributo da entrada. Depende se o comando `find` foi executado com sucesso.`mod-del ”memberuid” ”username”` | | **mod-replace ”param” ”value”** | Substitui um atributo com a entrada. Depende se o comando `find` foi executado com sucesso. `mod-replace ”memberuid” ”username”` | | **bind ”dn”** | Realiza a autenticação do servidor `bind ”uname”` | | **set-option ”param” ”value”** | Determina o valor de uma propriedade na conexão LDAP. Confira PHP LDAP[1](/docs/pt/executions-executors-syntax#fn1) para visualizar a pick list. `set-option ”LDAP_OPT_PROTOCOL_VERSION” ”3”` | ### Exemplos #### Alteração de dominíno da senha do usuário no Microsoft Active Directory ``` ## LDAP protocol version set-option LDAP_OPT_PROTOCOL_VERSION 3 ## DistinguishedName of the user who will connect to the server bind "cn=[#AUTH_USER#],CN=Users,DC=Segura,DC=local" ## Search the user in which the procedure will be done. ## The system will search in general scope for a user object that has the name of the user find "DC=Segura,DC=local" "(&(objectClass=user) (sAMAccountName=[#USERNAME#]))" ## Update user password mod-replace unicodePwd "u([#NEW_PASSWORD#])" ``` #### Ativação da conta de usuário ``` ## LDAP protocol version set-option LDAP_OPT_PROTOCOL_VERSION 3 set-option LDAP_OPT_REFERRALS 3 ## DistinguishedName of the user who will connect to the server bind "CN=[#AUTH_USER#],CN=Users,DC=Segura,DC=local" ## Search the user in which the procedure will be done. find "DC=Segura,DC=local" "(&(objectClass=user) (sAMAccountName=[#USERNAME#]))" ## Update account status mod-replace userAccountControl 512 ``` Info Para localizar o `DistinguishedName` do servidor, acesse **Advanced Features** e siga os passos: 1. Clique em **View** and then on **Advanced Features**. 2. With the complete view of user attributes, click on **User Properties**. 3. Go to the attribute editor tab and find the `DistinguishedName` among the information. ## SSH ### Sintaxe Este plugin aceita comentários. Para comentários, utilize o caractere `#` no início da linha. | Comando | Descrição | | --- | --- | | **set-ssh-version [1]** | Determina a versão SSH a ser utilizada. Por predefinição, utiliza. `set-ssh-version 2` | | **set-new-line-mode [unixwindowsmac]** | Envia o caracter de comando. Por predefinição, utiliza `unix`.`set-new-line-mode unix` | | **set-read-timeout [seconds]** | Tempo, em segundos, para a leitura de comando `read` pausar. A predefinição é de 5 segundos.`set-read-timeout 5` | | **set-connect-timeout [seconds]** | Tempo, em segundos, para a conectividade pausar. A predefinição é de 5 segundos.`set-connect-timeout 5` | | **exec ”string”** | Executa o comando no dispositivo remoto`exec ”passwd myuser”` | | **write ”string”** | Escreva a string para o dispositivo remoto. O final da linha não será enviado | | **read ”string”** | Localiza o texto fornecido na saída da conexão. Expressões regulares não são aceitas.`read ”New password:”` | | **expect ”string”** | Localiza o texto fornecido na saída da conexão, permitindo o uso do caracter wildcard ’*’ para buscas expansivas | | **expect-regex** | Localiza o texto por meio de uma expressão regular. `read ”[nN]ew password:”` | | **sleep ”seconds”** | Aguarda pela execução do script dentro do tempo estipulado `sleep 10` | | **no-expect** | Busca por uma expressão para irrigar a resposta à requisição. Falhará, caso encontre. `no-expect ”password change failed!”` | | **end** | Encerra a conexão com o servidor alvo `end` | ### Exemplos #### Alteração de senha para usuário Linux ``` ## Put the language in English expect "*#" exec "export LC_ALL=C" ## Execute the password change for the user expect "*#" exec "passwd [#USERNAME#]" ## Fill in the new password expect "*password:" exec "[#NEW_PASSWORD#]" ## Confirm the new password expect "*password:" exec "[#NEW_PASSWORD#]" ## Validates if successfully changed expect "*updated successfully" ``` #### Alteração de senha Apache htpasswd ``` expect "*#" exec "htpasswd -bm /etc/htpasswd/.htpasswd [#USERNAME#] [#NEW_PASSWORD#]" expect "*Updating" expect "*#" exec "exit" end ``` #### Alteração de senha Apache Tomcat ``` ## Changing tomcat-users.xml user entry expect "*#" exec "sed -i 's/" exec "system-view" ## Enter local user view expect "*]" exec "local-user [#USERNAME#]" expect "*]" exec "password cipher [#NEW_PASSWORD#]" ## Exit to user. expect "*]" exec "quit" ## Exit to system view. expect "*]" exec "quit" expect "*>" exec "quit" ``` ## Windows RM O dispositivo deve ter conectividade habilitada e autorizada no Microsoft®Windows®Remote Management. ### Sintaxe | Comando | Descrição | | --- | --- | | **!unsecure** | Determina o uso de protótipos inseguros para a troca.`!unsecure` | | **!reload-password** | Substitui a senha atual pelo novo valor de senha.`!reload-password` | | **!sleep seconds** | Aguarda pelo tempo, estipulado em segundos, para realizar o próximo comando.`!sleep 30` | | **!change-password** | Solicita a execução da troca de senha para o usuário alvo dessa automação.`!change-password` | | **powershell cmd** | Executa o comando powershell no servidor remoto.`powershell Set-ADAccountPassword -Identity``[#username#] -Reset -NewPassword (ConvertTo-SecureString``-AsPlainText ”[#NEW_PASSWORD#]” -Force)` | ### Exemplos #### Dispositivos quem possuem Windows RM sobre HTTPS ``` ## change user password !change-password ``` #### Dispositivos que possuem Windows RM sobre HTTP ``` !unsecure ## change user password !change-password ``` #### Ateração de senha na configuração de arquivo via PowerShell ``` powershell (Get-Content .Desktop\Web.config) | Foreach-Object {$_ -replace 'password=([^;"]+)','password=[#NEW_PASSWORD#]'} | Set-Content .Desktop\Web.config ``` #### Alteração de senha COM+ Application utilizando PowerShell ``` ## Change user password !change-password ## Replicate the new password into COM+ application powershell $comAdmin = New-Object -com ("COMAdmin.COMAdminCatalog.1")[nl]$applications = $comAdmin.GetCollection("Applications")[nl]$applications.Populate()[nl]foreach ($application in $applications)[nl]{[nl]$appName = $application.Value("Name")[nl]$appIdentity = $application.Value("Identity")[nl]if ($appIdentity -eq "[#ADD_INFO#]\[#USERNAME#]") {[nl]$application.Value("Password") = "[#NEW_PASSWORD#]"[nl]$comAdmin.ShutdownApplication($appName)[nl]$applications.SaveChanges()[nl]$comAdmin.StartApplication($appName)[nl]}[nl]} ``` #### Alteração de senha Windows Autologon utilizando PowerShell ``` ## Change user password !change-password ## Replicate the new password into Windows registry powershell $RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"[nl] Set-ItemProperty $RegPath "AutoAdminLogon" -Value "1" -type String[nl] Set-ItemProperty $RegPath "DefaultDomain" -Value "[#DOMAIN#]" -type String[nl] Set-ItemProperty $RegPath "DefaultUsername" -Value "[#USERNAME#]" -type String[nl] Set-ItemProperty $RegPath "DefaultPassword" -Value "[#PASSWORD#]" -type String ``` #### IIS Website Application Pool ``` ## Change user password !change-password ## Replicate the new password into IIS application pool C:\Windows\System32\inetsrv\appcmd.exe set config /section:applicationPools /"[name='[#ADD_INFO#]']".processModel.identityType:SpecificUser /"[name='[#ADD_INFO#]']".processModel.userName:[#USERNAME#] /"[name='[#ADD_INFO#]']".processModel.password:[#NEW_PASSWORD#] ``` ## Windows RPC O dispositivo deve ter conectividade habilitada e autorizada com o Microsoft Windows RPC . ### Sintaxe Este executor aceita qualquer comando **Microsoft Windows RPC**, além de alguns comandos do Segura™ Microsoft Windows RPC Executor iniciando com exclamação. | Comando | Descrição | | --- | --- | | **!netsmb-password** | Requisita a execução da troca de senha do usuário alvo desta automação. `!netsmb-password` | | **!reload-password** | Força a substituição da senha atual por um novo valor de senha.`!reload-password` | | **!sleep seconds** | Aguarda, por um determinado número de segundos, para executar o próximo comando.`!sleep 30` | ### Exemplos #### Mudando o domínio da senha de um usuário ``` ## Changing account using executor command alias !netsmb-password ## You can also execute a native RPC command ## net user [#USERNAME#] [#NEW_PASSWORD#] /domain ``` #### Senha de usuário local e atualizar senha de usuário local Windows Task ``` ## Change password net user [#USERNAME#] [#NEW_PASSWORD#] ## Waiting three seconds !sleep 3 ## Update password for "Defrag" schtasks /Change /RU [#USERNAME#] /RP [#NEW_PASSWORD#] /TN Defrag ``` #### Senha de usuário local e atualizar senha de conta Windows Service ``` ## Change password net user [#USERNAME#] [#NEW_PASSWORD#] ## Waiting three seconds !sleep 3 sc config [#ADD_INFO#] obj= [#USERNAME#] password= [#NEW_PASSWORD#] ``` ## MySQL ### Sintaxe Você pode executar qualquer consulta de administração MySQL, ou ainda consultas a banco de dados. Você pode executar funções MySQL ou funções específicas de bancos de dados. A única limitação é executar ou criar procedimentos armazenados. ### Exemplo #### Alterar senha de um usuário ``` ALTER USER '[#USERNAME#]'@'[#ADD_INFO#]' IDENTIFIED BY '[#NEW_PASSWORD#]'; FLUSH PRIVILEGES; ``` ## Oracle ### Sintaxe Você pode executar qualquer consulta de administração do Oracle, ou até mesmo outras pesquisas direcionadas a banco de dados. Você também pode executar funções Oracle ou funções específicas de bancos de dados . A única limitação é executar ou criar procedimentos armazenados. ### Exemplo #### Alterar senha de um usuário ``` CONN [#USERNAME#]@[#ADD_INFO#] ALTER USER [#USERNAME#] IDENTIFIED BY [#NEW_PASSWORD#] ``` ## PostgreSQL ### Sintaxe Você pode executar qualquer consulta de administração do PostgreSQL, ou até mesmo outras pesquisas direcionadas a banco de dados. Você também pode executar funções PostgreSQL ou funções específicas de bancos de dados . A única limitação é executar ou criar procedimentos armazenados. ### Exemplo #### Alterar senha de um usuário ``` ALTER USER [#USERNAME#] WITH PASSWORD '[#NEW_PASSWORD#]'; ``` ## SQL Server ### Sintaxe Você pode executar qualquer consulta de administração do SQL, ou até mesmo outras pesquisas direcionadas a banco de dados. Você também pode executar funções SQL Server ou funções específicas de bancos de dados . A única limitação é executar ou criar procedimentos armazenados. ### Exemplo #### Alteração da senha de um usuário ``` ALTER LOGIN [#USERNAME#] WITH PASSWORD = '[#NEW_PASSWORD#]' OLD_PASSWORD = '[#CURRENT_PASSWORD#]' UNLOCK; ``` ## Tk Expect Este plugin utiliza o TK Expect binary para interagir por meio de um forte stdout interpreter. Info **Tk Expect plugins** Você pode utilizar os plugins seguintes no Tk Expect template: - [SQL*Plus](https://docs.oracle.com/cd/E11882_01/server.112/e41085/sqlqraa001.htm#SQLQR985) - [TDS](https://en.wikipedia.org/wiki/Tabular_Data_Stream) (Tabular Data Stream) - SSH - Telnet ### Sintaxe Você pode utilizar o manual [TK Expect](https://www.tcl-lang.org/man/expect5.31/expect.1.html) para criar o seu próprio script. ### Exemplos #### Alteração de senha IBM AS400 ``` use telnet script expect { "User . ." { send "[#USERNAME#]\t" exp_continue } "Password . ." { send "[#CURRENT_PASSWORD#]\r\n" exp_continue } "Selection or command" { send "chgpwd\r\n" exp_continue } "Current password . ." { send "[#CURRENT_PASSWORD#]\r\n" exp_continue } "New password . ." { send "[#NEW_PASSWORD#]\r" exp_continue } "New password (to verify)" { send "[#NEW_PASSWORD#]\r" exp_continue } "Password changed successfully." { send "\r" exit 0 } incorrect { send_user "FAILURE INCORRECT" exit 1 } timeout { send_user "FAILURE TIMEOUT" exit 1 } eof { send_user "FAILURE EOF" exit 1 } } ``` #### Sybase select ``` use tds env "TDSVER" "5.0" exec "SELECT CAST(GETDATE() AS DATE)" exec "go" expect "affected" ``` --- ## VMWare ESXi Este plugin vai interagir sobre o VMWare ESXi console binário admnistrativo **esxcli**. ### Sintaxe A sintaxe de comando original `esxcli` deve ser utilizada. ### Exemplo **Configurar a senha de um usuário** ``` system account set -i '[#USERNAME#]' -p '[#NEW_PASSWORD#]' -c '[#NEW_PASSWORD#]' ``` ## x3270: IBM Terminal Emulator Executor para mainframes IBM 3270. Você pode interagir com interfaces de aplicação mainframe pela interpretação do seu design. ### Sintaxe Alguns dos comandos do [linux x3270](http://x3270.bgp.nu/) foram substituídos por aliases do executor para tornar a integração com o Segura™ fácil e segura. | **Comando** | Descrição | | --- | --- | | **timeout [seconds]** | Algumas conexões mainframes, ou algumas ações, podem travar. Para evitar esse tipo de situação você pode configurar os segundos do timeout. O timeout é o máximo de segundos que a operação pode tomar. Por padrão, o timeout é de 5 segundos. Este comando deve ser utilizado antes do comando `connect`. `timeout 300` | | **sleep [seconds]** | Ativa Sleep por um determinado número de segundos. Utilize este comando se você necessita que o mainframe aguarde para realizar uma ação. O sleep não será enviado ao mainframe.`sleep 3` | | **echo [string]** | Ecoa uma string nos logs de operação do executor. A mensagem ecoada não será enviada ao mainframe.`echo Starting authentication step` | | **connect** | Realiza a conexão mainframe para dar início a etapa de interação, resultando em uma ação `Connect`.`connect` | | **search [data] [x,y,r,c]** | Busca e compara as coordenadas e informação string fornecidas na aplicação mainframe renderizada. Caso não sejam iguais, a execução será interrompida com o status de falha. A coordenada deve ser composta por 4 posições variáveis. O comando será traduzido para a ação `Ascii`. - **x:** Número da linha inicial começando por 0. - **y:** Número da coluna char inicial começando por 0. - **r:** Número de linhas a serem retornadas começando por 1. - **c:** Número de colunas a serem retornadas começando por 1. `search SUCCESSFUL 10,17,1,10`. | | **search_not [data] [x,y,r,c]** | Semelhante a `search`, mas irá falhar caso a string fornecida seja encontrada.`search_not FAILURE 10,17,1,7` | | **send [data]** | Introduz informações na aplicação alvo. O comando pode aceitar sequências de escape de strings. O comando será traduzido para `String()` action.`send T01281\t2918\r` | | **screenshot** | Registra a operação do executor e toda a tela ASCII renderizada (24x80 terminal only).`screenshot` | | **disconnect** | Realiza o encerramento da conexão mainframe. O comando será convertido para `Disconnect()` action.`disconnect` | ### Exemplo #### Alteração de senha na aplicação mainframe ``` timeout 350 ## AUTHENTICATION STEP ############## echo Starting connection connect sleep 3 echo Performing login search USER: 20,2,1,5 send [#USERNAME#]\t[#CURRENT_PASSWORD#]\r echo Result screen screenshot ## PASSWORD CHANGE STEP ############## search USER: [C] CHANGE PASSWORD 10,5,1,19 send C\r[#NEW_PASSWORD#]\t[#NEW_PASSWORD#]\r search_not FAILURE 12,70,1,7 search SUCCESS 12,70,1,7 echo Result screen screenshot disconnect ```