2012年4月2日月曜日
LAN DISK XR シャットダウンスクリプト
アイ・オー・データのLAN DISK XR(HDL-XR)をリモートからシャットダウンをする必要がありました。
ネット上を調べたのですが、telnetをインストールして行うとか…、簡単な方法が見つかりませんでした。
簡単な手法が存在しないのは、管理方法としてWeb上で実施する方法しか提供されていないからだと思います。
簡単にリモートからのシャットダウンを実施するために、VBスクリプトからIEオブジェクトを利用して、擬似的な操作を行うこととしました。
そのスクリプトは下記の通りです。
use_ie
Sub use_ie()
' IE起動
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "http://192.168.xxx.xxx/detail/system/power/power.cgi"
ie.Visible = True
waitIE ie
' パスワードを入力
ie.Document.getElementById("e7aea1e79086e88085e38391e382b9e383afe383bce38389").Value = "管理者パスワード"
WScript.Sleep 100
' ログオンボタンクリック
ie.Document.all("e383ade382b0e382aae383b3e383aae383b3e382af").Click
waitIE ie
' シャットダウン実行ボタンクリック
ie.Document.all("e382b7e383a3e38383e38388e38380e382a6e383b3e5ae9fe8a18c").Click
waitIE ie
' 実行するボタンクリック
ie.Document.all("e5ae9fe8a18ce38199e3828b").Click
waitIE ie
' 制御を破棄
ie.Quit
Set ie = Nothing
End Sub
' IEがビジー状態の間待ちます
Sub waitIE(ie)
Do While ie.Busy = True Or ie.readystate <> 4
WScript.Sleep 100
Loop
WScript.Sleep 1000
End Sub