Войти

Показать полную графическую версию : папка пользователя + NTFS разрешения


Kenwood
16-08-2020, 13:44
Здравствуйте,

Есть одна задача: создать пользователя в домене, создать этому пользователю "home" папку и назначить NTFS разрешения

скрипт на создание пользователя в домене:
Import-Csv "C:\posh_new_user\ADUsers.csv" | ForEach-Object {
$upn = $_.SamAccountName + “@contoso.local”
New-ADUser -Name $_.Name `
-GivenName $_."GivenName" `
-Surname $_."Surname" `
-SamAccountName $_."samAccountName" `
-UserPrincipalName $upn `
-Path $_."Path" `
-AccountPassword (ConvertTo-SecureString “123456” -AsPlainText -force) -Enabled $true
}

---

ADUsers.csv - указан пользователь "Kenwood"

---


скрипт на создание папки:
$ComputerName = "DC"
$Path = "HOME"
$name_folder = Import-Csv "C:\posh_new_user\ADUsers.csv"
Foreach ($line in $name_folder)
{
New-Item -Path \\$ComputerName\$Path -Name $line.SamAccountName -type directory -Force
}

---

Возникает сложность применить NTFS разрешения на папку.
Ниже скрипт по применению NTFS разрешений
$path = "c:\home\kenwood"
$user = "contoso\kenwood"
$Rights = "FullControl"
$InheritSettings = "ContainerInherit, ObjectInherit"
$PropogationSettings = "InheritOnly"
$RuleType = "Allow"
$acl = Get-Acl $path
$perm = $user, $Rights, $InheritSettings, $PropogationSettings, $RuleType
$rule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $perm
$acl.SetAccessRule($rule)
$acl | Set-Acl -Path $path

Обратите внимание, что в скрипте явно указывается имя пользователя и путь до папки. Как можно объединить эти скрипты, чтобы скрипт брал данные о пользователе и пути автоматом?

DJ Mogarych
17-08-2020, 22:17
применить NTFS разрешения на папку »
См. модуль NTFSSecurity (https://gallery.technet.microsoft.com/scriptcenter/1abd77a5-9c0b-4a2b-acef-90dbb2b84e85).




© OSzone.net 2001-2012