2011-12-21 132 views
2

私は、Internet Explorer内のいくつかのタスクをスクリプト化するためにpowershellを使用しようとしています。これには、サイトにログイン後、Webサイトからファイルをダウンロードすることが含まれます。私は1つの作業用スクリプトを持っていますが、実際のサイトと同じコードでこのエラーが表示されます:Powershell COMオブジェクトHRESULTからの例外:0x80010108(RPC_E_DISCONNECTED)

'='演算子が失敗しました:呼び出されたオブジェクトがクライアントから切断されました。 (HRESULTからの例外:0x80010108(RPC_E_DISCONNECTED))。 Uで :\ PowershellScriptProjectSFTP \ test.ps1:71文字:22 + $ controlRef = < < < < $ browserDoc.getElementByID($ controlID) + CategoryInfo:はInvalidOperation:(:) []、のRuntimeException + FullyQualifiedErrorId:OperatorFailed

$browserDoc 
$ie = new-object -com "InternetExplorer.Application" 
$ie.navigate("about:blank") 
$ie.visible = $true 
[System.Threading.Thread]::Sleep(2000) 
$ie.navigate($URL) 
#get controls 
write-host "Getting Document" 
$browserDoc=$ie.Document  
write-host "Getting Email component" 
$email = $browserDoc.getElementById("MainContent_userEmail") 
write-host "Getting Password component" 
$pass = $browserDoc.getElementById("MainContent_userPassword") 
write-host "Getting Button component" 
$login = $browserDoc.getElementById("MainContent_submitButton") 

実際のエラーは、それがここまでと同じことをやっているので、私は取り残されているコードに別の場所で発生しているが、ループの中にページの読み込みが行われていることを確認します。このコードは別のサイトの同じマシンで動作しましたが、どちらも.net aspx 2.0サイトでした。

基本的に、インターネットエクスプローラが指定されたURLに移動すると、powershellはオブジェクトと通信する能力を失います。このエラーの後にいくつかのInvokeMethodOnNullとPropertyNotFoundのエラーが続きます(これらは私が理解した結果です。 、それはヌルオブジェクト、私が診断しようとしている問題全体になっている)。私はWindows 7を実行しています。MicrosoftはXPとServer 03と08だけを修正したと主張しています。

本当に、この動作の原因に関する説明だけです。私が言ったように、この同じコードはいくつかのウェブサイトを指し示していて、完璧に機能しており、毎回失敗するものもあります。

+0

エラーメッセージで参照されている実際のコード行はすべて同じですか? – Aaron

+0

そのエラーは、$ browserDoc = $ ie.Document行(ここの9行目)で発生します。その後のエラーは$ browser、$ pass、$ loginを$ browserDoc.getElementByIDに基づいて割り当てようとしたときに発生します –

答えて

3

これで自分自身に遭遇し、Powershellウィンドウを「管理者として」実行すると問題が解決されたことがわかりました。

+0

これは私にとって問題を解決しました。 –

+0

これを回避する方法はありますか?私は管理者としてpsを動かすことができません...? – cpoDesign

関連する問題