Перейменування мережного диска.
Коли ви підключаєте мережеву папку у вигляді диска, то провідник 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 ;
В будь-якому випадку результат буде таким.