Я застрял в довольно странной ситуации. Короче говоря, я пытаюсь удалить / отключить сетевой диск с помощью сценария VB.NET, но пока безуспешно. Мы назовем этот диск V, и он раньше хранился на удаленном сервере - он больше не существует.

Целевой путь этого сетевого диска был удален, и, следовательно, его невозможно найти, поэтому мы хотим удалить его с наших рабочих станций. Как я уже говорил, V хранился на удаленном сервере ... но как-то в «Моем компьютере» он обозначается как жесткий диск (то есть локальный, как C:). Взаимодействие с V при нажатии или с помощью скрипта приведет к следующей ошибке:

сетевое соединение не существует

Чтобы удалить его, я создал этот простой скрипт:

driveLetter = "V:" path = "***" 'скрыт в целях безопасности mapDrives(objNetwork, driveLetter, path)

«---

Sub mapDrives(ByVal objNetwork, ByVal driveLetter, ByVal path) Консоль.WriteLine("") Попробуйте консоль.WriteLine("Отключение старого" & driveLetter & «...») objNetwork.Консоль RemoveNetworkDrive(driveLetter).WriteLine(driveLetter & "отключено")

Catch ex As Exception
    Console.WriteLine(ex.Message)
End Try

Try
    Console.WriteLine(" Mapping new " & driveLetter & "...")
    objNetwork.MapNetworkDrive(driveLetter, path)
    Console.WriteLine(driveLetter & " mapped successfully.")
Catch ex As Exception
    Console.WriteLine(ex.Message)
End Try

Используя powershell, я дважды проверяю, есть этот диск или нет. Я набираю gdr -PSProvider 'FileSystem', которая возвращает список всех доступных дисков, как локальных, так и удаленных. Я получаю все диски, как локальные, так и удаленные. V не является частью этого списка.

Следующим шагом я проверяю реестр в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2, чтобы увидеть, есть ли какая-нибудь запись мусора, которая не была удалена. Все записи соответствуют активным сетевым дискам; V не существует.

Затем я попытался запустить различные команды net use, например, для доступа / удаления диска. В качестве альтернативы вызываются следующие ошибки:

Имя локального устройства уже используется (при попытке удалить) Не удалось найти сетевое соединение (whw

Затем я пытаюсь просто переназначить V: в другое существующее удаленное местоположение. Я получаю следующую ошибку:

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

К вашему сведению, наши рабочие станции работают под управлением Windows 7, и сценарий был выполнен в VBNET. Раньше он был написан на VBS, что, по нашему мнению, могло быть проблемой, и поэтому я перенес его на VBNET. Скрипт будет хорошо работать с любым другим диском.

Какие-либо предложения? :) заранее спасибо!

0