Как экспортировать общую папку с разрешениями и группами, связанными

StackOverflow https://stackoverflow.com//questions/25033488

Вопрос

Я работаю над Windows Server 2008 R2, и я пытаюсь экспортировать конфигурацию общей папки со всеми группами, связанными с ними, разрешениями и разрешениями файловой системы.

Есть ли способ сделать это?

Может быть, с PowerShell?

@EDIT: Другая проблема в том, что мне нужно сделать это после перезагрузки, поэтому я должен сохранить конфигурацию в файл, например, а затем повторить его.

Это было полезно?

Решение

Я работаю над модулем ( Смотрите здесь ), которые должны быть в состоянии сделать это для вас. Это модуль сценария, так что вы действительно можете открыть его и посмотреть / изменить код. Если вы используете его, вы можете сделать что-то вроде этого (вызов Export-CSV прокомментирован, но вы можете поместить его после подтверждения, что это вывод, который вы ищете):

Get-WmiObject Win32_Share -ComputerName ServerName | 
    Get-AccessControlEntry #| Export-Csv -Path CsvLocation.csv
.

Вы получите ошибки для встроенных системных акций, например, C $, поэтому вы можете добавить -erroraction SillectyContinue и / или -ERRORRORRACTIONATION для вызова Get-AccessControlentry.

Чтобы вернуть разрешения, вы просто продвигаете выход Get-AccessControl в Add-AccessControLolentry:

Import-Csv -Path CsvLocation.csv | Add-AccessControlEntry -WhatIf
.

Access-AccessContrololentry предложены для подтверждения по умолчанию. Используйте переключатель -Force, чтобы подавить подсказки.

Изменение этого на работу для разрешений NTFS очень проста. Просто измените вызов Get-WmiObject в звонок Get-ChildItem, и все остальное должно быть одинаковым.

Другие советы

Если вы хотите Резервное копирование / восстановление Все существующие акции Вы можете экспортировать / импортировать ключ реестраHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares.

Резервное копирование:

reg export HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares shares.reg
.

Восстановление:

reg import shares.reg
net stop server && net start server
.


Файл / папка ACL может быть сохранена и восстановлена так:

Резервное копирование:

Get-WmiObject -Class Win32_Share -Filter 'Type = 0' | select -Expand Path | % {
  $path = $_
  Get-Acl $path | select @{n='Path';e={$path}}, Sddl
} | Export-Csv 'C:\path\to\acls.csv'
.

Восстановление:

Import-Csv 'C:\path\to\acls.csv' | % {
  $acl = Get-Acl $_.Path
  $acl.SetSecurityDescriptorSddlForm($_.Sddl)
  Set-Acl -Path $_.Path -AclObject $acl
}
.

Интересный вопрос, я думаю, что единственный способ сделать это - вручную получить ACL в оригинальной папке, а затем повторно применить их в скопированную папку.Используется командлет, представляет собой Get-Acl -path $youfolder, Copy-Item и Set-Acl

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top