
В этой инструкции подробно о том, чем могут быть вызваны ошибки Windows Script Host и варианты решения проблемы. Внимание: материал предназначен для рядовых пользователей, столкнувшихся с ошибкой, а не для разработчиков скриптов.
Самопроизвольное появление ошибок Windows Script Host при входе в систему или во время работы
Самый частый случай появления проблемы — ошибка появляется без каких-либо действий со стороны пользователя: обычно при входе в Windows, иногда — во время работы в произвольные моменты времени. Типичные сообщения Windows Script Host об ошибке для этой ситуации:
При этом сам файл сценария (скрипт) — это обычно какой-либо файл с расширением .vbs, имеющий название похожий на что-то системное, имеющее отношение к обновлениям, Windows, иногда — просто run.vbs
Обычно причина ошибки Windows Script Host в данном случае — наличие прописанного автоматического запуска скрипта .vbs в автозагрузке Windows, либо в планировщике заданий.
С большой вероятностью прописан он был каким-то вирусом или иным вредоносным ПО. При этом первые два приведенных в примере сообщения об ошибке обычно говорят о том, что сам вирус уже был удален, однако от него остались «хвосты» в виде попытки запуска файлов из автозагрузки.
Общий порядок действий для этой ситуации:
- Скачайте утилиту Autoruns с сайта Майкрософт , распакуйте у себя на компьютере в удобное расположение и запустите утилиту.
- Используйте поле быстрого поиска для того, чтобы найти записи в автозагрузке, запускающие скрипты .vbs, для этого достаточно ввести соответствующее расширение в поле поиска (фильтра).
- Если такие элементы были найдены, вы можете удалить их, нажав по ним правой кнопкой мыши и выбрав соответствующий пункт контекстного меню.
- Также выполните поиск по wscript и изучите найденные элементы: если они подозрительны, имеет смысл удалить их.
После удаления всех записей для запуска файла в автозагрузке Windows, рекомендую:
- Удалить и сам этот файл: обычно он располагается в одной из папок с временными файлами.
- Выполнить дополнительную проверку компьютера на вирусы и наличие вредоносных программ, например, с помощью KVRT (не требует установки на компьютер и не конфликтует со встроенным антивирусом).
Ошибки Windows Script Host при установке программ и игр
Остатки работы вредоносного ПО на компьютере — не единственный случай, когда вы можете столкнуться с ошибками Windows Script Host: например, некоторые установщики игр и программ могут использовать скрипты .vbs или другие для создания ярлыков или других задач.
Эти скрипты запускаются с помощью Windows Script Host (wscript.exe) и при сбоях выполнения действий, прописанных в них, вы можете получить те или иные сообщения об ошибках.
Возможные решения для типичных ошибок для данного случая:
- Если вы видите сообщение Windows Script Host о невозможности создать ярлык — можно попробовать выполнить запуск установщика от имени администратора.
- При ошибке «На данном компьютере отключен доступ к серверу сценариев Windows» откройте редактор реестра (Win+R — regedit), перейдите к разделу
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings
и проверьте наличие параметра DWORD с именем Enabled. Если он присутствует и его значение равно 0, дважды нажмите по нему и установите 1 в качестве значения. При отсутствии параметрам, создайте его и задайте значение 1.
- Сообщения об ошибках Windows Script Host «Не удается найти указанный файл, код 80070002» или «Не удается найти файл сценария» в процессе установки игр и программ обычно появляется при установке нелицензионного софта, когда какие-то из файлов автоматически удаляются встроенным антивирусом Windows. О возможных решениях в инструкции Что делать, если Windows сама удаляет файлы.
В некоторых случаях ошибки Windows Script Host могут быть вызваны сбоями в системе или повреждением системных файлов, может иметь смысл попробовать:
- Использовать точки восстановления системы
- Выполнить восстановление целостности системных файлов
- Установить последние обновления Windows
Если ваша проблема с Windows Script Host отличается от описанных в инструкции, расскажите о том, что именно происходит, какое сообщение об ошибке вы наблюдаете и при каких обстоятельствах. Возможно, я или кто-то из читателей сможет вам помочь.
Подобная системная ошибка встречается не так часто, но её возникновение довольно-таки неприятно, поскольку данный системный сбой может вызвать затруднение в отображении элементов рабочего стола, что, зачастую, мешает его устранению.
И в данной статье мы расскажем о том, как устранить ошибку «Windows script host не удается найти указанный файл», а также в чем заключаются причины её возникновения.
Что это за ошибка, и как ее исправить?
«Windows script host» — это важнейший компонент операционной системы, который необходим для запуска различных исполняемых сценариев.
Рассматриваемый системный сбой сообщает пользователю, что указанного в тексте ошибки файла с расширением «.vbs» и «.js» (например, «WindowsUpdateDrivers.vbs») больше не существует или он повреждён, но какая-то программа или процесс продолжают к нему обращаться.
В основном, происходит это из-за работы антивирусного программного обеспечения, которое или действительно удалило вирус, но не довела процесс до конца, и остались остаточные следы вирусного ПО, или приняла компонент системы за вирус и удалила его.
В редких случаях виновником появления ошибки «Windows script host не удается найти указанный файл» выступает сам пользователь, проводивший модернизацию/оптимизацию операционной системы через редактирование реестра или системных файлов/компонентов или использовавший стороннее специализированное программное обеспечение для улучшения быстродействия работы компьютера.
Таким образом, следует выделить две основные разновидности данной ошибки:
- вирус;
- системный компонент,
на основе чего можно осуществлять поиск решений проблемы.
Что делать, если ошибку с кодом 80070002 вызвал вирус?
Это наиболее проблематичная разновидность системного сбоя, так как может проявляться в отсутствии отображения элементов рабочего стола.
Обычно возникает такой сбой банально – пользователь включает компьютер и вместо рабочего стола видит чёрный экран с ошибкой посередине, в которой указано примерно следующее:
Сценарий: C:\Windows\run.vbs
Строка: 39
Символ: 1
Ошибка: Не удаётся найти указанный файл.
Код: 80070002
Источник: (null)
При этом важно помнить, что система работает и, соответственно, можно использовать системные инструменты для устранения сбоя.
Поэтому для борьбы с ошибкой потребуется сделать следующее:
- Вызовите «Диспетчер задач», нажав комбинацию клавиш «CTRL+ALT+DELETE».
- Далее нажмите «Файл» — «Новая задача (Выполнить)» и введите «explorer.exe».
- Когда запустится рабочий стол, нажмите «WIN+R» и выполните «regedit».
В окне редактора реестра откройте ветку «HKEY_LOCAL_MACHINE» и пройдите по пути «\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ Winlogon».
- Здесь откроется обширный список ключей, в котором необходимо обратить внимание на два ключа – «Shell» должен иметь значение «explorer.exe», и «Userinit» — должен иметь значение «C:\Windows\system32\userinit.exe».
- Далее требуется найти самого «виновника проблемы» – это остаточные следы от файла «run.vbs». Для этого в редакторе реестра кликните по верхней строчке «Компьютер», нажмите «CTRL+F» или «Правка» — «Найти» и в строку поиска введите «run.vbs».
Если будут найдены какие-либо файлы, то смело их удаляйте, и для большей надежности перепроверьте результаты, повторив поиск ещё раз. После чистки реестра перезагрузите компьютер.
Также не будет лишним провести комплексное сканирование операционной системы на наличие вирусной активности.
Причиной сбоя «Windows script host» стали системные компоненты
В рамках рассматриваемой проблемы с системными компонентами следует рассмотреть две наиболее частных ситуации:
- ошибка с файлом «WindowsUpdateDrivers.vbs»;
- файл «SystemService.vbs».
Вариант 1
Ошибка с подобным сценарием указывает на невозможность системы корректно запустить/загрузить обновления операционной системы.
Для решения проблемы потребуется сделать следующее:
- Нажмите «WIN+R» и введите «services.msc».
- В открывшемся окне «Службы» найдите строку «Центр обновления Windows» и нажмите «Остановить».
Откройте «Компьютер», перейдите в каталог «Windows\SoftwareDistribution\DataStore» и удалите все имеющиеся там файлы и папки.
Откройте «Windows\SoftwareDistribution\Download» и также удалите все, что будет в данной папке.
- Вернитесь к окну «Службы» и включите «Центр обновления Windows».
- Перезагрузите компьютер и проверьте работоспособность системы.
Вариант 2
Ошибка с файлом «SystemService.vbs» также достаточно распространена, но имеет немного более сложное решение:
- Откройте «Планировщик заданий», нажав «WIN+R» и выполнив «taskschd.msc».
- В открывшемся окне, перейдите в каталог «Библиотека планировщика заданий».
- В блоке «Действия» нажмите кнопку «Включить журнал всех заданий».
- Просмотрите все позиции в списке и обратите внимание на раздел «Действия».
- Если в каком-либо задании присутствует строка «C:\ProgramData\SystemService.vbs» — смело удаляйте его и перезагружайте компьютер.
Заключение
В остальном же все рассмотренные варианты ошибок однотипны и имеют схожие причины возникновения, поэтому для их устранения можно применять все предложенные в данной статье способы. Также советуем ознакомиться с причинами и способами борьбы с ошибкой 0xc0000142
Некоторые из тех, кто пользуется антивирусами, при очередной загрузке Windows могут увидеть неприятную картину: черный экран, посреди которого диалоговое окно с сообщением: «Windows Script Host не удается найти указанный файл код 80070002». При этом даже не загружается рабочий стол. Следует отметить, что эта ошибка появляется только на ОС Windows 7 и новее.
Содержание
- Причина возникновения ошибки с кодом 80070002
- Как исправить ошибку Windows Script Host
- Неудачный поиск Windows Script Host указанного файла [видео]
Причина возникновения ошибки с кодом 80070002
В подавляющем большинстве случаев причины возникновения ошибки с кодом 80070002, когда Windows Script Host не удаётся найти указанный файл является не совсем корректная работа антивирусного ПО. При очередном сканировании оно обнаружило угрозу, устранило ее, однако, не завершило дело до конца.
Но переживать на счет соответствующей ошибки особо не стоит. Ее устранение займет всего 5-10 минут, если, конечно, последовательно и точно придерживаться инструкций. Ранее мной также был описан лайфхак решения похожей ошибки SYSTEM_SERVICE_EXCEPTION.
Как исправить ошибку Windows Script Host
Чтобы исправить ошибку «Widows Script Host не удается найти указанный файл» нужно вначале как-то запустить инструмент, через который будет выполняться коррекция работы ОС. Для этого следует открыть диспетчер задач, что делается следующим образом:
- Выполнение сочетаний клавиш CTRL+ALT+DEL;
- Клик по пункту «Диспетчер задач».
- Теперь понадобится нажать пункт «Файл» в контекстном меню и выбрать «Новая задача». Откроется небольшое окошко с текстовым полем, в которое потребуется ввести explorer.exe и нажать клавишу Enter. После выполнения этого действия запустится рабочий стол.
Следующий шаг – выполнение сочетания клавиш Win+R и ввод regedit в текстовое поле открывшегося окна, а затем нажатие Enter. Спустя мгновение откроется редактор реестра, в котором:
- Нужно перейти по пути «HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVesion/Winlogon;
- Оказавшись в нужном месте, в правой части экрана отобразится список необходимых ключей и значений – потребуется выбрать (двойной клик) Shell;
- В открывшемся окне в поле «значение» нужно указать explorer.exe.
- Также потребуется проверить значение Userinit – оно должно быть «C:\\Windows\system32\userinit.exe» – если это не так, тогда его следует поменять на указанное.
Если система x64 (а это, скорее всего, так), то еще нужно посмотреть значения Userinit и Shell в разделе «HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Note/Microsoft/Windows NT/CurrentVersion/Winlogon – если значения отличаются от вышеуказанных, тогда исправьте их на нужные.
После выполнения этих действий при загрузке компьютера рабочий стол будет загружаться без дополнительных манипуляций.
Теперь нужно избавиться от остатков Run.VBS. Для этого:
- Нужно выбрать корневой раздел реестра, а затем в контекстом меню «Правка» нажать на пункт «Поиск»;
- Откроется окно, в котором потребуется ввести run.vbs, а затем кликнуть на кнопку «Найти далее»;
- Если в правой части экрана были найдены какие-то значения, то понадобится сделать по каждой из них ПКМ и нажать «Удалить» (и, конечно, подтвердить действие);
- Затем опять нажать «Найти далее» и повторить описанную процедуру.
Неудачный поиск Windows Script Host указанного файла [видео]
Теперь при загрузке компьютера ошибка «Windows Script Host не удается найти указанный файл» возникать не будет, рабочий стол станет нормально загружаться, а сама система продолжит нормально работать.
Опубликовано Обновлено
Windows script host ошибка как исправить код 80070002
Из информации, которая отображена в окне ошибки, мы понимаем, что система пытается запустить некий скрипт WSH (Windows Script Host), о том, что это такое, можете почитать в материале – «Основы языка JScript — написание WSH скриптов». При этом система не может его найти, это означает, что он был удален, перемещен, в общем, его нет. Теперь возникают вопросы, для чего нужен этот скрипт? И кем он был удален?
То, что данного скрипта больше нет, на самом деле неплохо, так как данный скрипт — это часть вируса, который был в Вашей системе, скорей всего его удалила антивирусная программа. В том, что вирус попал в систему, виноваты Вы, так как подобные вирусы заражают компьютер после определенных Ваших действий, например, Вы скачали музыку в формате exe и запустили данный файл или другие подобные действия, которые могут подвергать Ваш компьютер опасности (посещение сомнительных сайтов и скачивание таких же данных).
Примечание! Существуют и другие причины появления ошибок Windows Script Host, но они менее распространены, в данном материале речь идет именно об ошибках, связанных с вредоносными скриптами.
Что делать, чтобы такие ошибки не появлялись?
Поскольку мы выяснили, что такая ошибка — это следствие нахождения вируса в системе, действия, которые необходимо делать, чтобы такие ошибки не появлялись, связаны с предотвращением заражения компьютера вирусами.
Что для этого нужно:
Если Вы будете выполнять хотя бы вышеперечисленные действия, то возможностей у вируса заразить Ваш компьютер будет намного меньше, и, соответственно, ошибки, которые мы рассматриваем в данной статье, появляться не будут.
Устранение ошибки, когда рабочий стол доступен
Если у Вас система загружается и потом появляется ошибка, т. е. Вы видите рабочий стол и меню пуск, то скорей всего скрипт вызывается планировщиком заданий Windows. Например, ошибка «Не удается найти файл сценария C:\ProgramData\SystemService. vbs» — это последствия вируса, который как раз использовал планировщик для запуска скрипта. Существуют и другие способы запуска таких вредоносных скриптов, это и автозагрузка, и групповые политики, но они менее распространены, в автозагрузку сейчас, наверное, уже никто не помещает свои вредоносные программы или скрипты.

