2014-01-09 2 views
1

Я пишу командный файл для сопоставления нескольких серверов с дисками на моем ПК. Используя команду NET USE, мне удалось успешно отобразить диски.Именование сетевых дисков из командной строки, а не проводника Windows

При просмотре в Проводнике Windows каждый диск показывает назначение букв и имя сервера. Я также хотел бы показать удобное для пользователя одноименное имя для каждого сервера в представлении «Проводник» (это отличается от метки тома). Я могу щелкнуть правой кнопкой мыши по каждому диску отдельно в проводнике и переименовать, но это немного затянуто.

Есть ли способ, которым эти имена могут быть назначены приводам из командной строки (и, следовательно, из пакетного файла), а не щелчка правой кнопкой мыши и переименование в Проводнике?

+0

Обратите внимание на относительно небольшое количество последователей для каждого из ваших тегов. Вероятно, вы захотите добавить его для своей версии MS-Windows. И если вы можете рассмотреть решение, использующее Powershell, добавьте к нему тег. Удачи. – shellter

ответ

2

Значение «метки» для подключенного сетевого диска хранится в реестре.

Посмотрите на HKEY_USERS \ * SID * \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ MountPoints2. Должен быть ключ, представляющий подключенный сетевой диск. Если есть значение, называемое _LabelFromReg, у вас есть пользовательский ярлык, и если его значение отсутствует, оно использует метку по умолчанию, такую ​​как Windows (\ server \ share) (Z :).

Вы также должны иметь возможность использовать групповую политику и сетевые папки и ярлыки, чтобы получить нужные метки.

2

Вы можете сделать это в Powershell, как это:

$rename = new-object -ComObject Shell.Application 
$rename.NameSpace("X:\").Self.Name = "DriveLabel" 

Просто замените X с диска-письма, на котором вы хотите установить метку.

В качестве альтернативы, если вы не хотите использовать Powershell вы можете сделать следующее:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##computername#sharename" /f /v "_LabelFromReg" /t REG_SZ /d "DriveLabel" 

Конечно, вы должны заменить имя_компьютер с имясервером, в имя_общего_ресурса с названием акции и Drivelabel с ваша метка

Смежные вопросы