Заметки о Windows и других программных продуктах Microsoft...

Переименование сетевого диска

Переименование сетевого диска

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

К примеру, есть общая папка ″\\HOMEPС\shared folder\documents\personal″. Когда я подключаю ее как сетевой диск X, то в проводнике она отображается следующим образом.

имя диска до переименования

 

Согласитесь, что выглядит это не очень красиво, а кроме того, неинформативно для пользователя. Гораздо правильней будет выдать диску имя, по которому пользователь сможет его легко идентифицировать.

Но тут есть одна проблема. Если диск подключался вручную, то его легко можно переименовать с помощью проводника. А вот при централизованном подключении, например скриптом, выдать диску имя сложнее. Ни PowerShell, ни старая добрая утилита NET USE не умеют переименовывать сетевые диски.

А откуда проводник берет имя диска? Как выяснилось, после подключения сетевого диска в реестре по адресу HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 создаётся раздел с информацией о сетевом диске. Имя раздела соответствует сетевому пути, в котором вместо слеша стоит знак решетки. Так в нашем примере имя раздела ##HOMEPС#shared folder#documents#personal. А за имя диска, отображающееся в проводнике, отвечает параметр _LabelFromReg, находящийся в этом разделе.

параметр реестра, отвечающий за имя диска

 

Для примера при подключении дадим нашему диску имя ″Мои документы″. Для этого есть два способа.

Способ первый — просто отредактировать реестр, изменив значение параметра _LabelFromReg. Для подключения диска и его переименования воспользуемся такими командами:

$FolderPath = '\\HOMEPC\shared folder\documents\personal';
$FolderName = 'Мои документы';
$RegPath = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##HOMEPC#shared folder#documents#personal';
New-PSDrive -Name X -Root $FolderPath -PSProvider FileSystem;
New-ItemProperty -Path $RegPath -Name _LabelFromReg -Value $FolderName -Force;

Способ второй — использовать сервер сценариев Windows (WSH). В этом случае команды для подключения будут выглядеть так:

$FolderPath = '\\HOMEPC\shared folder\documents\personal';
$FolderName = 'Мои документы';
New-PSDrive -Name X -Root $FolderPath -PSProvider FileSystem;
$shell = New-Object -ComObject Shell.Application;
$shell.NameSpace("X:").Self.Name = $FolderName;

В любом случае результат будет таким.

имя диска после переименования

 

 
 
Комментарии
Александр

Спасибо за второй вариант, знал только первый, правда делал немного не так, т.к. делал через bat файл и соответственно команды выглядели немного не так:

net use r: /delete
net use r: «\\remot\shared$» /persistent:no
set reg_path=»HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##remot#shared$»
reg add %reg_path% /v _LabelFromReg /t REG_SZ /d «Секретная папка» /f

Какова роль этой команды — net use r: /delete ?

Андрей

правой кнопкой на пуск -> система -> переименовать ПК

Что вы несете?

Leave a Reply to Лунь