¿Encontrar la ruta UNC de una unidad de red?

112

Necesito poder determinar la ruta de la unidad de red Q en el trabajo para un proyecto WEBMethods. El código que tengo antes está en mi archivo de configuración. Coloqué letras de un solo carácter dentro de los directorios solo por razones de seguridad. No estoy seguro de para qué sirve el punto y coma, pero creo que las barras dobles son donde entra en juego el nombre de la unidad.

Pregunta: ¿Existe una manera fácil en una máquina con Windows 7 de averiguar cuál es la ruta completa del UNC para una ubicación de unidad específica?

Código:

allowedWritePaths=Q:/A/B/C/D/E/
allowedReadPaths=C:/A/B;//itpr99999/c$/A/FileName.txt
allowedDeletePaths=
Doug Hauf
fuente

Respuestas:

295

En Windows, si ha asignado unidades de red y no conoce la ruta UNC para ellas, puede iniciar un símbolo del sistema ( Inicio → Ejecutar → cmd.exe ) y usar el net usecomando para enumerar sus unidades asignadas y sus rutas UNC:

C:\>net use
New connections will be remembered.

Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           Q:        \\server1\foo             Microsoft Windows Network
OK           X:        \\server2\bar             Microsoft Windows Network
The command completed successfully.

Tenga en cuenta que esto muestra la lista de recursos compartidos de archivos de red conectados y asignados para el contexto de usuario en el que se ejecuta el comando. Si ejecuta cmd.execon su propia cuenta de usuario, los resultados que se muestran son los archivos de red compartidos para usted. Si ejecuta cmd.execon otra cuenta de usuario, como el Administrador local, verá los recursos compartidos de archivos de red para ese usuario.

Lachlan Dowding
fuente
12
Tenga cuidado de no ejecutar cmd.exe como administrador
Dave Mateer
1
@DaveMateer podría ser una idea para decir por qué.
theyetiman
6
@theyetiman porque si ejecuta como administrador, sus asignaciones específicas de usuario no se muestran. Como acabo de descubrir
Andez
Esto es tan innecesariamente difícil
Fueled By Coffee
11

Si tiene Microsoft Office:

  1. DERECHA arrastre la unidad, carpeta o archivo desde el Explorador de Windows al cuerpo de un documento de Word o correo electrónico de Outlook
  2. Seleccione ' Crear hipervínculo aquí '

El texto insertado será el UNC completo del elemento arrastrado.

dlauzon
fuente
2
¡Qué solución tan práctica y rápida para todos nosotros en entornos corporativos cerrados ! ¡Solución alternativa muy apreciada!
Marcus Mangelsdorf
6

Esta pregunta ya ha sido respondida, pero como hay una forma más conveniente de obtener la ruta UNC y algunas más, recomiendo usar Path Copy, que es gratis y prácticamente puede obtener cualquier ruta que desee con un solo clic:

https://pathcopycopy.github.io/

Aquí hay una captura de pantalla que demuestra cómo funciona. La última versión tiene más opciones y definitivamente UNC Path también:

ingrese la descripción de la imagen aquí

Ibo
fuente
7
Por cierto, "Copiar como ruta" viene integrado con Windows (al menos 7 y 10) cuando usas Shift-Right Mouse Click para abrir el menú contextual extendido. Por desgracia, en una unidad mapeada, esto tampoco incluye la ruta UNC. Solo cuando esté mirando una ruta UNC en Explorer, copiará la ruta UNC del archivo.
mgaert
1
Creo que usar el net useque viene con el sistema operativo es más conveniente que descargar una herramienta de terceros.
shoover
1

La respuesta es una simple PowerShellfrase:

Get-WmiObject Win32_NetworkConnection | ft "RemoteName","LocalName" -A

Si solo desea extraer el UNCpara una unidad en particular, agregue una declaración where:

Get-WmiObject Win32_NetworkConnection | where -Property 'LocalName' -eq 'Z:'  | ft "RemoteName","LocalName" -A
s31064
fuente
0
$CurrentFolder = "H:\Documents"
$Query = "Select * from Win32_NetworkConnection where LocalName = '" + $CurrentFolder.Substring( 0, 2 ) + "'"
( Get-WmiObject -Query $Query ).RemoteName

O

$CurrentFolder = "H:\Documents"
$Tst = $CurrentFolder.Substring( 0, 2 )
( Get-WmiObject -Query "Select * from Win32_NetworkConnection where LocalName = '$Tst'" ).RemoteName
dieseyer
fuente