Гид по технологиям

Перенос NTFS-разрешений с помощью PowerShell

• 5 min read • Администрирование • Обновлено 24 Nov 2025
Перенос NTFS‑разрешений через PowerShell
Перенос NTFS‑разрешений через PowerShell

Логотип PowerShell

Быстрые ссылки

  • Использование PowerShell для переноса разрешений
  • Резюме

Введение

При миграции файлов между серверами важно не только перенести сами файлы и папки, но и сохранить привязанные к ним NTFS-разрешения. Каждый файл или папка могут иметь набор записей управления доступом (ACE), формирующих списки управления доступом (ACL). При большом количестве объектов ручная корректировка прав непрактична — поэтому автоматизация через PowerShell экономит время и снижает риск ошибок.

Ключевые термины:

  • ACL — список управления доступом; набор ACE, определяющих права на объект.
  • ACE — запись управления доступом, описывающая права конкретного пользователя или группы.

Использование PowerShell для переноса разрешений

Вместо непосредственного вызова icacls удобнее воспользоваться обёрткой на PowerShell, которая упрощает экспорт и импорт прав. Сообщество PowerShell уже подготовило модуль NTFSPermissionMigration, доступный в PowerShell Gallery.

Предварительные требования:

  • PowerShell 4.0 или новее.
  • Доступ к PowerShell Gallery (интернет или локальный репозиторий).
  • Права администратора на исходном и целевом серверах для чтения/записи ACL.
  • Точная копия файлов на целевом сервере перед восстановлением прав.

Установка модуля:

PS> Find-Module -Name NTFSPermissionMigration | Install-Module

Экспорт разрешений с исходного сервера:

PS> Save-Acl -FolderPath \\OLDSERVER\FileShare -SaveFilePath C:\FilePermissions.txt

Пример выводимых сообщений:

processed file: \\OLDSERVER\FileShare\File1.txt
processed file: \\OLDSERVER\FileShare\File2.exe
Successfully processed X files; Failed processing 0 files

После завершения вы получите файл с описанием всех ACL для файлов и папок внутри исходной папки. Этот файл и будет источником для восстановления прав на новом сервере.

Восстановление разрешений на новом сервере (после того, как вы сделали точную копию всех файлов):

PS> Restore-Acl -RestoreToFolderPath \\NEWFILESERVER\FileShare -PermissionFilePath C:\FilePermissions.txt

Ожидаемый вывод:

Successfully processed XXX files; Failed processing 0 files

После этого NTFS-разрешения должны соответствовать исходным.

Советы по успешной миграции

  • Всегда выполняйте тестовый прогон на небольшой структуре папок перед массовой миграцией.
  • Убедитесь, что SID пользователей и групп доступны в целевом домене или при необходимости подготовьте соответствия SID → учётная запись.
  • Проверяйте наследование: если у исходных объектов включено наследование, целевые объекты должны иметь ту же иерархию.
  • Для удобства храните файл разрешений рядом с копией данных, но не в том же каталоге, чтобы избежать случайной перезаписи.

Альтернативные подходы и сравнение

  1. Robocopy
  • Подходит для копирования данных и попытки сохранить права на этапе копирования.
  • Ключи: /COPYALL, /SEC, /MIR. Robocopy эффективен для больших объёмов данных, но управление сложными сценариями ACL в нём менее прозрачно.
  1. Icacls
  • Встроенный инструмент Windows для экспорта и импорта разрешений.
  • Команды типа:
icacls \\OLDSERVER\FileShare /save C:\perms.txt /t
icacls \\NEWFILESERVER\FileShare /restore C:\perms.txt
  • Icacls универсален, но синтаксис и обработка некоторых ACE может сбивать с толку. Обёртка PowerShell может упростить массовую обработку и логирование.

Когда использовать что:

  • Если нужна простая копия вместе с правами — попробуйте robocopy.
  • Если нужны гибкие операции экспорта/импорта и обработка ошибок/логирование — модуль PowerShell удобнее.

Когда этот метод не сработает

  • Профили пользователей или группы отсутствуют в целевой среде (SIDs не разрешаются).
  • Файлы зашифрованы с помощью EFS — перенос EFS требует дополнительных шагов.
  • Разрешения применяются на уровне шары (share permissions) — Save-Acl/Restore-Acl работают с NTFS-разрешениями, не с share-level.
  • При использовании DFS или специальных файловых систем с расширенными атрибутами могут понадобиться дополнительные инструменты.

Мини-методология миграции (шаблон — 6 шагов)

  1. Оценка: определите объём, сложность ACL и зависимости учётных записей.
  2. Тест: выберите небольшой набор данных и прогоните полную процедуру.
  3. Резервная копия: создайте резервную копию файлов и экспортируйте ACL.
  4. Копирование данных: выполните точную копию файлов на целевой сервер (robocopy /MIR или другой способ).
  5. Восстановление прав: примените Restore-Acl и проверьте логи.
  6. Валидация: выберите контрольные файлы/папки и проверьте права вручную и через скрипты.

Чек-лист перед запуском

  • Есть ли у вас админ-доступ на исходный и целевой серверах?
  • Проверен доступ к PowerShell Gallery или есть локальная копия модуля?
  • Сделана ли точная копия файлов на целевом сервере?
  • Согласованы ли учетные записи/группы между доменами (если применяется)?
  • Выполнен пробный прогон и верификация результатов?

Критерии приёмки

  • Перенесённые файлы имеют идентичный набор NTFS-разрешений (ACE/ACL) по сравнению с исходником.
  • Нет незапланированных ошибок при выполнении Restore-Acl.
  • Ключевые пользователи/группы имеют ожидаемые права (проверено списком контроля).

Пример решений для ролей

  • Администратор файлового сервера: установить модуль, запускать Save-Acl/Restore-Acl, проверять логи.
  • Менеджер миграции: планировать окно миграции, организовать тестирование, верифицировать результат.
  • Системный аналитик: подготовить матрицу соответствий учётных записей между средами.

Примечания по совместимости и миграции между доменами

  • При переносе между разными доменами учётные записи с одинаковыми именами имеют разные SID. Рассмотрите использование миграционных таблиц соответствий или создание учётных записей в целевом домене до применения ACL.
  • Для NAS и нестандартных файловых систем уточните, поддерживает ли система восстановление ACL в том же виде.

Резюме

Использование готового модуля PowerShell упрощает перенос NTFS-разрешений и делает процесс воспроизводимым и логируемым. Очередность действий: экспорт ACL → точная копия файлов → восстановление ACL → валидация. Всегда делайте тест и проверяйте соответствие учётных записей между средами.

Важно: этот подход работает с NTFS-разрешениями; для шары, EFS или кросс-доменных сценариев могут понадобиться дополнительные шаги.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро