| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > Ошибка в VB-скрипте |
| Автор: YURETS 15.5.2008, 21:36 | ||
| Имеется скрипт, который прекрасно работает на XP SP3, но вываливается на ошибку на Windows 2000 SP4 RU Ошибка такая: Невозможно создание объекта контейнером ActiveX: 'Shell.LocalMachine' Скрипт такой:
В чем может быть причина и как исправить этот скрипт для работы в Windows 2000 Sp4 RU ? |
| Автор: mihanik 16.5.2008, 06:28 | ||||||
| Во-первых! Ты сначала используешь WshShell, а потом её объявляешь.
Надо делать наоборот.
Во-вторых! Далее нигде(!) WshShell не используешь!!! В-третьих! Приведи код в порядок, а потом попробуй его запустить с закоментированной строкой " On Error Resume Next". При наличии ошибок выложи их сюда. В-четвёртых! Какой сервер сценариев используется? Cscript? Wscript? В-пятых! Попробуй перерегистировать на Win 2000 скрипты
|
| Автор: YURETS 16.5.2008, 22:07 | ||
| Такой скрипт прекрасно работает в Экспи, на 2000-ом еще не проверял. Тольк не пойму, для чего нужно присваивать массивам значение Nothing. Ксати на 2000-ой станции потушена служба "Сервер", это может как-то повлиять на выполнение скрипта ?
Сервер сценариев - на XP CSCRIPT 5.7 (делал Cscript.exe //H:CScript) на 2000-ой по умолчанию WScript, 5.6 regsvr32/s vbscript.dll Это мне кажется не нужно, потому как на 2к другие скрипты прекрасно работаеют, даже 4-меговый WMIDiag.vbs завершился без ошибок. Попробую конечнор же |
| Автор: mihanik 17.5.2008, 11:13 |
Эта служба отвечает за предоставление другим компьютерам локальной сети ресурсов компьютера. Т.е. если она потушена, то другие компьютеры не могут пользоваться его расшаренными файлами и принтерами. Хотя сам комп может ходить в сеть и пользоваться ресурсами других компьютеров. С другой стороны... Ты же обращаешься к компу по имени? Возможно, что эта служба как-то и задействована в этом запросе... |
| Автор: YURETS 17.5.2008, 13:40 |
| Есть один момент, когда потушена служба сервер то невозможно например пользователю убрать или добавить права. Но переименовать пользователя и задать ему пароль можно и с потушенной службой сервера. В любом случае запрос должен сработать. В понедельник протестирую на 2K и сообщу результаты. |
| Автор: YURETS 19.5.2008, 11:52 | ||
| Не сработало :( На 2000-ой этот скрипт выругался на ошибку: Строка: 13 Символ: 2 Ошибка: 0x80005000 Код: 80005000 Источник: (null) Ему не нравится такая строка: Set objUser = GetObject("WinNT://" & strComputer & "/" & strUserName & ", user") Или что-то не находит, не может создать объект. Я вот что думаю, может быть попробовать переименовать пользователя и сменить ему пароль при помощи WMI. Что-то типа такого:
В классе Win32_UserAccount метод Rename точно существует, только как его применить ? |
| Автор: YURETS 20.5.2008, 16:10 |
| Нам рекалама не нужна, ф топку однозначно ... По теме, разобрался, там оказалось всё просто - ошибка из-за неверного количества аргументов. Добавил домен и старое имя пользователя и всё прекрасно заработало |