Trouver le chemin UNC d'un lecteur réseau?

112

Je dois être en mesure de déterminer le chemin du lecteur réseau Q au travail pour un projet WEBMethods. Le code que j'ai auparavant est dans mon fichier de configuration. J'ai placé des lettres à un seul caractère à l'intérieur des répertoires juste pour des raisons de sécurité. Je ne sais pas à quoi sert le point-virgule, mais je pense que les doubles barres obliques sont là où le nom du lecteur entre en jeu.

Question: Existe-t-il un moyen simple sur une machine Windows 7 de savoir quel est le chemin complet de l'UNC pour un emplacement de lecteur spécifique?

Code:

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

Réponses:

295

Sous Windows, si vous avez des lecteurs réseau mappés et que vous ne connaissez pas le chemin UNC pour eux, vous pouvez démarrer une invite de commande ( Démarrer → Exécuter → cmd.exe ) et utiliser la net usecommande pour répertorier vos lecteurs mappés et leurs chemins 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.

Notez que cela affiche la liste des partages de fichiers réseau mappés et connectés pour le contexte utilisateur sous lequel la commande est exécutée. Si vous exécutez cmd.exesous votre propre compte utilisateur, les résultats affichés sont les partages de fichiers réseau pour vous-même. Si vous exécutez cmd.exesous un autre compte d'utilisateur, tel que l'administrateur local, vous verrez à la place les partages de fichiers réseau pour cet utilisateur.

Lachlan Dowding
la source
12
Faites attention de ne pas exécuter cmd.exe en tant qu'administrateur
Dave Mateer
1
@DaveMateer pourrait être une idée pour dire pourquoi?
theyetiman
6
@theyetiman parce que si vous exécutez en tant qu'administrateur - vos mappages spécifiques à l'utilisateur ne s'affichent pas. Comme je viens de le découvrir
Andez
C'est tellement inutilement difficile
Alimenté par le café
11

Si vous avez Microsoft Office:

  1. DROITE - faites glisser le lecteur, le dossier ou le fichier de l'Explorateur Windows dans le corps d'un document Word ou d'un e-mail Outlook
  2. Sélectionnez « Créer un lien hypertexte ici »

Le texte inséré sera le UNC complet de l'élément déplacé.

dlauzon
la source
2
Quelle solution pratique et rapide pour nous tous dans les environnements de verrouillage d'entreprise ! Solution de contournement très appréciée!
Marcus Mangelsdorf
6

Cette question a déjà reçu une réponse, mais comme il existe un moyen plus pratique d'obtenir le chemin UNC et bien plus, je recommande d'utiliser Path Copy, qui est gratuit et vous pouvez pratiquement obtenir le chemin que vous voulez en un seul clic:

https://pathcopycopy.github.io/

Voici une capture d'écran montrant comment cela fonctionne. La dernière version a plus d'options et certainement UNC Path aussi:

entrez la description de l'image ici

Ibo
la source
7
BTW, "Copier comme chemin" est intégré à Windows (au moins 7 et 10) lorsque vous utilisez Maj-clic droit de la souris pour afficher le menu contextuel étendu. Hélas, sur un lecteur mappé, cela n'inclut PAS non plus le chemin UNC. Ce n'est que lorsque vous regardez un chemin UNC dans l'Explorateur qu'il copiera le chemin UNC du fichier.
mgaert
1
Je pense que l'utilisation du net usesystème d'exploitation fourni avec le système d'exploitation est plus pratique que le téléchargement d'un outil tiers.
shoover
1

La réponse est un simple PowerShellone-liner:

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

Si vous souhaitez uniquement extraire le UNCpour un lecteur particulier, ajoutez une instruction where:

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

OU

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