Переподключение сетевых дисков через VBS

Разное

Иногда возникает задача переподключить сетевые диски на многих компьютерах, часто даже неизвестно на каких. Например сменился путь, а диски до этого подключались вручную, по мере необходимости. Оббегать всех считаю глупым занятием, обычно затягивающимся на несколько дней. Так как компьютеров у нас много, то вероятнее всего доменная структура.

В моём случае все так и получилось, путь изменился, кому подключали — неизвестно, да ещё и глюк сетевой случился, отвалился диск у некоторых, ждать когда завалят заявками и звонками считаю долго, поэтому написал небольшой скрипт.

Скрипт не мой, всего лишь собранный из нескольких для моих нужд, хотя довольно простой.

‘Скрипт проверяет наличие сетевого диска и при его наличии переподключает его
‘Объявление переменных
Dim FSO,strDriveName
Dim objNetwork
Dim strLocalDrive, strRemoteShare
‘Создание объектов
Set FSO = WScript.CreateObject(«Scripting.FileSystemObject»)
Set objNetwork = WScript.CreateObject(«WScript.Network»)
‘Присваиваем значения переменным
strDriveName = «V:»
strRemoteShare = «\local.domainapsfiles»
if FSO.DriveExists(strDriveName) Then
‘переподключаем диск
objNetwork.RemoveNetworkDrive strDriveName, True, True
objNetwork.MapNetworkDrive strDriveName, strRemoteShare, True
‘ведём лог
Dim fsolog, tf, adsinfo, oUser
Set adsinfo = CreateObject(«adsysteminfo»)
Set oUser = GetObject(«LDAP://» & adsinfo.UserName)
Set fsolog = CreateObject(«Scripting.FileSystemObject»)
Set tf = fsolog.OpenTextFile(«\fs1logonoff$MountDriveV.log», 8, True)
tf.WriteLine(CStr(Now) & «|» & oUser.fullname)
tf.Close
end if

Работа скрипта проста. Проверяется есть ли диск с таким именем. Если нету, то ничего и не происходит, если есть, то он, отключается, заново подключается, в лог пишется событие, содержащее время и полное имя пользователя. Все, осталось засунуть скрипт в групповые политики, при входе пользователя в систему.

Оцените статью
Добавить комментарий