以下のコードを PowerShell で実行していますが、一方のサーバーでは正常に実行されますが、もう一方のサーバーでは実行されません。両方のサーバーは、IE 8 を使用して Windows Server R2 Standard を実行しています。スクリプトは管理者モードで実行されます。また、IE では、ローカル イントラネットに対して [保護モードを有効にする] がオフになっています。
$ie = new-object -com "InternetExplorer.Application"
$ie.visible = $true
$ie.Navigate("http://localhost/testwebsite")
While ($ie.Busy) {Sleep 3}
$doc = $ie.Document
$btn = $doc.getElementsByTagName("input")
$Button = $btn | ? {$_.Name -eq "refreshBtn"}
$Button.Click()
$ie.Quit()
そして、これがボックスの1つで発生するエラーです(注:他のマシンでこのエラーを受信しないでください):
Method invocation failed because [System.Object[]] doesn't contain a method named 'Click'.
サーバーで変更する必要があるセキュリティ設定はありますか? スクリプトを調整する必要がありますか? 他に何か?
ところで: これに関連する問題に関して、StackOverflow のさまざまな投稿を確認しましたが、これまでのところ、役立つものは何も見つかりませんでした。
前もって感謝します!