Estoy atrapado en una situación bastante funky. En pocas palabras, estoy intentando eliminar / desconectar una unidad de red utilizando un script VB.NET, sin éxito por ahora. Llamaremos a esta unidad V, y solía almacenarse en un servidor remoto, ya no existe.
La ruta de destino de esa unidad de red se eliminó y, por lo tanto, no es posible localizarla, por lo que queremos eliminarlo de nuestras estaciones de trabajo. Como dije, V se almacenó en un servidor remoto ... pero de alguna manera en "Mi PC" se identifica como una Unidad de Disco Duro (es decir, local, como C :). Interactuar con V, ya sea haciendo clic o mediante un script, producirá el siguiente error:
la conexión de red no existe
Para eliminarlo, he creado este simple script:
driveLetter = "V:" ruta = "***" 'oculta por razones de seguridad mapDrives (objNetwork, driveLetter, ruta)
'---
Sub mapDrives (ByVal objNetwork, ByVal driveLetter, ByVal path) Console.WriteLine ("") Tratar Console.WriteLine ("Disconnecting old" & amp; driveLetter & amp; "...") objNetwork.RemoveNetworkDrive (driveLetter) Console.WriteLine (driveLetter & amp; "desconectado.")
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
Usando powershell, verifico si esa unidad está ahí o no. Escribo gdr -PSProvider 'FileSystem', que devuelve una lista de todas las unidades disponibles, tanto locales como remotas. Obtengo todos los discos, tanto locales como remotos. V no es parte de esa lista.
El siguiente paso compruebo en el registro bajo HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ MountPoints2 para ver si hay alguna entrada de basura allí que no se haya eliminado. Todas las entradas se corresponden con unidades de red activas; V no está ahí.
Luego intenté ejecutar varios comandos de uso de red, por ejemplo, para acceder / eliminar la unidad. Los siguientes errores se producen alternativamente:
El nombre del dispositivo local ya está en uso (cuando se intenta eliminar) No se pudo encontrar la conexión de red (whw
A continuación, intento simplemente volver a asignar V: a alguna otra ubicación remota existente. Obtuve el siguiente error:
Básicamente, todo me dice que V no está allí y, por lo tanto, debería estar disponible, sin embargo, todavía aparece como un disco local y no es posible interactuar con él, ni mapearlo en otro lugar. Tampoco aparecerá cuando intente ocultarlo a través de la política de grupo.
Para su información, nuestras estaciones de trabajo ejecutan Windows 7 y el script se realizó en VBNET. Solía estar escrito en VBS, que pensamos que podría ser el problema y, por lo tanto, lo migré a VBNET. El script funcionará bien con cualquier otro disco.
¿Alguna sugerencia? :) ¡gracias por adelantado!