|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » Windows Scripting Host trouble... |
|
|
Windows Scripting Host trouble...
|
Пользователь Сообщения: 69 |
Профиль | Отправить PM | Цитировать Привет всем!!!
Народ, кто сталкивался с WSH - помогите..... Пытаюсь подключить сетевой диск, предварительно удалив старый, делаю: JScript: var Network = WScript.CreateObject("WScript.Network" Network.RemoveNetworkDrive ("O:" Network.MapNetworkDrive ("O:", "\\\\krrunion\\user" При запуске выдает ошибку: "Локальное имя устройства уже используется для подключения к другому сетевому ресурсу" Получается, что Network.RemoveNetworkDrive ("O:" отрабатывает, а Network.MapNetworkDrive ("O:", "\\\\krrunion\\user" - нехочет, ругается......... В чем проблема, не пойму?! Помогите..... З.Ы. Да, кстати паузу между этими коммандами я пробовал ставить - тоже не помогает |
|
------- Отправлено: 09:35, 05-11-2003 |
Старожил Сообщения: 185
|
Профиль | Отправить PM | Цитировать команды
net use o: /del net use o: \\krrunion\user выполняются успешно? Хорошо бы перехватывать ошибку в строке Network.RemoveNetworkDrive ("O:" если О: не подключен. У меня этот скрипт выполняется без проблем. |
------- Отправлено: 13:48, 05-11-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать 2DAnG
Да в том то и дело, что net use выполняется успешно, а вот Network.MapNetworkDrive ("O:", "\\\\krrunion\\user" - нет. ?! До использования Network.RemoveNetworkDrive ("O:" выполняется проверка подключен ли сетевой диск, аль нет, так что тут проблем никаких..... Такое ощущение что WSH просто не могёт подряд выполнять команды RemoveNetworkDrive и MapNetworkDrive ??? |
------- Отправлено: 14:35, 05-11-2003 | #3 |
Старожил Сообщения: 185
|
Профиль | Отправить PM | Цитировать Сорри, поторопился с ответом.
Расследование показало, что нужно использовать Network.RemoveNetworkDrive ("O:",1,1); Цитата:
|
|
------- Отправлено: 21:22, 05-11-2003 | #4 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать 2DAnG
Во спасибо, выручил.......последние два параметра оказались как нельзя кстати Да, кстати, а ты пробовал подключать сетевые принтеры через метод AddWindowsPrinterConnection? Насколько я понял можно подключать только те принтеры, которые непосредственно подключены к машине на базе NT. А у меня в сети подавляющее большинство машин с 98-й виндой и этот метод не отрабатывает......при попытке подключения AddWindowsPrinterConnection("\\\\CompName\\EPSON" пишет: "The remote server machine does not exist or is unavailable", хотя эта машина есть и доступ к ней тоже есть и принтер расшаренный и все такое......... Может сталкивался?! |
|
------- Отправлено: 10:03, 06-11-2003 | #5 |
Ветеран Сообщения: 935
|
Профиль | Отправить PM | Цитировать To Mr Dan:
Объяните чайнику: Прочитал ваши письма, вдохновился, скопировал следующие строки в файл FFF.js var Network = WScript.CreateObject("WScript.Network" Network.RemoveNetworkDrive ("n:",1,1); Network.MapNetworkDrive ("n:", "\\\\comp1\\c$" щелкнул дважды по этому файлу и получил ошибку во второй строке (символ 1), недоступный сетевой диск Что я сделал не так? Команда net use n: \\comp1\c$ исправно срабатывает и подключает сетевой диск N. Естественно, когда запускаю *.js n-диска нет. Вообще зачем вторая строка? Пробовал ее переставить третьей - не помогло. Функцию Block Scripting в Norton АV отключил, может ее надо отключать и на компе, куда подключаешься? [s]Исправлено: SergOst, 14:58 6-11-2003[/s] |
Отправлено: 13:56, 06-11-2003 | #6 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать 2SergOst
Если тебе просто нужно подключить диск, делаешь Network.MapNetworkDrive ("n:", "\\\\comp1\\c$", без Network.RemoveNetworkDrive ("n:",1,1). В твоём же случае получается, что сначала выполняется команда *Network.RemoveNetworkDrive ("n:",1,1), которая пытается отключить диск n: , но поскольку диска n: у тебя нету, она тебе и ругается, грит мол недоступный сетевой диск. Делай так: var Network = WScript.CreateObject("WScript.Network" Network.MapNetworkDrive ("n:", "\\\\comp1\\c$" и все должно быть ОК. З.Ы. А вобще при желании можешь написать ф-ю которая бы сначала проверяла подключен ли уже сетевой диск или нет, а потом в зависимости от результата действуешь.... Например моя ф-я выглядит так: function CheckNetworkMapping(DriveLetter,Path) *// Возвращаемые значения: * * // 0 - диск не найден * * // 1 - диск найден, но несоответствует Path * * // 2 - диск найден и соответствует Path * *var Bool; * *var Result; * * Bool = false; * *var Drives = Network.EnumNetworkDrives(); * *for(var i = 0; i < Drives.length; i += 2) * *{ * * *if(Drives.Item(i).toLowerCase() == DriveLetter.toLowerCase()) * * * { Bool = true; if(Drives.Item(i+1).toLowerCase()==Path.toLowerCase()) Result = 2; else Result = 1; * * * * break; * * * } * *} * *if(Bool) * * return Result * *else * * return Result = 0; * } |
------- Отправлено: 14:40, 06-11-2003 | #7 |
Ветеран Сообщения: 935
|
Профиль | Отправить PM | Цитировать To Mr Dan
Спасибо, все получилось с подключением-отключением. А эту функцию тоже можно в *.js файл запихать и в нем вызывать? функция не совсем понятна: что имеется в виду под Path, когда диск подключен? UNC имя что-ли? (в моем случае \\comp1\c$ ?) Если да, то оно прямо так в кавычках строкой и подставляется в вызов функции, как и "n:"? |
Отправлено: 18:09, 06-11-2003 | #8 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать 2SergOst
>> А эту функцию тоже можно в *.js файл запихать и в нем вызывать? Using Windows Script Files (.wsf) A Windows script (*.wsf) file is a text document containing Extensible Markup Language (XML) code. It incorporates several features that offer you increased scripting flexibility. Because Windows script files are not engine-specific, they can contain script from any Windows Script compatible scripting engine. They act as a container. With .wsf files, you can take advantage of the following features as you create your scripts: .wsf files support Include statements, Multiple engines,Type libraries, Tools,Multiple jobs in one file. Include Statements If you have .js and .vbs files from previous Windows Script Host projects, a .wsf file enables you to use them with Windows Script Host. A .wsf file encapsulates a library of functions that can in turn be used by multiple .wsf files. The following example shows a .wsf file that includes a JScript file (fso.js), plus a VBScript function that calls a function (GetFreeSpace) in the included file. The contents of fso.js are also shown. <job id="IncludeExample"> <script language="JScript" src="FSO.JS"/> <script language="VBScript"> ' Get the free space for drive C. s = GetFreeSpace("c:" WScript.Echo s <sScript> </job> The fso.js file contains the following: function GetFreeSpace(drvPath) { var fs, d, s; fs = new ActiveXObject("Scripting.FileSystemObject" d = fs.GetDrive(fs.GetDriveName(drvPath)); s = "Drive " + drvPath + " - " ; s += d.VolumeName; s += " Free Space: " + d.FreeSpace/1024 + " Kbytes"; return s; } >>функция не совсем понятна: что имеется в виду под Path, когда диск подключен? UNC имя что-ли? (в моем случае \\comp1\c$ ?) >>Если да, то оно прямо так в кавычках строкой и подставляется в вызов функции, как и "n:"? Под Path имеется в виду UNC имя, записывается в кавычках, например CheckNetworkMapping("n:","\\\\disk\\dir" |
------- Отправлено: 18:49, 06-11-2003 | #9 |
Старожил Сообщения: 185
|
Профиль | Отправить PM | Цитировать Mr Dan
Цитата:
P.S. я не спец по WSH, и не очень его люблю за громоздкость. perl, имхо, гораздо симпатичнее |
|
------- Отправлено: 19:01, 06-11-2003 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - Host process for windows service пожиратель трафика | antikiller_bm | Microsoft Windows 7 | 21 | 03-11-2012 21:29 | |
Host process for windows service пожиратель трафика | antikiller_bm | Лечение систем от вредоносных программ | 1 | 27-09-2009 21:58 | |
bash scripting | Flick | Программирование в *nix | 5 | 06-06-2007 18:37 | |
Windows Script Host + Unattended Installation | Debugger | Автоматическая установка Windows 2000/XP/2003 | 5 | 23-12-2004 07:34 | |
Windows Script Host | Dennis | Сетевые технологии | 1 | 04-03-2003 14:19 |
|