O
O
oskey_one2018-08-16 12:54:10
System administration
oskey_one, 2018-08-16 12:54:10

Distribution of rights to home (personal network) folders of users through GPO?

Good afternoon, perhaps evening or night, ladies and gentlemen. Sobsna needs help. Through GPO home folders of users are created, and the main folder is shared on all users of the domain. Please tell me how to make it so that each user has access only to his own folder? Because subfolders inherit the rights of the main one and, accordingly, everyone has access to all folders (how difficult it is).
The question is how to set up automatic distribution of access rights to folders through GPO, such as from the LOGONUSER command.
Thank you for your help)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Dmitry Shumov, 2018-08-16
@dshumov

Well, I have a script like this:

cls
#Подгрузка библиотек
Add-pssnapin Quest.ActiveRoles.ADManagement

# Указываем путь в АД к каталогу где находятся УЗ юзеров.
$Catalog = "домен.ru/УЗ"
$UsersShara = "Где создаем новую папку пользователя"
$OffUsersShara = "Куда перемещаем папку удаленного пользователя"


$DirectoryName = $null

# Отправляем в конвеер включеных юзеров и отбираем тех у которых поле Факс пустое
Get-QADUser -SearchRoot $Catalog -Enabled | Where-Object {$_.Fax -eq $null} |
# Прописывает в поле Факс символ *
ForEach-Object {$_.Fax = *
# Составляет имя для личной папки пользователя
$DirectoryName = $_.DisplayName + "(" + $_.LogonName + ")"
# собираем конечный путь в директорию и создаем ее.
$UserDirectory = New-Item $UsersShara -Name $DirectoryName
# Помещаем настройки безопасности в переменую
$SecuritySeting = get-acl $UserDirectory
# Указывае пользователя для назначения прав
$identityReference = [System.Security.Principal.NTAccount] "$_.NTAccountName"
# Указываем права для пользователя
$fileSystemRights = [System.Security.AccessControl.FileSystemRights] 'FullControl'
# Указываем или ставим None нужно ли применять эти настройки к подпапкам и файлам.
$inheritanceFlags = [System.Security.AccessControl.InheritanceFlags] 'ContainerInherit,ObjectInherit'
# Указываем к кому применять ли свойства к самому каталогу и подкаталогам вложеных каталогов.
$propagationFlags = [System.Security.AccessControl.PropagationFlags] 'InheritOnly'
# Указываем разрешаем или запрещаем.
$accessControlType = [System.Security.AccessControl.accessControlType] 'Allow'
# Создаем объект настройки безопасности содержащий все наши настройки
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($identityReference,
$fileSystemRights, $inheritanceFlags, $propagationFlags, $accessControlType)
# Добовляем наш объект к существующим настройкам.
$SecuritySeting.addAccessRule($rule)
# Записываем новые настройки безопасности к папке.
Set-Acl $UserDirectory -AclObject $SecuritySeting}

#
#
#Теперь расписываем перенос папок заблокированных пользователей.
# Отправляем в конвеер заблокированных юзеров и отбираем тех у которых поле Факс заполнено
Get-QADUser -SearchRoot $Catalog -Disabled | Where-Object {$_.Fax -eq $null} |
# Прописывает в поле Факс символ пустое значение
ForEach-Object {$_.Fax = $null
# Составляет имя как должна называться личная папка пользователя
$DirectoryName = $_.DisplayName + "(" + $_.LogonName + ")"
# собираем конечный путь в директорию
$UserDirectory = $UsersShara + "\" + $DirectoryName
# Перемещаем нашу папку в каталог для увольненых пользователей
Move-Item -Path $UserDirectory -Destination $OffUsersShara -Force
}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question