«сервер rpc недоступен» при попытке выполнить какой-либо процесс в локальном html-файле с помощью autohotkey - PullRequest
0 голосов
/ 11 сентября 2018

Я написал скрипт, который обращается к локальному файлу HTML и выполняет какую-то работу.

^+A::
;Convert HTML TO ASCIIDOC
Send ^c
copied := Clipboard
sleep 30
local := "file:///C:/Users/emre/Desktop/Tools/Note%20Taking%20Tools/Asciidoc%20Tools/HtmlToAsciidoc-master/to-asciidoc.html"
sleep 100
(pwb5 := ComObjCreate("InternetExplorer.Application")).Visible:=False

pwb5.navigate(local)
while pwb5.busy
    sleep 15

WinActivate,ahk_class IEFrame
ControlFocus,ahk_class IEFrame
Send, !n
Send, {Enter}


pwb5.document.getElementByID("source").value=copied
pwb5.document.getElementByID("conversion-button").Click()
Sleep 3000
Clipboard=pwb5.document.getElementByID("target").value
Return

Когда я запускаю этот скрипт, я получаю следующую ошибку:

enter image description here

Я провел некоторое исследование и попытался выполнить следующие действия, но ни одна из этих работ. Любой совет приветствуется.

Проверка 1 Я проверил Средство запуска процесса сервера DCOM,Удаленный вызов процедур (RPC) и RPC Endpoint Mapper из services.msc.All. Все они имеют статус «Выполнено», а их запуск установлен на «Автоматический».

Проверка 2 Я также проверил «Удаленный помощник» из брандмауэра

Проверка 3 Я также проверил, что «Общий доступ к файлам и принтерам для Microsoft»Сети "и" Протокол Интернета версии 6 (TCP / IPv6) "включены

Проверка 4 Я также проверил", чтобы переключить сетевой адаптер с "NAT" по умолчанию на "Bridged Adapter"из настроек Virtualbox.

1 Ответ

0 голосов
/ 23 октября 2018

МОЖЕТ, это поможет.Моя проблема звучит похоже на вашу.В моем случае у меня есть программа vb.net, часть которой выполняет следующие действия:

Function LoadWebPage(i_IE As SHDocVw.InternetExplorer, i_URL As String) As Boolean

    i_IE.navigate (i_URL)
    Debug.Print (i_IE.ReadyState)

End Function

Метод навигации прошел нормально.Но как только дело дошло до возврата свойства ReadyState, я получил сообщение об ошибке «Сервер RPC недоступен».Это происходило только на одной из трех машин, которые я использовал.На машине с проблемой я выполнил шаги (которые я видел в списке и на многих других сайтах), которые вы упомянули в своем вопросе, без каких-либо улучшений.Но затем я наткнулся на предложение настроить «Параметры Internet Explorer -> Настройки -> Безопасность -> Включить защищенный режим».На самом деле сайт, который помог мне, сказал, чтобы убедиться, что они проверены для всех зон (то есть, Интернет, Локальная интрасеть, Доверенные сайты, Ограниченные сайты). На самом деле это было снятие галочки со всех их , что решило мою проблему.Я вернулся к одной из двух других машин (одна из тех, где скрипт работал без ошибок), и действительно, они не были проверены на этой машине (пока не уверен насчет третьей машины).

Исправлена ​​ошибка сервера RPC, возникающая при попытке Internet Explorer Automation

В случае, если сообщение не устарело с ответом, указана причина этой проблемы:

«Основная суть в том, что когда вы пересекаете домен безопасности (от http до https), система песочницы фактически создает новый объект COM COM ... Основное решение состоит в том, чтобы установить все режимы безопасности на вкладке« Безопасность »в настройках Интернета на«защищенный режим включен» (sic), чтобы избежать потери объектов COM. "

Опять же, я думаю, что это, возможно, было опечаткой с их стороны, и это означало, что ящики должны быть сняты.

enter image description here

...