|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Нужен VBS скрипт для GPO (мапинг сетевого диска, запуск файла, отключение диска) |
|
VBS/WSH/JS - [решено] Нужен VBS скрипт для GPO (мапинг сетевого диска, запуск файла, отключение диска)
|
![]() Ветеран Сообщения: 2174 |
Помогите написать скрипт:
необходимо в при запуске ПК (до логина пользователя, т.е. когда обрабатывается GPO ПК) выполнение несложного vbs скрипта который делает следующее: 1. мапит диск \\server\script 2. выполняет определённую команду или запускает файл (exe) 3. отключает диск единственное что ещё хотелось бы предусмотреть это возможность недоступности сервера по пути и в этом случае просто завершения работы скрипта без создания лог файла с ошибкой. Я даже более чем уверен что что-то подобное уже реализовывалось, поделитесь кодом. P.S. Само собой что данный скрипт выполняется в сети домена. P.P.S. Скрипт должен быть совместим, т.е. выполняться на Windows XP/Vista/7/2008/2008R2. P.P.P.S. Поиск в Интернете и на форуме дал только код для решения отдельных элементов задачи, а решение задачи в целом не нашёл. Вот примеры, того чего нашёл: Подключить сетевой диск из VBScript Отключить сетевой диск из VBScript Или вот ещё: Данный скрипт подключает расшареную папку (\\server\shared) на диск X: Запуск файла |
|
------- Отправлено: 10:40, 04-05-2010 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата Anton04:
Set WShell = CreateObject("Wscript.Shell") Set WshNetwork = CreateObject("WScript.Network") 'Создаем объект WshNetwork Mess_Off = NetDiskUnMap("S:") Mess_On = NetDiskMap("S:", "\\Server\Resurs") If Mess_On = "yes" Then Sending = WShell.Run("C:\\WINDOWS\\system32\\notepad.exe", 1, True) Mess_Off = NetDiskUnMap("S:") End If ' Подключение сетевого диска Function NetDiskMap(Drive, NetPath) ' Set WshNetwork = CreateObject("WScript.Network") 'Создаем объект WshNetwork On Error Resume Next WshNetwork.MapNetworkDrive Drive, NetPath If Err.Number <> 0 Then Mess = "Ошибка при подключении диска " + Drive + vbCrLf + "Код ошибки: " + CStr(Err.Number) + vbCrLf + "Описание: " + Err.Description MsgBox Mess, 16, "Подключение сетевого диска" Else Mess = "yes" End If On Error GoTo 0 NetDiskMap = Mess ' MsgBox Mess, 16, "Подключение сетевого диска" End Function ' Отключение сетевого диска Function NetDiskUnMap(Drive) ' Set WshNetwork = CreateObject("WScript.Network") 'Создаем объект WshNetwork On Error Resume Next WshNetwork.RemoveNetworkDrive Drive If Err.Number <> 0 Then Mess = "Ошибка при отключении диска " + Drive + vbCrLf + "Код ошибки: " + CStr(Err.Number) + vbCrLf + "Описание: " + Err.Description Else Mess = "yes" End If On Error GoTo 0 NetDiskUnMap = Mess ' MsgBox Mess, 64, "Отключение сетевого диска" End Function |
|
------- Отправлено: 16:15, 04-05-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 2174
|
Профиль | Отправить PM | Цитировать megaloman,
Спасибо, ![]() |
------- Отправлено: 16:59, 05-05-2010 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Anton04, Уверен, скрипт работает, но более функционально его главную часть написать в виде (определил данные в заголовке, в принципе, лучше бы вообще их передавать в аргументах при вызове, но Вы просили проcто)
DiskLetter = "S:" ' Буква сетевого диска NetPath = "\\Server\Resurs" ' Путь к расшаренной папке Program = "C:\WINDOWS\system32\notepad.exe" ' Программа для запуска после подключения сетевого диска Set WShell = CreateObject("Wscript.Shell") Set WshNetwork = CreateObject("WScript.Network") 'Создаем объект WshNetwork Mess_Off = NetDiskUnMap(DiskLetter) Mess_On = NetDiskMap(DiskLetter, NetPath) If Mess_On = "yes" Then Sending = WShell.Run(Program, 1, True) Mess_Off = NetDiskUnMap(DiskLetter) End If |
------- Отправлено: 22:14, 06-05-2010 | #4 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать А зачем
Цитата Anton04:
ГП: Конфигурация компьютера\конфигурация Windows\Сценарии(запуск\завершение)\Автозагрузка Размещенные здесь скрипты будут выполняться при запуске оси, еще до логина пользователей. Реально они живут по такому пути: "\\zup.local\SysVol\zup.local\Policies\{379ADE4E-5F7C-40C4-BA6D-D2DBAE60CB07}\Machine\Scripts\Startup" и не доступны обычным пользователям. Ну и предусматривать, как ты хотел, возможность недоступности сервера тут не надо..... ибо если недоступен сисвол, тебе ужо не до скриптов... )))) Здесь можно воткнуть пункт 2 и не парится с подключением\отключением сетевого диска, а так же обработкой ошибок этих действий, то есть оставить только пункт несущий полезную нагрузку. |
||
Отправлено: 02:50, 07-05-2010 | #5 |
![]() Ветеран Сообщения: 2174
|
Профиль | Отправить PM | Цитировать megaloman,
Элегантно и просто ![]() ![]() |
------- Отправлено: 12:14, 07-05-2010 | #6 |
![]() Ветеран Сообщения: 2174
|
Профиль | Отправить PM | Цитировать В общем самый последний вариант скрипта выглядит так (чтоб можно было ещё с аргументами запускать):
|
------- Отправлено: 15:30, 28-05-2010 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - VBS скрипт для автоматизации PreSP4 | Keir | Скриптовые языки администрирования Windows | 1 | 14-04-2010 04:27 | |
Любой язык - [решено] Нужен скрипт cmd,vbs,PowerShell для проверки списка пользователей и их удаление из AD | alex_frog | Скриптовые языки администрирования Windows | 6 | 22-07-2009 18:41 | |
VBS/WSH/JS - правильный ли скрипт для GPO? | Hooty | Скриптовые языки администрирования Windows | 1 | 18-05-2009 10:01 | |
Помогите, нужен скрипт vbs или wsh | Foxie | Microsoft Windows NT/2000/2003 | 3 | 18-01-2006 13:45 | |
VBS/WSH/JS - Хелп! Нужен скрипт на на WSH или VBS | b0bi | Программирование и базы данных | 6 | 15-06-2004 15:17 |
|