sexta-feira, dezembro 14, 2018
Home » Programação/ Scripts » bat (MS-DOS) » .bat – Ativar o RDP remoto – Via Script

.bat – Ativar o RDP remoto – Via Script

Saudações, pessoal
Segue um script que pode nos apoiar na ativação de RDP Remoto via script bat
Observações: Para que o script funcione utilize a ferramenta Psexec do pacote PStools da Sysinternals e um script em VBS que deixarei descrito. Para executá-lo utilize um usuário administrador do domínio, pois precisará de privilégios administrativos para acessar o host remoto.

Copie no notepad e na hora de salvar, escolha todos os arquivos e digite .bat no final

RDP.bat

// Início do código bat
@echo off
color 02
:inicio
cls
echo================================
echo Digite o HOST ou exit PARA SAIR:
echo================================
SET /P host=HOST:
IF “%host%”==”” GOTO Error
ECHO Ola %host%, Seja Bem-vindo!
echo VERIFICANDO Host – Aguarde …
ping “%host%” > nul
if %errorlevel% == 0 (
Echo Maquina Ligada
) else (
Echo Maquina Desligada
)
ping “%host%” > nul
if %errorlevel% == 0 (
Echo Maquina Pronta pra Uso
) else (
Echo HOST %host% INDISPONIVEL!!
)
GOTO Fechar
:error
IF “%host%”==”exit” goto:exit
echo Voce nao inseriu o HOST, Informe o HOST!!
pause
:Fechar
cls
:options
echo =============================
echo ESCOLHA ALGUMA OPCAO ABAIXO:
echo =============================
echo 1 – Ativar RDP remoto
echo ==========================
echo 2 – Conectar RDP
echo ==========================
echo Digite q para SAIR
echo ==========================
set /p input=”Digite o numero escolhido e aperte enter: “
if “%input%”==”1” goto:ativardp
if “%input%”==”2” goto:conectardp
if “%input%”==”q” goto:exit
echo Por favor, digite a opcao correta!!
pause
goto:options
pause
:conectardp
@echo Conectando ao Host : %host%
mstsc /v: %host%
@echo conexao realizada com sucesso!
pause
goto:options
pause
:ativardp
@echo Adicionando regra no firewall remoto…: %host%
psexec “\\%host%” netsh advfirewall set currentprofile state off
@echo Regra inserida com sucesso!
@echo Prosseguindo…
@echo Digite o nome do Host quando solicitado…
@echo tecle Enter para continuar.
pause
cscript “c:\rdp\rdp.vbs”
pause
goto:options
pause
// Fim da bat

Rdp.vbs

//Inicio script em VBScript, colar no notepad e salvar como .vbs
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = InputBox(“Informe o Host para ativar ou desativar o RDP: “,”Ativar ou Desativar o RDP”,”localhost”)
If strComputer = “” Then
WScript.Quit
End If
Set StdOut = WScript.StdOut
On Error Resume Next
Set oReg=GetObject(“winmgmts:{impersonationLevel=impersonate}!\\” &_
strComputer & “\root\default:StdRegProv”)
If Err.Number <> 0 Then
WScript.Echo “Erro. Informe o Host.”
WScript.Quit
End If
strKeyPath = “SYSTEM\CurrentControlSet\Control\Terminal Server”
strValueName = “fDenyTSConnections”
Reg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
If dwValue = 1 Then
prompt = MsgBox (“O RDP está desativado. Deseja ativá-lo?”, vbYesNo)
If prompt = vbYes then
dwValue = 0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
WScript.Echo “O RDP encontra-se ativo ” & strComputer
WScript.Quit
ElseIf prompt = vbNo then
WScript.Echo “Permanecer desativado.”
Wscript.Quit
End If
ElseIf dwValue = 0 then
prompt = MsgBox (“O RDP está ativo. Deseja desativá-lo?”, vbYesNo)
If prompt = vbYes then
dwValue = 1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
WScript.Echo “O RDP encontra-se desativado ” & strComputer
WScript.Quit
ElseIf prompt = vbNo then
WScript.Echo “Permanecer ativado.”
WScript.Quit
End If
End If
//Fim do código vbs
Por fim crie uma pasta “rdp” na unidade C “C:\rdp”, cole o psexec.exe na pasta Windows, salve tanto o rdp.bat quanto o rdp.vbs na pasta c:\rdp
Feito isso, basta executar, lembrando que o “rdp.bat” deve ser executado como administrador e voilà!
Créditos: https://mschelp.wordpress.com

Sobre Diego Duarte

Diego Duarte atua como coordenador de suporte, é apaixonado por TI e arranha um violãozinho nos finais de semana

Gostou do conteúdo? Deixe seu comentário