rodelking

Powershell Skript setzt Rechte nicht auf vorhandene untergeordnete Ordner

Hallo,

ich habe folgendes Skript:


$UserInfoFile = Import-Csv 'C:\csv\Schueler-Klasse.csv' –Delimiter ';'

Foreach ($Name in $UserInfoFile)

{
$samAccountName = $Name.Name
$Klasse = $Name.Klasse

$PathKlasse = „\\daten\Klassen\1_Homeschüler\{0}“ -f $Klasse
$fullPath = $PathKlasse + "\" + $samAccountName
$driveLetter = „H:“

$User = Get-ADUser -Identity $samAccountName

if($User -ne $Null) {

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]“FullControl“
$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, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($AccessRule)

Set-Acl -Path $homeShare -AclObject $acl -ea Stop

Write-Host („HomeDirectory created at {0}“ -f $fullPath)
}
}

Das funktioniert auch soweit.
Das einzige Problem ist das es die vorhandenen Unterordner nicht die Rechte setzt. Wenn ivh neue Ordner anlege funktioniert es.
Was muss ich ändern?

rodelking
Share on Facebook
Share on X (Twitter)
Share on Reddit
Share on Linkedin

Content-ID: 351378

Url: https://administrator.de/forum/powershell-skript-setzt-rechte-nicht-auf-vorhandene-untergeordnete-ordner-351378.html

Printed on: May 9, 2025 at 03:05 o'clock

emeriks
emeriks Oct 11, 2017 updated at 06:30:39 (UTC)
Goto Top
Hi,
  1. benutze bitte Code-Tags!
  2. Warum definierst Du "$FileSystemRights" usw. wenn Du sie dann doch nicht benutzt? Sowas lenkt bloß ab.
  3. Nimm mal "None" als "PropagationFlags". Du willst doch sicherlich erreichen "diesen und alle untergeordneten". "InheritOnly" bedeutet "nur alle untergeordneten" --> PropagationFlags-Enumeration
  4. Wenn an diesen vorhandenen Unterordnern z.Z. die Vererbung deaktiviert ist, dann übernehmen sie das natürlich nicht. Prüfe das erstmal.

E.