Windows批处理:请求远程协助

  公司办公场地分别在两个不同的楼层,处理问题要来回跑,所以思考使用远程访问的方式解决问题。同事大多对电脑不熟悉,使用「通讯软件」和「电话」教同事开启远程桌面沟通成本挺高,另外公司IP地址、账号密码都没统一管理,使用远程桌面的前提:①开启远程 ②获取IP地址 ③获取用户名密码。经过一番思考,发现使用批处理解决这些问题并不复杂。

  当同事遇到问题时:我通过「通讯软件」将脚本发送给同事 > 同事执行 > 我使用远程桌面操作。

  脚本先开启远程桌面服务、关闭防火墙,接下来获取当前用户名、让用户输入密码、获取IP,这些信息保存到临时文件;再将临时文件复制到我电脑上的共享文件夹(everyone要有读写权限),我查看用户信息文件“用户名.txt”后,即可进行远程。

@echo off
color 1F
title 请求远程协助脚本
set name=%username%
set filename=%name%.txt

:home
cls
echo.
echo 请右击「以管理员身份运行」
echo.
echo.
echo         1、开启远程协助
echo.
echo         2、关闭远程协助
echo.
echo         0、退出
echo.
echo.

set /p num=请输入:
if %num%==1 goto 1
if %num%==2 goto 2
if %num%==0 goto 0

:1
cls
echo.
echo ================================================
echo.
net start SessionEnv
net start TermService
::开启远程桌面
netsh firewall set opmode mode = disable>%temp%
esult.tmp
if %errorlevel%==0 (echo 已关闭防火墙。) else (echo 关闭防火墙失败。)
echo.
::关闭防火墙
REG ADD "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
::配置注册表,开启选项
echo.
echo ================================================
echo.
echo.
set /p pass=请输入电脑密码:
echo 账号:%username% >%temp%\%filename%
echo 密码:%pass% >>%temp%\%filename%
ipconfig | findstr "192.168.1" >%temp%ip.tmp
set /p a=<%temp%ip.tmp
echo IP:%a:~-14% >>%temp%\%filename%
::截取IP地址
echo. copy %temp%\%filename% \192.168.1.200Sharehelp ::复制电脑信息到共享 echo. if %errorlevel%==0 (echo 管理员已收到信息,等待处理。) else (echo 发送信息失败。) del %temp%ip.tmp && del %temp% esult.tmp ::删除临时文件 echo. pause&exit :2 cls echo. echo 开始配置... echo. sc config MpsSvc start= auto sc config SessionEnv start= demand sc config TermService start= demand ::设置开机服务 netsh firewall set opmode mode = enable>%temp% esult.tmp if %errorlevel%==0 (echo 已开启防火墙。) else (echo 开启防火墙失败。) del %temp% esult.tmp ::开启防火墙 REG ADD "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f ::配置注册表,关闭选项 echo. pause&exit :0 exit

效果如下:

本文出自 “运维菜鸟.log” 博客,谢绝转载!

原文地址:https://www.cnblogs.com/sjy000/p/4649447.html