Windows: Перенос сетевых папок (шар) с одного компьютера на другой

В Windows список опубликованных сетевых папок (и общих принтеров), вместе с их настройками и разрешениями хранится в ветке реестра HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares. Служба LanManServer при запуске читает содержимое этой ветки и публикует все перечисленные там сетевые папки. Эту особенность можно использовать, когда вам нужно перенести (мигрировать) общие сетевые папки с одного компьютера (сервера) Windows на другой.

Просмотреть список общих сетевых папок в Windows можно с помощью команд:

net share

Или

Get-SmbShare

net share - список сетевых папок на компьютере

В данном случае у нас на компьютере, кроме стандартных общих административных шар (и двух принтеров), опубликованы 3 сетевые папки (Docs, ISO, Scripts).

Теперь откроем редактор реестра и перейдем в ветку HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares .

Настройки сетевых папок в реестре

Здесь хранятся настройки и разрешения всех опубликованных папок. Если открыть содержание параметра реестра с именем сетевой папки, можно увидеть настраиваемые параметры:

  • CATimeout – таймаут ожидания подключения клиента при сбое
  • CSCFlags – разрешено ли офлайн кэширование файлов (автономные файлы)
  • MaxUses – максимальное число одновременных сетевых подключений
  • Path – локальный путь к папке содержимое, которой публикуется по сети
  • Permissions – права доступа к сетевой папке — Share Permissions (не путать с NTFS разрешениями)
  • ShareName – имя сетевой папки
  • Type – тип общего ресурса ( 0 для сетевых папок)

Во вложенной ветке HKLM\CurrentControlSet\Services\LanmanServer\Shares\Security для каждой сетевой папки хранится настройки безопасности, определяющие кто и какие операции может выполнять с сетевыми папками (используется формат SECURITY_DESCRIPTOR, который включает DACL и SIDы учетных записей/групп)

Разрешения сетевой папки хранятся в реестре

Можно вывеси назначенные права (дескрипторы безопасности) сетевой папки с помощью PowerShell:

Get-SmbShareAccess docs

Get-SmbShareAccess - вывести права доступа на общую папку

Таким образом, если вы хотите перенести список сетевых папок с настройками на другой компьютер, нужно экспортировать содержимое этой ветки реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares в REG файл.

Экспорт ветки реестра в REG файл

Затем откройте REG файл в любом текстовом редакторе и удалите из него записи для всех административных папок, принтеров и шар, которые вы не хотите переносить (в нашем примере мы оставили только папки ISO и Docs).

перенос сетевых папок между компьютерами

Сохраните REG файл и скопируйте его на компьютер, на котором вы хотите создать аналогичные сетевые папки.

Определитесь, как вы будете переносить сами файлы и папки со старого сервера на новый:

  • Если вы выполняете миграцию файлового сервера с одной виртуальной машины, на другую, достаточно будет переподключить к новой ВМ старый диск с файлами и назначить ту же самую букву диска
  • Для копирования всех файлов и каталогов между отдельными серверами вместе с NTFS разрешениями можно использовать встроенную утилиту robocopy. Следующая команда обеспечивает копирование файлов, папок с разрешениями NTFS и настройками аудита файлов: robocopy f:\docs \\srv2\f$\docs /MIR /COPYALL /B /E /Z /R:2 /W:5 /LOG:f:\docs_copy.log
  • Настроить второй сервер как копию через DFS (более сложный путь)

Дважды щелкните по REG файлу, чтобы импортировать его настройки на целевом компьютере.

Импорт reg файла

Проверьте что новые сетевые папки появились в реестре на новом компьютере. Они пока фактически не опубликованы. Если нужно, вы в реестре можете отредактировать путь к локальной папке, если он отличается от исходного.

Миграция сетевой папки на другой компьютер Windows - замена пути к папке

Чтобы заставить службу LanmanServer перечитать список сетевых папок из реестра и опубликовать импортированные вами шары, нужно создать и удалить любую сетевую папку на компьютере, или просто перезапустить службу:

Restart-Service server

перезапуск службы LanmanServer

Проверьте, что на компьютере появились перенесенные вами общие папки (если указанные в реестре пути к папкам фактически не существуют на новом компьютере, такие сетевые папки опубликованы не будут).

Сетевые папки перенесены на другой сервер

Также вы можете использовать эту методику для резервного копирования и восстановления ресурсов общих сетевых шар на компьютере.

Сохранить текущие настройки общих папок в REG файл:

reg export HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares %UserProfile%\Documents\MyShares.reg

Восстановить список сетевых папок из резервной копии:

reg import %UserProfile%\Documents\MyShares.reg

Для резервного копирования NTFS разрешений объектов можно использовать утилиту icacls.

Предыдущая статья Следующая статья


Комментариев: 14 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)