Создание и сопоставление домашнего каталога для пользователей AD, использующих PowerShell в пакетном режиме - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь создать скрипт для массового добавления пользователей в мою AD. Для этого я использую файл .csv.

Пока что я могу добавлять пользователей оптом, однако я застрял в том, как также создать домашний каталог со стандартными разрешениями homedirectory. Если у кого-то есть решение или советы, я был бы признателен.

мой сценарий на данный момент:

$pw = read-host "Password" -AsSecureString
Import-CSV F:\Scripts\newusers\usersVoorbeeldDannyWijnsema.csv | foreach `
{New-ADUser `
-Name $_.Name `
-SamAccountName $_.SamAccountName `
-GivenName $_.GivenName `
-Surname $_.Surname `
-DisplayName $_.DisplayName `
-UserPrincipalName $_.UserPrincipalName `
-AccountPassword $pw `
-ChangePasswordAtLogon $true `
-Enabled $true `
-Path 'OU=N43,OU=Students,DC=example,DC=local' `
-HomeDir ='\\Example-DC01\UserFolders\$($_.SamAccountName)' `
-DriveLetter ='Z:' `
}

1 Ответ

0 голосов
/ 25 марта 2020

Попробуйте:

$pw = read-host "Password" -AsSecureString 
Import-CSV F:\Scripts\newusers\usersVoorbeeldDannyWijnsema.csv | foreach {
New-ADUser -Name $_.Name -SamAccountName $_.SamAccountName  -GivenName $_.GivenName  -Surname $_.Surname -DisplayName $_.DisplayName -UserPrincipalName $_.UserPrincipalName  -AccountPassword $pw  -ChangePasswordAtLogon $true  -Enabled $true  -Path 'OU=N43,OU=Students,DC=example,DC=local' 
$homeShare = "Home share path"
$DriveLetter = "Z:"
$user = Get-ADUser $_.sAmAccountName
Set-ADUser $User -HomeDrive $driveLetter -HomeDirectory $fullPath -ea Stop
$homeShare = New-Item -path $fullPath -ItemType Directory -force -ea Stop
$acl = Get-Acl $homeShare
$FileSystemRights = [System.Security.AccessControl.FileSystemRights]"Modify"
 $AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow
$InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
$PropagationFlags = [System.Security.AccessControl.PropagationFlags]"InheritOnly"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType)
$acl.AddAccessRule($AccessRule)
Set-Acl -Path $homeShare -AclObject $acl -ErrorAction Stop
}

Атрибуция: https://activedirectoryfaq.com/2017/09/powershell-create-home-directory-grant-permissions/

Я нашел там измененный скрипт.

Этот сценарий создает объект ACL и предоставляет стандартное разрешение домашнего каталога каждому созданному пользователю AD из CSV.

...