Устраняем ошибку Windows Script Host
Исправляем ошибку Windows Script Host
Сразу стоит сказать о том, что если вы писали свой скрипт и при его запуске получили ошибку, то необходимо искать проблемы в коде, а не в системном компоненте. Например, вот такое диалоговое окно говорит именно об этом:
Такая же ситуация может возникнуть и в том случае, когда в коде имеется ссылка на другой скрипт, путь к которому прописан неверно либо данный файл вовсе отсутствует на компьютере.
Далее мы поговорим о тех моментах, когда при старте Windows или запуске программ, например, Блокнота или Калькулятора, а также других приложений, использующих системные ресурсы, появляется стандартная ошибка Windows Script Host. Иногда подобных окон может появиться сразу несколько. Случается такое после обновления операционной системы, которое может пройти как в штатном режиме, так и со сбоями.
Причины такого поведения ОС следующие:
- Неверно выставленное системное время.
- Сбой в работе службы обновлений.
- Некорректная установка очередного апдейта.
- Нелицензионная сборка «винды».
Вариант 1: Системное время
Многие пользователи думают, что системное время, которое показывается в области уведомлений, существует только для удобства. Это не совсем так. Некоторые программы, обращающиеся к серверам разработчиков или к иным ресурсам, могут работать некорректно или вовсе отказаться функционировать по причине расхождений в дате и времени. Это же касается и Windows с ее серверами обновления. В том случае, если будет расхождение в вашем системном времени и времени сервера, то могут наблюдаться неполадки с апдейтами, поэтому на это стоит обратить внимание в первую очередь.
- Нажимаем на часы в правом нижнем углу экрана и переходим по ссылке, указанной на скриншоте.
Далее идем на вкладку «Время по интернету» и жмем на кнопку изменения параметров. Обратите внимание, что ваша учетная запись должна обладать правами администратора.
В окне настроек устанавливаем галку в указанный на изображении чекбокс, затем в выпадающем списке «Сервер» выбираем time.windows.com и нажимаем «Обновить сейчас».
Если все пройдет успешно, то появится соответствующая надпись. В случае ошибки с превышением времени ожидания просто нажимаем кнопку обновления еще раз.
Теперь ваше системное время будет регулярно синхронизироваться с сервером времени Майкрософт и расхождения не будет.
Вариант 2: Служба обновлений
Windows – это очень сложная система, с множеством одновременно протекающих процессов, и некоторые из них могут повлиять на работу службы, отвечающей за обновление. Высокое потребление ресурсов, различные сбои и занятость компонентов, помогающих апдейту, «заставляют» службу совершать бесконечные попытки выполнить свою работу. Сам сервис также может сбоить. Выход здесь один: отключить его, а затем перезагрузить компьютер.
- Вызываем строку «Выполнить» сочетанием клавиш Win+R и в поле с названием «Открыть» пишем команду, которая позволит получить доступ к соответствующей оснастке.
В списке находим «Центр обновления», кликаем ПКМ и выбираем пункт «Свойства».
В открывшемся окне жмем кнопку «Остановить», а затем ОК.
После перезагрузки служба должна запуститься автоматически. Стоит проверить, так ли это и, если она все еще остановлена, включить ее тем же способом.
Если после выполненных действий ошибки продолжают появляться, то необходимо поработать с уже установленными обновлениями.
Вариант 3: Некорректно установленные обновления
Данный вариант подразумевает удаление тех обновлений, после установки которых начались сбои в Windows Script Host. Сделать это можно как вручную, так и с помощью утилиты восстановления системы. В обоих случаях необходимо вспомнить, когда «посыпались» ошибки, то есть после какой даты.
- Идем в «Панель управления» и находим апплет с названием «Программы и компоненты».
Далее переходим по ссылке, отвечающей за просмотр обновлений.
Сортируем список по дате установки, кликнув по шапке последней колонки с надписью «Установлено».
Выбираем нужное обновление, кликаем ПКМ и выбираем «Удалить». Также поступаем с остальными позициями, помня про дату.
- Для перехода к данной утилите кликаем правой кнопкой мыши по значку компьютера на рабочем столе и выбираем пункт «Свойства».
Далее переходим к «Защите системы».
Нажимаем кнопку «Восстановление».
В открывшемся окне утилиты жмем «Далее».
Ставим галку, отвечающую за показ дополнительных точек восстановления. Необходимые нам поинты будут называться «Автоматически созданная точка», тип – «Система». Из них необходимо выбрать ту, которая соответствует дате последнего обновления (или того, после которого начались сбои).
Жмем «Далее», ждем, пока система предложит перезагрузиться и выполнит действия по «откату» к предыдущему состоянию.
Обратите внимание, что в этом случае могут быть удалены и те программы и драйвера, которые были установлены вами после этой даты. Узнать, произойдет ли это, можно нажав кнопку «Поиск затрагиваемых программ».
Читайте также: Как восстановить систему Windows XP, Windows 8, Windows 10
Вариант 4: Нелицензионная Windows
Пиратские сборки «винды» хороши лишь тем, что они совершенно бесплатны. В остальном же такие дистрибутивы могут принести массу проблем, в частности, некорректную работу необходимых компонентов. В этом случае рекомендации, приведенные выше, могут не сработать, так как файлы в скачанном образе уже были сбойными. Здесь можно только посоветовать поискать другой дистрибутив, но лучше воспользоваться лицензионной копией Windows.
Заключение
Решения проблемы с Windows Script Host довольно просты, и с ними справится даже начинающий пользователь. Причина здесь ровно одна: некорректная работа инструмента обновления системы. В случае с пиратскими дистрибутивами можно дать следующий совет: пользуйтесь только лицензионными продуктами. И да, правильно пишите ваши скрипты.
Источник
Как исправить ошибку Windows script host
Windows script host довольно редкая системная ошибка, которая появляется в Windows 7, 8 или 10 версиях независимо от того, лицензионные они или нет. Путь указанный в ней говорит о невозможности запуска конкретного файла. Чаще всего это возникает в следствии появления вирусов.
В статье я рассмотрю причины появления и как можно устранить Windows script host ошибку с кодом 80070002 когда не удается найти указанный файл.
Причины появления ошибки
Чаще всего причиной являются сбои при установке приложений, программ и вирусы. Возможно смогла загрузиться только часть необходимых данных и поэтому системе не удаётся найти указанный файл даже если он присутствует по указанному в ошибке адресу. Это связанно с неверной записью реестра.
Windows script host — это компонент для запуска исполняемых сценариев на различных языках. В сценарии может быть любая задача (например, включение программы).
Так же поспособствовать реализации ошибки мог и сам пользователь, который всячески оптимизировал систему вручную или с помощью стороннего софта, что не всегда может положительно повлиять на её состояние из-за вирусов. Не исключено, что виной этому может быть и антивирус.
Как исправить ошибку (код 80070002)
Всё зависит от того куда указывает ошибка. Однако решения всегда почти одинаковы. Вот несколько примеров на, что может указывать Windows script host:
- Nvideo_driver.js
- WindowsUpdateDrivers.vbs
- Launchall.js
Обратите внимание, что это может быть любой файл с расширением vbs и js (редко с другим).
После каждой инструкции требуется перезагрузка, чтобы применить изменения.
Устранение неполадок в реестре
Устранение нужно начать с исправления реестра. Скачайте программу Ccleaner и установите. Зайдите во вкладку реестра и нажмите на «Поиск проблем».
Исправьте все найденные неполадки и повторите процедуру до тех пор, пока они не будут обнаружены.
Устранение ссылки на запуск вируса
Если при включении компьютера появляется Windows script host с указанием пути на Nvideo_driver.js, Launchall.js или другие документы с подобным расширением на конце, то это значит, что сам вирус (то есть указанные выше файлы) удалены, но обращение на него остаётся.
Скорее всего исправление реестра должно было помочь в этом, но если это не так, то первым делом проведите полную проверку компьютера на вирусы и удалите их. Как это сделать я уже писал в статье про постоянное появление рекламы в браузере. Обычно такие вирусы создаются именно с этой целью.
Проверьте и очистите автозагрузку удалив записи об автоматическом запуске там. Либо можно перейти вручную по указанному в ошибке адресу и провести удаление самостоятельно.
Откройте строку выполнения через меню Пуск или клавишами Win+R и введите команду:
Проблема с обновлением
Если Windows script host указывает на WindowsUpdateDrivers, то в этом случае может помочь очистка папки где хранятся временные данные обновлений. Но сначала отключите соответствующую службу.
Снова введите в строку выполнения команду, но уже другую:
Найдите «Центр обновления Windows» и отключите его через контекстное меню (правой кнопкой мыши) в свойствах.
Перейдите в локальный диск C (там где установлена ОС) >> Windows >> SoftwareDistribution >> DataStore и удалите всё, что там расположено. Затем включите службу и попробуйте обновиться.
Следующим шагом будет удаление недавних обновлений. Они часто могут быть причиной ошибки особенно на пиратских версиях Windows.
Войдите в панель управления через меню Пуск >> Программы и компоненты >> Просмотр установленных обновлений. Кликните по столбцу «Установлено» для сортировки по дате и удаляйте строки по одной до тех пор, пока ошибка 80070002 не пропадёт.
Неправильное время
Важно установить правильную дату на компьютере иначе будет несоответствие со временем на авторское право различных утилит и программ. Оно ограниченно во времени и сравнивается со специальным сервером.
На рабочем столе нажмите на время в правом нижнем углу и перейдите в настройки.
Поставьте синхронизацию с официальным сервером компании Microsoft, чтобы избежать различных конфликтов или вручную укажите верную на текущий момент дату.
Источник
Troubleshooting Code 800A0400 – Expected Statement
Perhaps instead of ‘Expected Statement’, ‘missing character’ would be a better error message. I have noticed with error 800A0400 how often the problem is at the beginning or the end of the line mentioned in the error message.
Introduction to Code 800A0400
Error code 800A0400 is a generic message when you execute a VBScript. A wild guess, you have missed a command at the beginning of a line.
The Symptoms You Get
The script does not execute as you had hoped. Instead you get a message box like this picture:
The Cause of Error 800A0400
Your VBScript contain is missing a statement. This is a difficult error to track down. However, the good news is that I have three examples. Most likely you have placed a statement, which is not appropriate for the logic of your script. For example, extra brackets, or missing command.
Note: the clue ‘Source: Microsoft VBScript compilation error’. My point is that ‘compilation error’ and not a ‘runtime error’, means this is a syntax error in your script.
The Solution for Error: Expected statement
The Windows Scripting Host gives us two useful clues, firstly, look on Line: 10, do count any remark or empty lines. Secondly, the Char: number 1, is useful in tracing the error. In this case there is something wrong with the Select statement.
The line number, as is so often the case, is crucial to solving this error. The problem is that the whole line is gibberish to the VBScript engine. So take another look at each word, punctuation and see if you can spot a simple error.
‡
Example 1 of Error code: 800A0400
Missing underscore at the end of the line 7:
‘ WSHname.vbs
‘ Sample VBScript to check WSH Version
‘ Author Guy Thomas https://computerperformance.co.uk/
‘ Version 2.3 – September 2010
‘ ——————————————————-
On Error Resume Next
WScript.Echo «WSH Version: » & WScript.Version & » » & WScript.BuildVersion
& vbcr & «File name: » WScript.ScriptName
WScript.Quit
Solution
Missing underscore at the end of the line:
WScript.Echo «WSH Version: » & WScript.Version & » » & _
‘ WSHname.vbs
‘ Sample VBScript to check WSH Version
‘ Author Guy Thomas https://computerperformance.co.uk/
‘ Version 2.3 – September 2010
‘ ——————————————————-
On Error Resume Next
WScript.Echo «WSH Version: » & WScript.Version & » » & _ WScript.BuildVersion
& vbcr & «File name: » WScript.ScriptName
WScript.Quit
Guy Recommends: A Free Trial of the Network Performance Monitor (NPM) v11.5
SolarWinds’ Orion performance monitor will help you discover what’s happening on your network. This utility will also guide you through troubleshooting; the dashboard will indicate whether the root cause is a broken link, faulty equipment or resource overload.
What I like best is the way NPM suggests solutions to network problems. Its also has the ability to monitor the health of individual VMware virtual machines. If you are interested in troubleshooting, and creating network maps, then I recommend that you try NPM now.
Download a free trial of Solarwinds’ Network Performance Monitor
Example 2 of 800A0400
Error on Line 4.
Talk about stupid errors, there is no ‘ apostrophe to Rem out that line of dashes.
Actual
————————
Should be:
‘ —————————–
‘The script is below, and the pclist.txt contain only 2 line:
‘ mainsrv
‘ computer1
——————————————————–
Const ForReading = 1
Set objDictionary = CreateObject(«Scripting.Dictionary»)
Set objFSO = CreateObject(«Scripting.FileSystemObject»)
Set objTextFile = objFSO.OpenTextFile _
(«e:scriptspclist.txt», ForReading)
i = 0
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
objDictionary.Add i, strNextLine
i = i + 1
Loop
For Each objItem in objDictionary
StrComputer = objDictionary.Item(objItem)
Set objWMIService = GetObject(«winmgmts:» _
& «{impersonationLevel=impersonate}!» & strComputer& «rootcimv2»)
Set colServices = objWMIService.ExecQuery _
(«SELECT * FROM Win32_Service»)
Wscript.Echo strComputer, colServices.Count
Next
Example 3 of 800A0400 (Code available)
I just plain missed command, for example no ‘Set’.
Problem
«Error» ObjNetwork = CreateObject(«Wscript.Network»)
Correction
Set ObjNetwork = CreateObject(«Wscript.Network»)
Guy Recommends: SolarWinds Engineer’s Toolset v10
This Engineer’s Toolset v10 provides a comprehensive console of 50 utilities for troubleshooting computer problems. Guy says it helps me monitor what’s occurring on the network, and each tool teaches me more about how the underlying system operates.
There are so many good gadgets; it’s like having free rein of a sweetshop. Thankfully the utilities are displayed logically: monitoring, network discovery, diagnostic, and Cisco tools. Try the SolarWinds Engineer’s Toolset now!
Download your fully functional trial copy of the Engineer’s Toolset v10
Example 4 – No need for End If
The 800A0400 error message in VBScript often appears when the user adds a «End» statement when there is no need for one. For example, in this script, the user puts «End If», when there is no If statement to end.
MsgBox «Click OK to continue»
Input = InputBox(«Type your name»)
End If
There was no need for the user to put «End If», so the script host says that the user needs to put an ‘If’ statement, but wouldn’t it make much more sense if it told the user to delete the ‘End If’ statement?
This example was kindly sent in by Alex Jones.
Select Case Example of Error Code 800A0400
n_Num = 3
Select Case n_Num
Case n_Num 1
wscript.echo 1
Case 2
wscript.echo 2
Case 3
wscript.echo 3
End Case
Solutions:
Should be Case 1 (Not Case n_Num 1)
Should be End Select (Not End Case)
Kindly sent in by Bradley Harris.
See More Windows Update Error Codes 8004 Series
• Error 800A101A8 Object Required •Error 800A0046 •Error 800A10AD •Error 800A000D
• Error 80048820 •Error 800A0401 •Review of SolarWinds Permissions Monitor
• Error 80040E14 • Error 800A03EA • Error 800A0408 • Error 800A03EE
If you like this page then please share it with your friends
mkop 1 / 1 / 0 Регистрация: 12.12.2013 Сообщений: 33 |
||||
1 |
||||
VBS 17.07.2015, 11:46. Показов 4277. Ответов 2 Метки нет (Все метки)
Приветствую. Есть макрос в Excel
В excel отрабатывает нормально, если сохранить как VBS скрипт начинает ругаться WSH: Строка 2 Я так понял, что надо запускать скрипт как-то иначе? Добавлено через 47 минут
__________________ 0 |
Ушел с CyberForum совсем! 873 / 182 / 25 Регистрация: 04.05.2011 Сообщений: 1,020 Записей в блоге: 110 |
|
17.07.2015, 11:49 |
2 |
Сообщение было отмечено mkop как решение Решение ну откуда VBS будет знать что такое Workbooks ? для экселя это родное понятие ! Добавлено через 54 секунды
кажется я понял что перепутал Visual Basic for Apllication со скриптами Windows Script Host…. запускате свой код вба в его родной среде 1 |
Dmitrii 2617 / 547 / 109 Регистрация: 21.03.2012 Сообщений: 1,051 |
||||||||
17.07.2015, 12:02 |
3 |
|||||||
mkop, макрос в исходном виде никогда не будет работать как сценарий, хотя бы уже потому, что его тело всегда обрамлено парой операторов Sub/End Sub.
Кроме того, интерпретатор сценариев ничего «не знает» ни об операторе ChDir, ни об элементах объектной модели Excel. Начальный фрагмент вашего макроса, переделанного в сценарий, мог бы выглядеть так:
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
17.07.2015, 12:02 |
3 |
Not good in classic ASP. I need to add popUp when clicking on Delete or Recover (x and circled arrow). Here is ASP code without popUp:
i = 0
while not rs.eof
i = i +1
'a.AccountID,a.Deleted,MSPdisabled,MSPppAccountID ,a.Name,a.Description,a.Notes,a.WebSite,at.AccountType
Dict.SetKey = "dataTableRow_" & i
arrValues = split(varValues,",")
j = 0
sDelete = " <a href=/portal3/#ajax-config/?rID=Deleted&ClientID=" & request.querystring("ClientID") & "&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & varCabinetAction & "&Action=Del"
'if varClientID <> "" then sDelete = sDelete & "&ClientID=" & varClientID
sDelete = sDelete & varRandomString & "><span class=""glyphicon glyphicon-remove"" title=""Delete"" id=""deleteItemFromFolder""></span></a>"
<%
^
response.write("")
%>
sRecover = " <a href=/portal3/#ajax-config/?rID=Deleted&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & "&Action=Recover"
if varClientID <> "" then sRecover = sRecover & "&ClientID=" & varClientID
sRecover = sRecover & varRandomString & "><span class=""glyphicon glyphicon-repeat"" title=""Recover""></span>"
Dict.SetField j, sDelete & sRecover
for each value in arrValues
j = j +1
'response.write value
Dict.SetField j,rs(value).value
next
Dict.Update
rs.movenext
wend
arrFields = split(langOptions&"," & varFields,",")
sFieldOptions = ""
for each aF in arrFields
if sFieldOptions <> "" then sFieldOptions = sFieldOptions & ","
sFieldOptions = sFieldOptions & "1"'always nowrap
next
arrFieldOptions = split(sFieldOptions,",")'wrap/not wrap
response.write funDataTable(Dict,arrFields,arrFieldOptions,arrOptions)
'END DICTIONARY
Set Dict = Nothing
'######################################################################
else
response.write "<div class=""alert alert-info""><strong>"&langNONETOPURGERECOVER&"</strong></div>"
end if
end if
I tried to add bootstrap coding. Here how it looks like injected:
i = 0
while not rs.eof
i = i +1
'a.AccountID,a.Deleted,MSPdisabled,MSPppAccountID ,a.Name,a.Description,a.Notes,a.WebSite,at.AccountType
Dict.SetKey = "dataTableRow_" & i
arrValues = split(varValues,",")
j = 0
sDelete = " <a href=/portal3/#ajax-config/?rID=Deleted&ClientID=" & request.querystring("ClientID") & "&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & varCabinetAction & "&Action=Del"
'if varClientID <> "" then sDelete = sDelete & "&ClientID=" & varClientID
sDelete = sDelete & varRandomString & "><span class=""glyphicon glyphicon-remove"" title=""Delete"" id=""deleteItemFromFolder""></span></a>"
sRecover = " <a href=/portal3/#ajax-config/?rID=Deleted&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & "&Action=Recover"
if varClientID <> "" then sRecover = sRecover & "&ClientID=" & varClientID
sRecover = sRecover & varRandomString & "><span class=""glyphicon glyphicon-repeat"" title=""Recover""></span>"
<%
response.write("
<div class="widget-body no-padding">
<div class="smart-form">
<footer>
<input id="feedbackForDeleteSettings" name=submit value="<%=langResetSettings%>" class="btn btn-primary btn-danger" type=submit data-toggle="modal" data-target="#resetChanges">
<input id="saveCustomTheme" name=submit value="<%=langUpdateAboveSettings%>" class="btn btn-primary" type=submit data-id="userCustomization">
<div class="modal fade" id="submitChanges" tabindex="-1" role="dialog" aria-labelledby="submitChanges" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h5 class="modal-title">You successfully updated the changes!</h5>
</div>
</div>
</div>
</div>
<div class="modal fade" id="deleteItemFromFolder" tabindex="-1" role="dialog" aria-labelledby="deleteItemFromFolder" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h5 class="modal-title">You successfully removed all custom changes.
</br>
Please, reload the page.
</h5>
</div>
</div>
</div>
</div>
</footer>
</div>
</div>
")
%>
Dict.SetField j, sDelete & sRecover
for each value in arrValues
j = j +1
'response.write value
Dict.SetField j,rs(value).value
next
Dict.Update
rs.movenext
wend
arrFields = split(langOptions&"," & varFields,",")
sFieldOptions = ""
for each aF in arrFields
if sFieldOptions <> "" then sFieldOptions = sFieldOptions & ","
sFieldOptions = sFieldOptions & "1"'always nowrap
next
arrFieldOptions = split(sFieldOptions,",")'wrap/not wrap
response.write funDataTable(Dict,arrFields,arrFieldOptions,arrOptions)
'END DICTIONARY
Set Dict = Nothing
'######################################################################
else
response.write "<div class=""alert alert-info""><strong>"&langNONETOPURGERECOVER&"</strong></div>"
end if
end if
But all the time I get «Microsoft VBScript compilation error ‘800a0400’
Expected statement
/portal3/ajax-config/config.asp, line 9697
<%
^
«.
I will be grateful for any help!
Not good in classic ASP. I need to add popUp when clicking on Delete or Recover (x and circled arrow). Here is ASP code without popUp:
i = 0
while not rs.eof
i = i +1
'a.AccountID,a.Deleted,MSPdisabled,MSPppAccountID ,a.Name,a.Description,a.Notes,a.WebSite,at.AccountType
Dict.SetKey = "dataTableRow_" & i
arrValues = split(varValues,",")
j = 0
sDelete = " <a href=/portal3/#ajax-config/?rID=Deleted&ClientID=" & request.querystring("ClientID") & "&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & varCabinetAction & "&Action=Del"
'if varClientID <> "" then sDelete = sDelete & "&ClientID=" & varClientID
sDelete = sDelete & varRandomString & "><span class=""glyphicon glyphicon-remove"" title=""Delete"" id=""deleteItemFromFolder""></span></a>"
<%
^
response.write("")
%>
sRecover = " <a href=/portal3/#ajax-config/?rID=Deleted&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & "&Action=Recover"
if varClientID <> "" then sRecover = sRecover & "&ClientID=" & varClientID
sRecover = sRecover & varRandomString & "><span class=""glyphicon glyphicon-repeat"" title=""Recover""></span>"
Dict.SetField j, sDelete & sRecover
for each value in arrValues
j = j +1
'response.write value
Dict.SetField j,rs(value).value
next
Dict.Update
rs.movenext
wend
arrFields = split(langOptions&"," & varFields,",")
sFieldOptions = ""
for each aF in arrFields
if sFieldOptions <> "" then sFieldOptions = sFieldOptions & ","
sFieldOptions = sFieldOptions & "1"'always nowrap
next
arrFieldOptions = split(sFieldOptions,",")'wrap/not wrap
response.write funDataTable(Dict,arrFields,arrFieldOptions,arrOptions)
'END DICTIONARY
Set Dict = Nothing
'######################################################################
else
response.write "<div class=""alert alert-info""><strong>"&langNONETOPURGERECOVER&"</strong></div>"
end if
end if
I tried to add bootstrap coding. Here how it looks like injected:
i = 0
while not rs.eof
i = i +1
'a.AccountID,a.Deleted,MSPdisabled,MSPppAccountID ,a.Name,a.Description,a.Notes,a.WebSite,at.AccountType
Dict.SetKey = "dataTableRow_" & i
arrValues = split(varValues,",")
j = 0
sDelete = " <a href=/portal3/#ajax-config/?rID=Deleted&ClientID=" & request.querystring("ClientID") & "&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & varCabinetAction & "&Action=Del"
'if varClientID <> "" then sDelete = sDelete & "&ClientID=" & varClientID
sDelete = sDelete & varRandomString & "><span class=""glyphicon glyphicon-remove"" title=""Delete"" id=""deleteItemFromFolder""></span></a>"
sRecover = " <a href=/portal3/#ajax-config/?rID=Deleted&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & "&Action=Recover"
if varClientID <> "" then sRecover = sRecover & "&ClientID=" & varClientID
sRecover = sRecover & varRandomString & "><span class=""glyphicon glyphicon-repeat"" title=""Recover""></span>"
<%
response.write("
<div class="widget-body no-padding">
<div class="smart-form">
<footer>
<input id="feedbackForDeleteSettings" name=submit value="<%=langResetSettings%>" class="btn btn-primary btn-danger" type=submit data-toggle="modal" data-target="#resetChanges">
<input id="saveCustomTheme" name=submit value="<%=langUpdateAboveSettings%>" class="btn btn-primary" type=submit data-id="userCustomization">
<div class="modal fade" id="submitChanges" tabindex="-1" role="dialog" aria-labelledby="submitChanges" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h5 class="modal-title">You successfully updated the changes!</h5>
</div>
</div>
</div>
</div>
<div class="modal fade" id="deleteItemFromFolder" tabindex="-1" role="dialog" aria-labelledby="deleteItemFromFolder" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h5 class="modal-title">You successfully removed all custom changes.
</br>
Please, reload the page.
</h5>
</div>
</div>
</div>
</div>
</footer>
</div>
</div>
")
%>
Dict.SetField j, sDelete & sRecover
for each value in arrValues
j = j +1
'response.write value
Dict.SetField j,rs(value).value
next
Dict.Update
rs.movenext
wend
arrFields = split(langOptions&"," & varFields,",")
sFieldOptions = ""
for each aF in arrFields
if sFieldOptions <> "" then sFieldOptions = sFieldOptions & ","
sFieldOptions = sFieldOptions & "1"'always nowrap
next
arrFieldOptions = split(sFieldOptions,",")'wrap/not wrap
response.write funDataTable(Dict,arrFields,arrFieldOptions,arrOptions)
'END DICTIONARY
Set Dict = Nothing
'######################################################################
else
response.write "<div class=""alert alert-info""><strong>"&langNONETOPURGERECOVER&"</strong></div>"
end if
end if
But all the time I get «Microsoft VBScript compilation error ‘800a0400’
Expected statement
/portal3/ajax-config/config.asp, line 9697
<%
^
«.
I will be grateful for any help!
Problem
Microsoft VBScript compilation error ‘800a0400’Expected statement/idmws/Do
Resolving The Problem
Microsoft VBScript compilation error ‘800a0400’
Expected statement
/idmws/DocView.asp, line 179
<!— #INCLUDE FILE=»IncAsps/eFormsDocView.asp» —> To «fix» the problem, simply put an apostrophe in front of the line that reads:
<!— #INCLUDE FILE=»IncAsps/eFormsDocView.asp» —>
The modified section of code will look like:
‘ Start of Panagon eForms integration:
‘ Panagon eForms — 4.2.1.1046
‘<!— #INCLUDE FILE=»IncAsps/eFormsDocView.asp» —>
‘ End Panagon eForms integration
Then, simply save the modified docview.asp page and make sure notepad doesn’t append a .txt extension on the file.
[{«Product»:{«code»:»SS5USE»,»label»:»FileNet IDM Desktop/WEB Services/Open Client»},»Business Unit»:{«code»:»BU053″,»label»:»Cloud & Data Platform»},»Component»:»IDM Desktop»,»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»3.X»,»Edition»:»»,»Line of Business»:{«code»:»LOB45″,»label»:»Automation»}}]
Historical Number
10003840
Product Synonym
IDM WEB/OPEN CLIENT
voyjr
07.02.10 — 18:43
На форуме нашел интересный скрипт архивации. Вот он……….
//***************************
‘*******************************************************
‘ File: BackUp1C.vbs
‘ Author: (c) A.Lopatinskiy «Digital Technologies Ltd»
‘
‘***********************************************************
Const EXE =»»»D:Program Files1cv77BIN1CV7.exe»»»
‘***********************************************************
Const ForWriting = 2
Dim WshShell
Dim fso
Dim IniFile
ErrorMes1=»Usage:»_
+vbCrLf+»BackUp1C.vbs <DatabasePath> <ArchivePrefix> <ArchiveDir> <User> <Pass>»_
+vbCrLf+»Where:»_
+vbCrLf+» <DatabasePath> — Path to 1C database directory»_
+vbCrLf+» <ArchivePrefix> — Prefix archive file»_
+vbCrLf+» <ArchiveDir> — Directory for archive file»_
+vbCrLf+» <User> — 1C user name»_
+vbCrLf+» <Pass> — 1C user password»
Set WshShell = WScript.CreateObject(«WScript.Shell»)
Set objArgs = WScript.Arguments
Set fso = CreateObject(«Scripting.FileSystemObject»)
If objArgs.Count <5 Then
MsgBox ErrorMes1,vbOKOnly + vbCritical, «Command line Error!»
WScript.Quit 1
else
IniFileName=objArgs(1)+»_»+CStr(Year(Now()))+Right(«0″+CStr(Month(Now())),2)+Right(«0″+CStr(Day(Now())),2)+»_»+CStr(Random())+».prm»
ArchFileName=objArgs(1)+»_»+CStr(Year(Now()))+Right(«0″+CStr(Month(Now())),2)+Right(«0″+CStr(Day(Now())),2)+».zip»
ArchDir=objArgs(2)
If (Not fso.FolderExists(objArgs(2))) Then
Set oFolder = fso.CreateFolder(objArgs(2))
Else
Set oFolder = fso.GetFolder(objArgs(2))
End If
Set IniFile = fso.OpenTextFile(GetPath&IniFileName, ForWriting , True)
IniFile.WriteLine «[General]»
IniFile.WriteLine «UnloadData=Y»
IniFile.WriteLine «[UnloadData]»
IniFile.WriteLine «UnloadToFile=»+oFolder+»»+ArchFileName
set IniFile = Nothing
End If
WshShell.Run EXE & «config» & » /d»&objArgs(0) & » /n»&objArgs(3) &» /p»&objArgs(4) & » /@»&GetPath&IniFileName,, True
If (fso.FileExists(GetPath&IniFileName)) Then
fso.DeleteFile(GetPath&IniFileName)
End If
Function GetPath
‘ Retrieve path to the script file.
Dim path
path = WScript.ScriptFullName
GetPath = Left(path, InStrRev(path, «»))
End Function
Function Random()
Random=Hex(Year(Now())+Month(Now())+Day(Now())+Hour(Now())+Minute(Now())+Second(Now()))
End Function
А вот его краткое описание…………….
Скрипт преднезначен для архивирования информационных баз 1С?Предприятие 7.7
путем выгрузки данных.
Внимательно прочитайте это файл до конца!
Запуск скрипта:
BackUp1C.vbs <DatabasePath> <ArchivePrefix> <ArchiveDir> <User> <Pass>
где:
<DatabasePath> — путь к каталогу ИБ 1С:Предприятия 7.7
<ArchivePrefix> — префикс файла создаваемого архива
<ArchiveDir> — каталог, где будут размещаться резервные копии
<User> — имя пользователя 1С, имеющего права на выгрузку данных
<Pass> — пароль пользователя 1С, имеющего права на выгрузку данных
Все параметры командной строки являются ОБЯЗАТЕЛЬНЫМИ!
Скрипт создает резервные копии ИБ 1С:Предприятия 7.7:
<ArchiveDir><ArchivePrefix>_<Год><Месяц><День>.zip
Для корректной работы необходимо подкорректировать строку запуска (путь к
исполняемому файлу) 1С:Предприятия:
(строка 6: Const EXE =»»»C:Program files1cv77bin1cv7s.exe «»»)
Пример:
BackUp1C.vbs E:MyDB_1 DB_1 X:Back1C Попов Secret
Для автоматического резервирования скрипт с указанными параметрами
командной строки следует разместить в планировщике Windows.
Есть куча программ, которые архивируют всю папку с базой, а эта именно (как написано) делает выгрузку. То что мне надо.
При исполнении скрипта выходит ошибка………
Строка:1
Символ:1
Ошибка: Предполагается наличие инструкции
Код: 800А0400
Источник: Ошибка компиляции Microsoft VBScript
Помогите разобраться. Всё делал как в инструкции написано. Ничего не получается. Нужна как раз выгрузка, а не простое архивирование. Или может кто-нибудь другой скрипт знает?
Ковычки
1 — 07.02.10 — 19:15
//***************************
ZOMI
2 — 07.02.10 — 19:17
(0) Пакетный режим в 1С 77 — миллион обработок в сети
ZOMI
3 — 07.02.10 — 19:18
(0) ну а вообще одинэсник обязан уметь руками это писать … Хотя поколение копипастных не поймет о чем я …
deskor
4 — 07.02.10 — 19:32
А нафига такие навороты?
До выгрузки средствами скуля я юзал такое:
[General]
Output=»D:log.txt»
UnloadData=1
Quit=1
[UnloadData]
UnloadToFile=»D:backupbase.zip»
IncludeUserDef=1
Torquader
5 — 07.02.10 — 20:04
Функции GetPath и Random переносим в начало скрипта, чтобы они были видны.
Потом, везде, где строки соединяются при помощи & должны стоять пробелы.
То есть GetPath&IniFileName не всегда может сработать.
Тоже касается пробелов перед переносом строки (_), без него не все интерпретаторы понимают, что надо сделать.
Кроме того, функция GetPath — написана неправильно — она выделяет строку до первого разделителя, то есть получает корень диска (а надо, видимо, что-то другое).
Function GetPath
‘ Retrieve path to the script file.
GetPath = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName,WScript.ScriptName))
End Function
Torquader
6 — 07.02.10 — 20:05
+(.)
Кроме того, надеюсь, что
//**************************************
Это не в первой строке файла (так коментарий // работает только в JavaScript).
voyjr
7 — 07.02.10 — 20:14
Спасибо огромное(1). Оказалось всё так просто!!!
Troubleshooting Code 800A0400 – Expected Statement
Perhaps instead of ‘Expected Statement’, ‘missing character’ would be a better error message. I have noticed with error 800A0400 how often the problem is at the beginning or the end of the line mentioned in the error message.
Introduction to Code 800A0400
Error code 800A0400 is a generic message when you execute a VBScript. A wild guess, you have missed a command at the beginning of a line.
The Symptoms You Get
The script does not execute as you had hoped. Instead you get a message box like this picture:
The Cause of Error 800A0400
Your VBScript contain is missing a statement. This is a difficult error to track down. However, the good news is that I have three examples. Most likely you have placed a statement, which is not appropriate for the logic of your script. For example, extra brackets, or missing command.
Note: the clue ‘Source: Microsoft VBScript compilation error’. My point is that ‘compilation error’ and not a ‘runtime error’, means this is a syntax error in your script.
The Solution for Error: Expected statement
The Windows Scripting Host gives us two useful clues, firstly, look on Line: 10, do count any remark or empty lines. Secondly, the Char: number 1, is useful in tracing the error. In this case there is something wrong with the Select statement.
The line number, as is so often the case, is crucial to solving this error. The problem is that the whole line is gibberish to the VBScript engine. So take another look at each word, punctuation and see if you can spot a simple error.
‡
Example 1 of Error code: 800A0400
Missing underscore at the end of the line 7:
‘ WSHname.vbs
‘ Sample VBScript to check WSH Version
‘ Author Guy Thomas https://computerperformance.co.uk/
‘ Version 2.3 – September 2010
‘ ——————————————————-
On Error Resume Next
WScript.Echo «WSH Version: » & WScript.Version & » » & WScript.BuildVersion
& vbcr & «File name: » WScript.ScriptName
WScript.Quit
Solution
Missing underscore at the end of the line:
WScript.Echo «WSH Version: » & WScript.Version & » » & _
‘ WSHname.vbs
‘ Sample VBScript to check WSH Version
‘ Author Guy Thomas https://computerperformance.co.uk/
‘ Version 2.3 – September 2010
‘ ——————————————————-
On Error Resume Next
WScript.Echo «WSH Version: » & WScript.Version & » » & _ WScript.BuildVersion
& vbcr & «File name: » WScript.ScriptName
WScript.Quit
Guy Recommends: A Free Trial of the Network Performance Monitor (NPM) v11.5
SolarWinds’ Orion performance monitor will help you discover what’s happening on your network. This utility will also guide you through troubleshooting; the dashboard will indicate whether the root cause is a broken link, faulty equipment or resource overload.
What I like best is the way NPM suggests solutions to network problems. Its also has the ability to monitor the health of individual VMware virtual machines. If you are interested in troubleshooting, and creating network maps, then I recommend that you try NPM now.
Download a free trial of Solarwinds’ Network Performance Monitor
Example 2 of 800A0400
Error on Line 4.
Talk about stupid errors, there is no ‘ apostrophe to Rem out that line of dashes.
Actual
————————
Should be:
‘ —————————–
‘The script is below, and the pclist.txt contain only 2 line:
‘ mainsrv
‘ computer1
——————————————————–
Const ForReading = 1
Set objDictionary = CreateObject(«Scripting.Dictionary»)
Set objFSO = CreateObject(«Scripting.FileSystemObject»)
Set objTextFile = objFSO.OpenTextFile _
(«e:scriptspclist.txt», ForReading)
i = 0
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
objDictionary.Add i, strNextLine
i = i + 1
Loop
For Each objItem in objDictionary
StrComputer = objDictionary.Item(objItem)
Set objWMIService = GetObject(«winmgmts:» _
& «{impersonationLevel=impersonate}!\» & strComputer& «rootcimv2»)
Set colServices = objWMIService.ExecQuery _
(«SELECT * FROM Win32_Service»)
Wscript.Echo strComputer, colServices.Count
Next
Example 3 of 800A0400 (Code available)
I just plain missed command, for example no ‘Set’.
Problem
«Error» ObjNetwork = CreateObject(«Wscript.Network»)
Correction
Set ObjNetwork = CreateObject(«Wscript.Network»)
Guy Recommends: SolarWinds Engineer’s Toolset v10
This Engineer’s Toolset v10 provides a comprehensive console of 50 utilities for troubleshooting computer problems. Guy says it helps me monitor what’s occurring on the network, and each tool teaches me more about how the underlying system operates.
There are so many good gadgets; it’s like having free rein of a sweetshop. Thankfully the utilities are displayed logically: monitoring, network discovery, diagnostic, and Cisco tools. Try the SolarWinds Engineer’s Toolset now!
Download your fully functional trial copy of the Engineer’s Toolset v10
Example 4 – No need for End If
The 800A0400 error message in VBScript often appears when the user adds a «End» statement when there is no need for one. For example, in this script, the user puts «End If», when there is no If statement to end.
MsgBox «Click OK to continue»
Input = InputBox(«Type your name»)
End If
There was no need for the user to put «End If», so the script host says that the user needs to put an ‘If’ statement, but wouldn’t it make much more sense if it told the user to delete the ‘End If’ statement?
This example was kindly sent in by Alex Jones.
Select Case Example of Error Code 800A0400
n_Num = 3
Select Case n_Num
Case n_Num 1
wscript.echo 1
Case 2
wscript.echo 2
Case 3
wscript.echo 3
End Case
Solutions:
Should be Case 1 (Not Case n_Num 1)
Should be End Select (Not End Case)
Kindly sent in by Bradley Harris.
See More Windows Update Error Codes 8004 Series
• Error 800A101A8 Object Required •Error 800A0046 •Error 800A10AD •Error 800A000D
• Error 80048820 •Error 800A0401 •Review of SolarWinds Permissions Monitor
• Error 80040E14 • Error 800A03EA • Error 800A0408 • Error 800A03EE
If you like this page then please share it with your friends
Those are HTML tags <script>
etc., and don’t belong in your script-file.
If you want to check if the image is loaded then you need to use code similar to your earlier code, that repeatedly tries to reference the img-element in the page. If this img doesn’t have an id then it becomes a little more complicated.
You might, for example, use getElementsByTagName("IMG")
to obtain the collection of all the images. If you know it is the third one then:
getElementsByTagName("IMG")[2]
would (in JavaScript) obtain a reference to it. I don’t know what adjustments this code might need to work in VBScript, maybe round brackets (2). It may, in fact, be indexes as (3) in VBScript, as many VBS collections are indexed from 1, rather than 0. [Edited: I believe getElementsByTagName
is still zero-indexed in VBS.]
If you don’t know which specific IMG element contains this image, then you’ll need to loop through the collection (of IMG tags, as above) checking its src
attribute using getAttribute()
. querySelector
is a possible alternative to obtaining the element with this src-attribute.
Всем добрый день!
Есть лес А уровень леса 2008r2 и домен domain1.local — уровень 2008r2
в домене есть 2 DC — DC1.domain1.local и DC2.domain1.local
Проблема в отсутствии репликации Sysvol в домене.
Сразу скажу, что читал вот эти статьи
1. http://social.technet.microsoft.com/Forums/windowsserver/en-US/1ac2719f-fa77-4d97-95d2-518b2fea142a/dfsradmin-set-sysvol-as-primary-authoritative-failed?forum=winserverDS
2. http://social.technet.microsoft.com/Forums/ru-RU/4e5f9422-588e-4843-bd59-19309a155b75/dfsr-sysvol?forum=WS8ru
3. http://support.microsoft.com/kb/2218556/en-us
но они мне не подходят, т.к нет CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=<the server name>,OU=Domain Controllers,DC=<domain> на DC2!!!!!!!!!!!!!!!!!!
На DC2
dcdiag /q
Проблемы у некоторых объектов, относящихся к DC DC2:
[1] Проблема: Отсутствует ожидаемое значение
Базовый объект:
CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sit
es,CN=Configuration,DC=domain1,DC=local
Описание базового объекта: «Объект DSA»
Имя атрибута объекта значения: serverReferenceBL
Описание объекта значения: «Объект члена SYSVOL FRS»
Рекомендуемое действие: См. статью базы знаний: Q312862
[1] Проблема: Отсутствует ожидаемое значение
Базовый объект: CN=DC2,OU=Domain Controllers,DC=domain1,DC=local
Описание базового объекта: «Объект учетной записи DC»
Имя атрибута объекта значения: frsComputerReferenceBL
Описание объекта значения: «Объект члена SYSVOL FRS»
Рекомендуемое действие: См. статью базы знаний: Q312862
……………………. DC2 — не пройдена проверка VerifyReferences
Далее по вот этот статье См. статью базы знаний: Q312862
пункт Восстановление удаленных объектов подключения DFS, т.к у меня в домене работает DFSR.
И действительно, в ADSIEDIT вижу что CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=<the server name>,OU=Domain Controllers,DC=<domain>
на DC2 пустая. (рисунки выкладывать пока не могу, т.к учетная запись пока не проверена, по этому ссылка на другой форум.)
http://sysadmins.ru/post11699020.html#11699020
на DC1 в Event вот такая ошибка
Служба репликации DFS не обнаружила настроенных подключений для группы репликации Domain System Volume. Данные для этой группы репликации не реплицируются.
Дополнительные сведения:
Идентификатор группы репликации: 1BB37DF4-F330-42EC-9369-1E64813AFC79
Идентификатор члена: D53106F7-D4A7-4D3D-9092-C542C0DC6006
При добавлении CN=Domain System Volume и создании атрибута ms-DFSR-ReplicationGroupGuid в формате 1BB37DF4-F330-42EC-9369-1E64813AFC79( Идентификатор группы репликации).Ошибка, Оно или несколько значений имеют не правильный формат!
Делал это для того что бы провести non-authoritative synchronization of DFSR-replicated SYSVOL (like «D2» for FRS) необходимо что бы на втором DC было это значение CN=SYSVOL Subscription,CN=Domain
System Volume,CN=DFSR-LocalSettings,CN=<the server name>,OU=Domain Controllers,DC=<domain>
Потом делал по этой статье http://social.technet.microsoft.com/Forums/windowsserver/en-US/e602c37d-675f-481f-b936-78c474a3b274/server-2008-r2-not-replicating?forum=winserverfiles
c. Open ADSIEDIT and locate the DC’s computer account that will be primary
e. Locate the msDFSR-Options attribute. Edit the attribute and set it to “1”. Click apply and OK
f. On the DC that is Primary run DFSRDIAG POLLAD
g. Check the DFSR event log on the Primary member. The DC should log an Event ID 4602
Но ничего не получилось. Команда DFSRDIAG POLLAD была выполнена на сервере DC1, с кодом «Выполнена успешна». Но в EVent сообщения с кодом 4602 не было.
На сервере DC2 в реестре прописывал в реестре вот это
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDFSRParametersSysVolsSeeding SysVolsParent Computer”
Hello,
I am attempting to do a send an email within an asp page from a submit button however I continue to get Microsoft VBScript compilation (0x800A0400) Expected statement. Any assistance….
Here is the code. — Its an ASP page
<%
Rcpt = zdavidson@testing.com
‘Rcpt = Chr(34) & Requestor_FName & Chr(34) & Requestor_LName & Chr(34) & «<» & Email & «>»
Set objMessage = CreateObject(«CDO.Message»)
objMessage.Subject = «Access Request»
objMessage.From = «»»Reporting»
objMessage.To = Rcpt
objMessage.CC = «zdavidson@testing.com »
objMessage.TextBody = «Please review registation request for testing.»
objMessage.Configuration.Fields.Item _
(«http://schemas.microsoft.com/cdo/configuration/sendusing») = 2
‘Name or IP of Remote SMTP Server objMessage.Configuration.Fields.Item _ («http://schemas.microsoft.com/cdo/configuration/smtpserver») = «123.555.26.4»
‘Server port (typically 25) objMessage.Configuration.Fields.Item _ («http://schemas.microsoft.com/cdo/configuration/smtpserverport») = 25
objMessage.Configuration.Fields.Update ‘==End remote SMTP server configuration section== objMessage.Send End Sub
%>