這樣就產生了一個日常問題:每天都需要到機房里把每臺電腦逐個開機,下班后有需要每臺電腦逐個解鎖美萍然后關機(當然不排除拉電閘這種高效方法)。在這種情景下就萌生了要一個遠程開關機的程序這么個需求。 首先說關機這事吧。這個實現起來途徑很多,難度不大。例如windows系統便自己擁有允許遠程關機這么的一個命令: shutdown [/m //computer] shutdown命令允許向遠程計算機發送關機指令,當然需要遠程計算機端授權允許才行,如何授權?可以在組策略里找到相關選項;其次,就是使用軟件關機命令,使用軟件實現調用系統的api從而實現關機,這個為代碼實現方法;還有就是可以使用批處理的at命令,執行計劃任務,當到達下班時間便自動關機。 最后我選擇了第二種,軟件實現方法。排除第一種方法,是對于系統完整性和對部署機的不了解決定的,在程序正式做好投入使用之前我是沒到現場見過那些體驗機的,即我對目標機器完全不了解,系統是否為精簡版、登錄需要密碼不?其次在技術研究的時候,使用了2臺筆記本做實驗,發現有一臺無法實現關機,問題一定是處在系統配置及自身上,但是作為非專業windows維護人員,又無法通過更改配置解決問題。要是營業廳也出現這樣的機器無法解決就不好了;第3中方法就太簡單了,配置好計劃任務后下班時間自動關機,但是領導不采納,估計就是覺得它缺乏控制力。 開機,這個問題已開始覺得比較麻煩,后來發現這個非常容易,因為網卡正好具備了一個叫做“Wake On LAN”的功能,簡單的說一下,“wake on lan” 原理。首先需要bios支持,打開bios設置,大概在電源管理里把wake on lan 設置為 enable 使能。然后向欲開機的的主機的子網發送一個廣播包,包的內容為:6個“FF"+16個目標主機網卡地址。例如目標主機的mac地址是“00010203040506”,那么這個包的內容就是