Baffaloルータ自動再起動その2

WSHで簡単にできることはわかったが、実際やると2点問題が。

まずXP/2003に入っているWSHは5.6、Windows 7のはWSH 5.8。
5.6だと

myIE.Navigate "http://ルータのアドレス/cgi-bin/cgi?req=frm&frm=init.html"

これが使えない?(ちゃんと調べていないので、ミススペルかもしれないが、Win2003だとひっかかり)

これのDurty but Easyな回避策は、ShortCutでも起動…かな。

それと、Basic認証ログイン画面がでてきてしまう。
IEのバージョンによっては http://user:pass@address が無効にされているのでレジストリで許可するか、ログイン対策をしなければいけない。

レジストリで回避する場合は(お勧めしない)

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl

にFEATURE_HTTP_USERNAME_PASSWORD_DISABLEキーを作成、DWORD iexplore.exeを作成すると可能になるはず(データ値は0のままでOK)。
(未確認)

そうでない場合は、キー入力を送信するといい。
下記VBSを再度書き直し。

Dim myIE
Dim myWS
Set myIE = WScript.CreateObject("InternetExplorer.Application")
Set myWS = WScript.CreateObject("WScript.SHell")

myIE.Visible = true 'false うざいけど表示に。Falseでもうまくいくかは未確認
myIE.Navigate "http://ルータのアドレス/cgi-bin/cgi?req=frm&frm=init.html"

WScript.Sleep 1500 '適当な長さ

'まずはIEを手前に
myWS.AppActivate("Internet Explorer")

WScript.Sleep 1500 'またちょっとまって

'実際にパスワードを入力する場合は
'myWS.SendKey "root{TAB}" 'Baffaloのルータは常にユーザ名がrootなので
'myWS.SendKey "パスワード文字列"
myWS.SendKey "{ENTER}"

WScript.Sleep 1500 'ページが表示されるぐらいまでまつ。
'本当はここでちゃんとページ読み込みチェックが必要

myIE.document.forms(0).elements(0).click()