Назад | Перейти на главную страницу

Изменить расположение подключенного диска с помощью VBScript при входе в систему

У меня есть сценарий, применяемый групповой политикой, который запускается при входе пользователя в систему, чтобы удалить определенные подключенные диски, если они существуют, а затем переназначить их. Вот пример сценария:

Option Explicit
Dim WshNetwork, objUser, objNetwork
Dim strRemotePath1
Dim strDriveLetter1

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objNetwork = CreateObject("WScript.Network")

on error resume next

strDriveLetter1 = "H:"

WshNetwork.RemoveNetworkDrive strDriveLetter1, True, True

strRemotePath1 = "\\LocationA\hr"

objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1, true

Wscript.Quit

Скрипт работает, когда я запускаю его двойным щелчком. Если я изменю переменную strRemotePath1 на «\ LocationB \ hr», изменение будет выполнено, когда я дважды щелкну для запуска сценария. Диск удаляется, а затем снова добавляется с новым местоположением. Я точно знаю, что сценарий запускается, когда я вхожу в систему, о чем свидетельствует время последнего выполнения инструмента GPMT.

Однако каждый раз, когда я вхожу в систему, этот диск возвращается на прежнее место. Кешируются ли эти скрипты?

Сделай это проще. Просто удалите диск H и создайте его заново. Если H-диск не существует, команда «On Error Resume Next» обойдет ошибку и продолжит выполнение сценария.

при ошибке Возобновить Далее

Установите wn = Wscript.CreateObject ("WScript.Network")

Установите fs = WScript.CreateObject ("Scripting.FileSystemObject")

Если fs.DriveExists ("H:") = True, то wn.RemoveNetworkDrive "H:", true, true

wn.MapNetworkDrive "H:", "\ LocationA \ hr"

Майк

Я второй WScript.Sleep, но вы можете попробовать и более длительный период времени. Недавно у меня был сценарий, который отслеживал текстовые файлы, помещенные в папку. При ожидании, я думаю, 300 он все равно пропускал файлы. Я увеличил это значение до 1000 (полная секунда), и это устранило мою проблему.

Попробуйте добавить задержку между извлечением диска и добавлением диска.

wscript.sleep 300

Посмотрим, поможет ли это.

Проблема оказалась до неприличия простой. У меня был другой сценарий в другом объекте групповой политики, который отображал его в старом месте, о котором я не знал. Я исправил эту ситуацию и, конечно же, все заработало.

Спасибо за помощь.