VBNET elimina la unidad de red: no existe conexión de red / el nombre del dispositivo local ya está en uso


0

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!


Esto parece una pregunta de Stackoverflow siempre que se haya proporcionado el código. No podemos ayudar con las preguntas de programación aquí en Superusuario.
Ramhound

@Ramhound, un usuario de StackOverflow me sugirió que publique mi caso aquí en SuperUser, debido a que no es un problema de programación. Es un problema de administración del sistema que tiene que ver con la asignación de unidades.
sl4v1k
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.