① 電腦網路喚醒教程
我們以 Windows PC 電腦為例子,大概談談怎樣才能設置電腦遠程喚醒吧。由於不同牌子的主板、網卡、路由器在選項設置的名稱和位置上都基本都不相同,下面的教程僅供參考,但思路基本思路大同小異,請大家根據實際情況進行設置。
1. 設置主板 BIOS
首先,我們要在主板 BIOS 裡面設置 WOL 喚醒功能的開關,近年來的主板一般都會支持喚醒,但每個主板的 BIOS 選項不盡相同,建議參考說明書。
BIOS 里關於 WOL 網路喚醒的選項一般是類似這些字眼 wake on lan;resume on lan;power on PME;power on by PCI-E device; Power on by Onboard LAN 等等,將其設為 Enabled 即可,這是必須條件。
2. 設置網卡驅動
其次,在網卡驅動里設置開啟 WOL 相關選項。在設備管理器中找到網卡設備,右鍵選擇「屬性」,然後在「電源管理」裡面開啟「允許此設備喚醒計算機」,然後在「高級」一欄里找到「關機網路喚醒」、「魔術封包喚醒」里設置成「開啟」。
同樣,這里的選項名稱在不同廠商不同網卡都不一樣的,有些網卡驅動是英文的,類似選項為 Wake up by Magic Packet; wait for link 等,因此需要大家自行挖掘了。
3. 設置區域網固定 IP / 獲取網卡的物理地址
設置好前面的兩項之後,我們就可以進行 WOL 喚醒了。實施 WOL 需要知道設備的 IP 地址以及網卡的物理地址 (MAC)。網卡的物理地址我們可以通過 ipconfig /all 命令來獲得,一般是像 00-E7-0B-37-26-1F 的字元串。
同時,這里也能看到本機在區域網內的 IP 地址。但是,絕大多數的電腦默認都是通過路由器的 DHCP 動態分配 IP 的,每次開機後的 IP 可能都會變化,因此我們需要在路由器里,為電腦設置一個靜態的固定 IP 地址,譬如 192.168.1.123。以 TP-Link 為例:
這樣,我們就可以獲得 WOL 喚醒的兩個必要的參數了,至此我們已經完成了「區域網內喚醒」的配置。現在我們通過上面推薦的各種 WOL 軟體即可對區域網內的電腦實施遠程喚醒了。
PS:如果你使用 Windows 10 無法正常 WOL 喚醒的話,請關閉系統的「快速啟動功能」再次嘗試。
更進一步:設置通過互聯網進行 WOL 遠程喚醒
雖然 WOL (Wake on Lan) 網路喚醒原本的設計就是 LAN 區域網環境下使用的,但其實我們也是可以想辦法讓其在 WAN 廣域網 (即互聯網) 下使用——Wake On Wan。這樣,在公司喚醒家裡的電腦什麼的就方便得多了。當然,如果你沒有互聯網喚醒的需求,這一步驟完全可以省略(其實挺煩的)。
廣域網 WOL 主要是要在路由器里配置,首先是跟第3步一樣,設置靜態固定IP;其次是開啟 ARP 綁定 (部分路由器沒有這功能,這可能會導致廣域網無法持續成功 WOL)。
開啟 UDP 埠映射 (埠轉發) ,新增一個 UDP 協議的埠 (一般埠號用 7 或 9),指向區域網內需要被喚醒的電腦的 IP,以確保公網的請求能到達最終內網的機器。(如果是群暉 NAS 默認埠號一般是 5000,QNAP 埠號為 4505)
你也可以貪方便「設置 DMZ 主機」指定為需要被喚醒的機器的 IP,這樣所有的網路請求都會全部到達內網的指定機器,一了百了。但這樣相當於你的機器所有埠都完全暴露在公網上,因此也會增加機器被黑的風險,個人更建議使用埠映射的方式。
最後,非常重要的一點是,由於家用的寬頻每天的公網 IP 都會變化,因此我們還需要設置一個 DDNS (動態域名 / 動態 DNS) 來獲得一個「固定的域名」,免費的 DDNS 服務有花生殼等,一些路由器或 NAS 廠商也會提供免費的 DDNS 服務。我們在成功設置好 DDNS 之後,則是使用動態域名來代替機器的 IP 地址進行 WOL 即可。
② ESXI 5.5在windows下使用BAT腳本通過SSH進行遠程關機
網上搜到一段腳本用來關閉vm,再關機的
# get all the VMs identifiers
VMID=$(/usr/bin/vim-cmd vmsvc/getallvms | grep -v Vmid | awk '{print $1}')
# loop through all the VMs
for i in $VMID
do
# get their state(turned on,off,whatever)
STATE=$(/usr/bin/vim-cmd vmsvc/power.getstate $i | tail -1 | awk '{print $2}')
# if they are running,turn them off (only works correctly if
# vmware tools are installed on the VMs)
if [ $STATE == on ]
then
/usr/bin/vim-cmd vmsvc/power.shutdown $i
fi
done
#shutdown the host itself
sleep 30
/sbin/shutdown.sh
/sbin/poweroff
實際也可以通過運行命令
esxcli system maintenanceMode set -e y
進入維護模式maintenanceMode(Mode的M為大寫)
esxcli system shutdown poweroff -d 60 -r test
關機
問題是虛擬機必須關閉了才能進入維護模式,又回到用腳本來自動關閉虛擬機的問題上來了。