|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » Не запускаются vbs-сценарии с расшаренного каталога |
|
Не запускаются vbs-сценарии с расшаренного каталога
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать На рабочих станциях класса (Windows XP SP2) при запуске компьютера происходит
автоматический вход в систему с учетной записью student (одна учетная запись на всех). При входе запускается vbs-сценарий, прописанный в локальной политике, который в свою очередь запускает сценарий, расположенный на сервере (Windows Server 2003) в общей папке, следующим образом: ======================================================== Dim Shell Set Shell = WScript.CreateObject("WScript.Shell") Call Shell.Run("cscript.exe \\server\share\scripts.vbs") ======================================================== Проблема в том, что этот сценарий иногда не запускается, причем иногда на одних компьютерах, иногда на других и никакой системности в происходящем не наблюдается. С целью разобраться, что происходит изменил сценарий script.vbs следующим образом: ======================================================== Dim Network Dim FSO Dim FName Dim F Set FSO = CreateObject("Scripting.FileSystemObject") Set Network = WScript.CreateObject("WScript.Network") FName = "\\server\temp\" & UCase(Network.ComputerName) & ".log" Set F = FSO.CreateTextFile(FName, True) Call F.WriteLine("Script '" & WScript.ScriptName & "' was running at " & Now) Call F.Close ======================================================== Т.е., если сценарий отработал, то на сервере в общей папаке temp создается файл, имя которого содержит имя компьютера, на котором был запущен сценарий. Так вот, после перезагрузки 12 компьютеров класса, в папаке temp на сервере появляется обычно 3 - 4 лог-файла, причем каждый раз разные. Вот такая вот проблема. Может кто сталкивался с чем-то подобным или знает как более детально отследить процесс загрузки, чтобы понять что мешает нормальному исполнению сценариев на всех рабочих станциях. |
|
Отправлено: 09:32, 03-09-2008 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать - в какой конкретно политике прописан скрипт?
- стартовый скрипт хранится локально? если да, то проверьте сначала работу самой политики (лог на локальный диск) - если политика отрабатывает и стартовый скрипт запускается всегда, отлаживайте скрипт в интерактивном режиме под учеткой что и в политике |
Отправлено: 09:46, 03-09-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Стартовый сценарий прописан в локальной политике.
Однозначно он запускается, т.к. после вызова сценария с сервера выполняются еще действия и они наблюдаемы. Отслеживать интерактивно... тут такая проблема: при запуске _вручную_ стартового сценария, вызов сценария с сервера выполняется всегда, а вот при автоматическом запуске - нет. Добавлю еще информации: В стартовом сценарии на самом деле имеются два вызова двух различных сценариев с сервера. Вызов первого сценария осуществляется, как я уже написал, с указанием пути в формате UNC, т.е. \\server\share\script.vbs Затем идут команды подключения сетевого диска S:. Затем происходит запуск второго сценария с указанием пути в стандартном формате S:\folder\script2.vbs С целью отладки сделал тексты обоих сценариев одинаковыми, т.е. script.vbs и script2.vbs содержат следующее: ======================================================== Dim Network Dim FSO Dim FName Dim F Set FSO = CreateObject("Scripting.FileSystemObject") Set Network = WScript.CreateObject("WScript.Network") FName = "\\server\temp\" & UCase(Network.ComputerName) & ".log" Set F = FSO.CreateTextFile(FName, True) Call F.WriteLine("Script '" & WScript.ScriptName & "' was running at " & Now) Call F.Close ======================================================== Так вот, по тому, что создается в папке temp можно сделать вывод, что script2.vbs исполняется всегда, а script.vbs иногда и каждый раз на произвольных машинах. Складывается впечатление, что сервер сценариев cscript.exe в первом случае просто не успевает дождаться ответа от сервера, чтобы загрузить текст программы и завершает свою работу. |
Отправлено: 10:55, 03-09-2008 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать попробуйте запускать главный скрипт с ожиданием завершения внешних вызовов:
Dim Shell Set Shell = WScript.CreateObject("WScript.Shell") Call Shell.Run("cscript.exe \\server\share\scripts.vbs",1,true) |
Отправлено: 11:29, 03-09-2008 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Ожидание завершения работы сценария не дало положительных результатов.
Зато все заработало после установки пятисекундной задержки: Dim Shell Set Shell = WScript.CreateObject("WScript.Shell") WScript.Sleep(5000) Call Shell.Run("cscript.exe \\server\share\scripts.vbs") Все равно вопрос остался: что же мешает нормальной работе сценария? |
|
Отправлено: 13:35, 04-09-2008 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Помогите редактировать Autorun_Disable.vbs на Autorun_Enable.vbs | nod201 | Скриптовые языки администрирования Windows | 0 | 05-12-2009 05:44 | |
вирус и червь VBS/Small.k,VBS/Small.NAB | zelen | Лечение систем от вредоносных программ | 1 | 25-12-2008 10:44 | |
Драйвер - Не удается изменить настройки печати расшаренного принтера | harrique | Microsoft Windows Vista | 0 | 22-01-2008 10:59 | |
Доступ - [решено] Долгая установка сетевого принтера, расшаренного на Windows 98 | Triplex | Microsoft Windows 2000/XP | 14 | 26-04-2007 09:36 |
|