2013年3月14日 星期四

win7遠端協助

緣起:
有鑑於win7漸漸在一般公司行號普及, 若MIS人員想要遠端服務同仁的電腦方面的問題,可以參考這篇看看!若有不清楚的地方可留言發問,不周之處,日後會慢慢補完.轉貼或引用本篇blog內文章段落, 不必交代出處.

架構:
MIS人員的電腦OS: xp 或 win7皆可!
需要別人協助的同仁的電腦OS:win7 限定.
p.s.win7遠端協助的服務設定都有打開!

步驟:
1.事先寫好batch檔案(.bat)內容如下:
@echo off
 set /p empid=請輸入自己的員工編號:
 call msra /saveasfile \\xx.xx.xx.x\YYY\%empid%_RA 123456

2.當同仁遇到電腦的問題打電話求救時, 在電話中請這位同仁去公司內網點此batch超連結,
執行batch檔, 首先會要求同仁輸入自己的員工編號, 輸入完畢後按下enter,

3.MIS人員去\\xx.xx.xx.x\YYY\底下找看看是否有含該員工編號的RA檔案, 點兩下,
會跑出一個視窗詢問密碼, 密碼就是123456

4.打好密碼送出後, 再請同仁點選'YES' ,

5.接下來,MIS再打開的遠端協助的視窗上面找到'接管控制權',按下再請同仁點選YES, 即可掌控對方的電腦來操作使用.
p.s. msra就是win7遠端協助的dos command,
************************************************************************
02/01/2014更新:
特別補充: 被協助端電腦是win xp,協助端電腦是win7,若是winxp協助winxp則用傳統的指令conf(netmeeting)即可!

步驟(假設自己是資訊人員):
1.先用電話指示被協助端: 開始->執行->打"rcimlby.exe –LaunchRA",
2.此時會開啟一個遠端協助的視窗,在視窗內點選"邀請某人的協助",
3.利用email : 在email那欄位告知對方打入自己的email,然後點選"邀請此人",
4.下一個頁面,不打任何字,直接點選"繼續"也可以!
5.下一頁,兩個密碼的欄位都打123456,或是其他簡單一點的密碼都可以!然後點選"寄出邀請",
6.下一個視窗點選"允許",
7.自己去收信,會收到一封被協助端寄來的"你已收到來自被協助端的遠端協助邀請",
點選夾檔"RcBuddy.MsRcIncident",打入密碼123456,然後點選"是",
8.打好密碼送出後, 再請同仁點選'YES' , 接下來,MIS再打開的遠端協助的視窗上面找到'接管控制權',按下再請同仁點選YES, 即可掌控對方的電腦來操作使用.

簡單來說被協助端win7的遠端協助指令比較建全, 提供一堆參數, 可以弄成.bat檔,被協助端只要執行.bat就可以節省一連串手動的提出邀請的動作, 反觀被協助端若是win xp的遠端協助指令比較兩光, 沒有其他參數可打, 頂多只能靠指令叫出遠端協助的視窗, 要提出邀請只能乖乖的照以上步驟手動去做!
************************************************************************
08/22/2015更新:
特別補充:批次檔最新版會自動偵測被協助端電腦是win xp還是win7,無論是哪一種都會自動生成RA檔, win7的RA檔生成比較簡單,請看本篇最上方一開始介紹的,win xp的RA檔生成比較麻煩一點,但是輔助用java script鍵盤按鍵自動輸入也可以做到全自動化,MIS人員的電腦無論是win xp還是win7都可以打開此RA檔來建立遠端協助連線!

批次檔如下:
@if (@CodeSection == @Batch) @then

@echo off
ver | find "XP" > nul  
if %ERRORLEVEL% == 0 goto ver_xp  
 
goto warnthenexit  
 
:ver_xp  
:Run Windows XP specific commands here.  
set SendKeys=CScript //nologo //E:JScript "%~F0"
%SendKeys%
goto :EOF
 
:warnthenexit  
@echo off
set /p empid=請輸入自己的員工編號:
call msra /saveasfile \\xxx.xxx.xxx.xxx\%empid%_%time:~-4%RA 123456
 
goto :EOF
@end

// JScript section
var maxNum = 10;   //to get random number
var minNum = 1;   //to get random number
var n = Math.floor(Math.random()*(maxNum-minNum+1))+minNum; //to get random number
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("rcimlby -LaunchRA");
WScript.Sleep(3000);
WshShell.AppActivate("PCHShell Window");
WScript.Sleep(100);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(500);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(500);
WshShell.SendKeys("^(a)");
WScript.Sleep(500);
WshShell.SendKeys("^(c)");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("123456");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("123456");
WScript.Sleep(500);
WshShell.SendKeys("{TAB}");
WScript.Sleep(500);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(6000);
WshShell.SendKeys("\\\\");
WScript.Sleep(500);
WshShell.SendKeys("xxx.xxx.xxx.xxx");
WScript.Sleep(500);
WshShell.SendKeys("\\\0");
WScript.Sleep(500);
WshShell.SendKeys("^(v)");
WScript.Sleep(500);
WshShell.SendKeys("_"+n);
WScript.Sleep(500);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(500);

沒有留言:

張貼留言