Найти UNC-путь сетевого диска?

113

Мне нужно определить путь к сетевому диску Q на работе для проекта WEBMethods. Код, который у меня был раньше, находится в моем файле конфигурации. Я поместил односимвольные буквы внутри каталогов просто из соображений безопасности. Я не уверен, для чего нужна точка с запятой, но я думаю, что двойная косая черта - это имя диска.

Вопрос: есть ли простой способ на компьютере под управлением Windows 7 узнать, каков полный путь к UNC для любого конкретного места на диске?

Код:

allowedWritePaths=Q:/A/B/C/D/E/
allowedReadPaths=C:/A/B;//itpr99999/c$/A/FileName.txt
allowedDeletePaths=
Дуг Хауф
источник

Ответы:

296

В Windows, если вы подключили сетевые диски и не знаете UNC-путь к ним, вы можете запустить командную строку ( Пуск → Выполнить → cmd.exe ) и использовать net useкоманду для вывода списка подключенных дисков и их 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.

Обратите внимание, что это показывает список сопоставленных и подключенных общих сетевых папок для пользовательского контекста, в котором выполняется команда. Если вы работаете cmd.exeпод своей собственной учетной записью, показанные результаты являются вашими общими сетевыми файлами. Если вы работаете cmd.exeпод другой учетной записью пользователя, такой как локальный администратор, вместо этого вы увидите общие сетевые файлы для этого пользователя.

Лахлан Даудинг
источник
12
Будьте осторожны, не запускайте cmd.exe от имени администратора
Дэйв Матир
1
@DaveMateer может быть идеей сказать почему?
heetiman
6
@theyetiman, потому что если вы работаете от имени администратора, ваши пользовательские сопоставления не отображаются. Как я только что узнал
Андез
Это так излишне сложно
Fueled By Coffee
11

Если у вас есть Microsoft Office:

  1. ВПРАВО - перетащите диск, папку или файл из проводника Windows в текст документа Word или электронной почты Outlook.
  2. Выберите " Создать здесь гиперссылку ".

Вставленный текст будет полным UNC перетаскиваемого элемента.

Длаузон
источник
2
Какое практичное и быстрое решение для всех нас в корпоративной изолированной среде ! Большое спасибо за обходное решение!
Маркус Мангельсдорф
6

На этот вопрос уже был дан ответ, но, поскольку существует более удобный способ получить путь UNC и еще несколько, я рекомендую использовать Path Copy, который является бесплатным, и вы можете получить практически любой путь одним щелчком мыши:

https://pathcopycopy.github.io/

Вот скриншот, демонстрирующий, как это работает. В последней версии есть больше опций и, безусловно, UNC Path:

введите описание изображения здесь

Ибо
источник
7
Кстати, «Копировать как путь» встроено в Windows (по крайней мере, 7 и 10), когда вы используете Shift-щелчок правой кнопкой мыши, чтобы вызвать расширенное контекстное меню. Увы, на подключенном диске это также НЕ включает путь UNC. Только когда вы смотрите на UNC-путь в проводнике, он копирует UNC-путь к файлу.
mgaert 08
1
Я думаю, что использовать тот, net useкоторый идет в комплекте с ОС, удобнее, чем скачивать сторонний инструмент.
Shoover
2

Ответ простой PowerShellоднострочный:

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

Если вы хотите получить только UNCодин конкретный диск, добавьте оператор where:

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

ИЛИ

$CurrentFolder = "H:\Documents"
$Tst = $CurrentFolder.Substring( 0, 2 )
( Get-WmiObject -Query "Select * from Win32_NetworkConnection where LocalName = '$Tst'" ).RemoteName
Dieseyer
источник