Затем у нас возникает небольшая сложность, нам нужно найти задание, которое запускало скрипт и удалить его. Удалять все подряд не нужно, поэтому перед удалением убедитесь, что на вкладке «Действия» в строке запуск программы указан как раз тот путь, который нам показывает ошибка, т. е. в нашем случае это — «C:\ProgramData\SystemService. vbs».

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


Задание может располагаться в отдельном разделе, причем этот раздел может быть замаскирован под системный, но не совсем, например, раздел «Windowss», как видите, — в названии ошибка (две буквы s), поэтому сразу проверяйте этот каталог.
После того как Вы нашли нужное задание или задания можете смело удалять его, затем перезагружайтесь, после чего ошибка должна исчезнуть.
Если задание Вы не нашли, то можете проделать действия, которые описаны ниже (т. е. проверить реестр).
Устранение ошибки, когда рабочий стол не запускается
В данном случае Вы включаете компьютер, и у Вас появляется ошибка, рабочий стол при этом Вы не видите. К таким ошибкам можно отнести ошибку — «Не удается найти файл сценария C:\Windows\run. vbs».
В этом случае вирус поработал с реестром, а именно изменил параметры запуска системы.
Для того чтобы устранить данную ошибку, необходимо запустить редактор реестра и восстановить значения параметров по умолчанию. Давайте сначала запустим рабочий стол, для этого:
После этого рабочий стол запустится.



