Windows批处理:请求远程协助
1、当同事遇到问题时:我通过「通讯软件」将脚本发送给同事 > 同事执行 > 我使用远程桌面操作。
脚本先开启远程桌面服务、关闭防火墙,接下来获取当前用户名、让用户输入密码、获取IP,这些信息保存到临时文件;再将临时文件复制到我电脑上的共享文件夹(everyone要有读写权限),我查看用户信息文件“用户名.txt”后,即可进行远程。
2、@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.

3、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%\result.tmp
if %errorlevel%==0 (echo 已关闭防火墙。) else (echo 关闭防火墙失败。)
echo.
::关闭防火墙
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal 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.200\Share\help\
::复制电脑信息到共享
echo.
if %errorlevel%==0 (echo 管理员已收到信息,等待处理。) else (echo 发送信息失败。)
del %temp%\ip.tmp && del %temp%\result.tmp
::删除临时文件

4、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%\result.tmp
if %errorlevel%==0 (echo 已开启防火墙。) else (echo 开启防火墙失败。)
del %temp%\result.tmp
::开启防火墙
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
::配置注册表,关闭选项
echo.
pause&exit
:0
exit
