Contexto

No dia a dia de um analista de sistemas Protheus (TOTVS), pode ser trabalhoso orientar os usuários para acessarem um ambiente específico a partir do seu computador local com sistema operacional Windows. Algumas estratégias envolvem enviar uma pasta zipada com os arquivos/atalhos devidamente configurados ou ainda fazer a conexão remota com o computador para realizar a configuração.

Na prática, isso traz alguns inconvenientes:

  1. mau uso do tempo do analista: essa tarefa simples pode exigir um tempo que poderia ser melhor aproveitado em outra atividade;
  2. participação desnecessária do usuário final na configuração dos ambientes;
  3. demora em atividades repetitivas: acessar a pasta, criar um atalho com parametrizações específicas e enviá-lo para a área de trabalho;
  4. outros desafios relacionados.
Solução

Copie o script abaixo para um arquivo com extensão .bat e disponibilize para os usuários na forma de link (preferencialmente centralizado e disponível a todos os usuários do sistema).

Dinâmica de Funcionamento
  • Passo 01: o analista precisa que um ou mais usuários acesse(m) um ambiente;
  • Passo 02: o analista informa ao(s) usuário(s) sobre o nome da conexão e do ambiente no servidor;
  • Passo 03: o usuário clica no link vinculado ao script e preenche as informações solicitadas (nome da conexão e ambiente no servidor); e
  • Passo 04: ao finalizar as etapas do script, o atalho será criado na área de trabalho do usuário.
Script
 
 
@ECHO OFF 
 
REM ====================================================
REM --  Script para criar atalho personalizado do Protheus
REM --
REM --  Autor: João Renes
REM --  Data: 14/03/2022
REM ====================================================
 
REM => variáveis com valores estáticos
set path_protheus=C:\Protheus\
set path_desktop="%USERPROFILE%\Desktop\"
set nome_exe=smartclient.exe
set path_smartclient = ""
 
if not exist %path_protheus% ( 
	echo "==   PROBLEMA: Pasta Protheus NAO foi encontrada  =="
	goto finalizar
)
 
if not exist %path_desktop% ( 
	echo "==   PROBLEMA: Desktop NAO localizado     =="
	goto finalizar
)
 
:definir_nome_atalho
set /p nome_atalho=Informe o nome do atalho:
 
if "%nome_atalho%" EQU "" ( 
	echo "==   PROBLEMA: Informe um nome para o atalho."
	goto definir_nome_atalho
)
 
:definir_ambiente_servidor
set /p amb_servidor=Informe o nome do ambiente (servidor):
 
if "%amb_servidor%" EQU "" ( 
	echo "==   PROBLEMA: Informe um ambiente (servidor):"
	goto definir_ambiente_servidor
)
 
:definir_ambiente_cliente
set /P amb_local=Informe o nome do ambiente (Cliente):
 
if "%amb_local%" EQU "" ( 
	echo "==   PROBLEMA: Informe um ambiente (Cliente):"
	goto definir_ambiente_cliente
)
 
 
REM => variáveis com valores dinâmicos
set atalho="%USERPROFILE%\Desktop\%nome_atalho%"
set parametros= -m -p=SIGAADV -c=%amb_local% -e=%amb_servidor%
 
 
if exist %atalho%".lnk"  (
	echo "==   PROBLEMA: Atalho ja existe     =="
	goto finalizar
) 
	 
 
for /f "delims=" %%D in ('dir %path_protheus%* /W /O-N /T:W /A:D /b') do (  
    set "path_smartclient=%path_protheus%%%D\%nome_exe%"	
	goto end 
 )
  
:end
 
echo ....criando atalho %nome_atalho% ...
 
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = %atalho% + ".lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath ="%path_smartclient%">> CreateShortcut.vbs
echo oLink.Arguments ="%parametros%">> CreateShortcut.vbs
 
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
 
del CreateShortcut.vbs
 
echo ....SUCESSO: atalho %nome_atalho% criado corretamente
 
:finalizar
 
 
pause