公司辦公場地分別在兩個不同的樓層,處理問題要來回跑,所以思考使用遠程訪問的方式解決問題。同事大多對電腦不熟悉,使用「通訊軟件」和「電話」教同事開啟遠程桌面溝通成本挺高,另外公司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%\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 ::刪除臨時文件 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
效果如下:
本文出自 “運維菜鳥.log” 博客,謝絕轉載!