Затем находим раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon для 32 разрядных систем
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows для 64 разрядных.
И проверяем параметры Shell и Userinit. Их значения должны равняться «explorer. exe» и «C:\Windows\system32\userinit. exe,» соответственно.

Если значения другие, изменяйте их на значения по умолчанию, для этого просто вызовите окно изменения параметра (двойным кликом или правой кнопкой изменить) и введите нужное значение. Потом перезагружаетесь, и ошибка должна исчезнуть.
У меня на этом все, если Вы столкнулись с подобного рода ошибкой и устранили ее каким-то другим образом, поделитесь решением с другими в комментариях. Пока!
Некоторые из тех, кто пользуется антивирусами, при очередной загрузке Windows могут увидеть неприятную картину: черный экран, посреди которого диалоговое окно с сообщением: «Windows Script Host не удается найти указанный файл код 80070002». При этом даже не загружается рабочий стол. Следует отметить, что эта ошибка появляется только на ОС Windows 7 и новее.
Причина возникновения ошибки с кодом 80070002
В подавляющем большинстве случаев причины возникновения ошибки с кодом 80070002, когда Windows Script Host не удаётся найти указанный файл является не совсем корректная работа антивирусного ПО. При очередном сканировании оно обнаружило угрозу, устранило ее, однако, не завершило дело до конца.
Но переживать на счет соответствующей ошибки особо не стоит. Ее устранение займет всего 5-10 минут, если, конечно, последовательно и точно придерживаться инструкций. Ранее мной также был описан лайфхак решения похожей ошибки SYSTEM_SERVICE_EXCEPTION.
Как исправить ошибку Windows Script Host
Чтобы исправить ошибку «Widows Script Host не удается найти указанный файл» нужно вначале как-то запустить инструмент, через который будет выполняться коррекция работы ОС. Для этого следует открыть диспетчер задач, что делается следующим образом:
Следующий шаг – выполнение сочетания клавиш Win+R и ввод regedit в текстовое поле открывшегося окна, а затем нажатие Enter. Спустя мгновение откроется редактор реестра, в котором:
Если система x64 (а это, скорее всего, так), то еще нужно посмотреть значения Userinit и Shell в разделе «HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Note/Microsoft/Windows NT/CurrentVersion/Winlogon – если значения отличаются от вышеуказанных, тогда исправьте их на нужные.
После выполнения этих действий при загрузке компьютера рабочий стол будет загружаться без дополнительных манипуляций.
Теперь нужно избавиться от остатков Run. VBS. Для этого:
Неудачный поиск Windows Script Host указанного файла [видео]
Теперь при загрузке компьютера ошибка «Windows Script Host не удается найти указанный файл» возникать не будет, рабочий стол станет нормально загружаться, а сама система продолжит нормально работать.
Ошибка 80070002
Windows script host — это компонент для запуска исполняемых сценариев на различных языках. В сценарии может быть любая задача (например, запуск программы).
Также причиной могут послужить действия самого пользователя, который мог пытаться своими силами или с помощью сторонних программ оптимизировать операционную систему. Такие действия не всегда положительно влияют на быстродействие ОС, а иногда вследствие использования подобных программ компьютер можно заразить вирусом.
Как исправить ошибку 80070002
Всё зависит от того куда указывает ошибка. Однако решения всегда почти одинаковы. Вот несколько примеров, на что может указывать Windows script host:
Nvideo_driver. js
WindowsUpdateDrivers. vbs
Launchall. js
Стоит отметить, что в пути может быть указан любой файл с расширением vbs и js.
Устранение неполадок в реестре
![]()
Устранение ссылки на запуск вируса
Если при включении компьютера появляется ошибка Windows script host с кодом 80070002, а в пути указан путь на Nvideo_driver. js, Launchall. js или другие документы с подобным расширением в конце, то это значит, что сам вирус (то есть указанные файлы) удалены, но система всё также пытается их запустить.
На самом деле, исправление реестра должно было решить подобную проблему, но раз уж она осталась — проведите полную проверку компьютера на вирусы и избавьтесь от них. Избавиться от вирусов можно с помощью таких антивирусных программ, как Avast, Kaspersky, NOD и т. д.
![]()
Также стоит проверить автозагрузку, и если там есть что-то неизвестное вам — удалите. Ещё есть вариант самостоятельно перейти в указанный путь и произвести удаление вручную.
Для открытия настроек автозагрузки откройте командную «Выполнить» с помощью Пуска или клавишами Win+R и введите команду: msconfig
Проблема с обновлением
Если Windows script host указывает на WindowsUpdateDrivers, то в этом случае может помочь очистка папки где хранятся временные данные обновлений. Но сначала отключите соответствующую службу.
Снова введите в строку выполнения команду, но уже другую: services. msc.

![]()
Следующим шагом будет удаление недавних обновлений. Они часто могут быть причиной ошибки, особенно на пиратских версиях Windows.
![]()
Неправильное время
Также очень важным для системы является правильно указанная дата и время, так как иначе будет несоответствие со временем на авторское право различных утилит и программ.
На рабочем столе нажмите на время в правом нижнем углу и перейдите в настройки.
Источники:
https://info-comp. ru/compbexop/606-how-to-fix-wsh-error-can-not-find-file. html
https://kodyoshibok01.ru/windows-script-host-ne-udaetsya-najti-ukazannyj-fajl-kod-80070002/
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
1 2016-01-01 21:23:08
- yurri_87
- Участник
- Неактивен
- Рейтинг : [0|0]
Тема: VBS: Ошибка 80070002
Здравствуйте!
Моя проблема в следующем: я создал vbs-скрипт для перезапуска роутера.
Скрипт исправно работает, перезагружает роутер.
Но при запуске из под php появляется ошибка:
Сценарий:
D:\OpenServer\…\…\…\reboot.vbs
Строка: 2
Символ: 1
Ошибка: Не удается найти указанный файл.
Код: 80070002
Источник: (null)
При запуске из под php других скриптов все работает нормально.
А этот скрипт — с ошибкой.
Содержимое скрипта:
set WshShell = WScript.CreateObject(«WScript.Shell»)
WshShell.run»telnet.exe 192.168.0.1″
WScript.Sleep 1000
WshShell.SendKeys»admin»
WshShell.SendKeys(«{Enter}»)
WScript.Sleep 1000
‘Provide user password
WshShell.SendKeys»123123″
WshShell.SendKeys(«{Enter}»)
WScript.Sleep 1000
‘Reboot the router
WshShell.SendKeys»reboot»
WshShell.SendKeys(«{Enter}»)
WScript.Sleep 1000
WshShell.SendKeys»exit»
В чем может быть загвоздка?
2 Ответ от mozers 2016-01-02 11:57:03
- mozers
- Разработчик
- Неактивен
Re: VBS: Ошибка 80070002
yurri_87
Что значит «при запуске из под php»? Каким образом?
А ошибка говорит о том, что на той машине где выполняется данный vbs скрипт, файл telnet.exe, не найден.
А если в cmd-консоли той машины написать «telnet» что то произойдет?
3 Ответ от yurri_87 2016-01-02 16:13:33
- yurri_87
- Участник
- Неактивен
- Рейтинг : [0|0]
Re: VBS: Ошибка 80070002
mozers
php запускает vbs с помощью exec:
<?php
$bat_name = $_POST[«bat_name»];
exec($bat_name);
?>
Но дело то в том, что по даблклику скрипт работает нормально.
А если через exec в php, то ошибку выдает.
Насколько я понял, exec может запускать как батники, так vbs и другие файлы.
В этом плане я не понял в чем разница даблклика и запуска из php.
Вы считаете, что нужно подгонять команды под консоль php? (может туплю, просто я в этом не разбираюсь).
4 Ответ от mozers 2016-01-02 16:57:29 (изменено: mozers, 2016-01-02 16:59:43)
- mozers
- Разработчик
- Неактивен
Re: VBS: Ошибка 80070002
yurri_87
Т.е. и сервер с php и vbs скрипт находятся на одном и том же компе? И на нем же «по даблклику скрипт работает нормально» ?
Тогда я бы попробовал проставить полный путь к telnet.exe.
5 Ответ от yurri_87 2016-01-02 17:48:39 (изменено: yurri_87, 2016-01-02 17:54:41)
- yurri_87
- Участник
- Неактивен
- Рейтинг : [0|0]
Re: VBS: Ошибка 80070002
mozers
Да, на одном и том-же. Я пробывал полный путь. Ошибка та-же самая.
6 Ответ от yurri_87 2016-01-02 17:50:20 (изменено: yurri_87, 2016-01-02 17:52:27)
- yurri_87
- Участник
- Неактивен
- Рейтинг : [0|0]
Re: VBS: Ошибка 80070002
сегодня друг-программист (на C#) написал:
запускать из пхп вбс скрипт, который запускает телнет и пишет в нем для роутера команды?))) Мне кажется, что это немножк рукоблудие) Почему бы не погуглить про api твоего роутера? Мне кажется, что средствами php скрипт запускается успешно, но от имени пользователя, у которого нет своего рабочего стола и графической оболочки, форточка с телнетом не инициализируется и скриптик, не дождавшись появления форточки, тычет команды вникуда))
… но не предложил нормального решения.
api для dir 300, кстати, не смог найти
7 Ответ от mozers 2016-01-02 18:12:42 (изменено: mozers, 2016-01-02 18:29:44)
- mozers
- Разработчик
- Неактивен
Re: VBS: Ошибка 80070002
yurri_87
Согласен с твоим другом. Но ты же пишешь про конкретную ошибку в конкретной строке. Она может быть вызвана только тем что файл telnet.exe попросту отсутствует на сервере.
Насчет api для dir 300 — ну просто туча альтернативных решений.
Вот так например
<?php
$login='логин';
$pass='пароль';
$address='ip_роутера';
$url="http://$address/login.php";
$url1="http://$address/sys_cfg_valid.xgi?&exeshell;=submit%20REBOOT";
$post="ACTION_POST=LOGIN&FILECODE;=&VERIFICATION;_CODE=&LOGIN;_USER=$login&LOGIN;_PASSWD=$pass&login;=+%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F+&VER;_CODE=";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_exec($ch);
curl_close($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_exec($ch);
curl_close($ch);
?>
или вообще с помощью одного url
http://ip_адрес:порт/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT
8 Ответ от yurri_87 2016-01-02 18:39:19 (изменено: yurri_87, 2016-01-02 18:43:04)
- yurri_87
- Участник
- Неактивен
- Рейтинг : [0|0]
Re: VBS: Ошибка 80070002
mozers
WshShell.run «c:\Windows\System32\telnet.exe 192.168.0.1» — не помогло,
но помогло копирование telnet.exe в папку с vbs скриптом, либо в папку PHP-5.3
Способ удовлетворяет, но раз оно возможно, буду пробовать более «пряморукое» решение из вашего поста выше.
а как использовать
http://ip_адрес:порт/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT
?
<div onclick=»window.open(http://ip_адрес:порт/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT,’_blank’);»>reboot</div>?
пробую…
9 Ответ от yurri_87 2016-01-02 18:56:35 (изменено: yurri_87, 2016-01-02 19:06:39)
- yurri_87
- Участник
- Неактивен
- Рейтинг : [0|0]
Re: VBS: Ошибка 80070002
http://127.0.0.1/openserver/phpinfo.php
выдает что curl включен, но
<?php
$login='admin';
$pass='123123';
$address='192.168.0.1';
$url="http://$address/login.php";
$url1="http://$address/sys_cfg_valid.xgi?&exeshell;=submit%20REBOOT";
$post="ACTION_POST=LOGIN&FILECODE;=&VERIFICATION;_CODE=&LOGIN;_USER=$login&LOGIN;_PASSWD=$pass&login;=+%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F+&VER;_CODE=";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_exec($ch);
curl_close($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_exec($ch);
curl_close($ch);
?>
не работает (создал отдельный php скрипт с этим кодом, запустил его в браузере)
а вариант с
http://ip_адрес:порт/sys_cfg_valid.xgi?&exeshell=submit%20REBOOThttp://ip_адрес:порт/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT
подразумевает что надо сначала авторизироваться на странице логина роутера. Т.е. если это делать каждый день, то и авторизацию делать каждый день?
В принципе, если очевидного решения для
<?php
$login='admin';
$pass='123123';
............
нету, то меня все устраивает, черное выпрыгивающее окошко не сильно напрягает. Тему можно закрыть. Но буду смотреть тему ближайшие пару дней.
10 Ответ от mozers 2016-01-03 11:05:03
- mozers
- Разработчик
- Неактивен
Re: VBS: Ошибка 80070002
Есть два способа «общения» с роутером:
1й — через телнет. Твой vbs-cкрипт — одно из самых неудачных решений, использующих этот вариант. Гораздо надежнее использовать специализированные средства, которые предназначены для выполнения на устройстве любой заданной последовательности команд. Тут есть и шикарные ActiveX компоненты и консольные утилиты. А если мы любим PHP, то для него есть свои иструменты, позволяющие выполнять telnet команды напрямую.
2й вариант — через веб интерфейс, эмулируя ручное нажатие на кнопку «Reboot». Эту кнопку можно найти на одной из страниц настроек и, посмотрев ее код, убедится что нажатие на нее экивалентно открытию URL http://<ip>/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT.
Вот скрипты 2го типа это и делают — эмулируют вход в веб интерфейс и нажатие на эту кнопку. Насколько точно они это делают (а веб интерфейс порой довольно сильно меняется от каждой новой прошивки) — настолько надежно работают данные скрипты.
Что я хочу сказать? То, что вариантов решения — масса и каждый может выбрать то, что ему больше подходит.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться






