bitnarrator
Goto Top

Softerra Adaxes Umgebung: PowerShell Script nach Erstellung von Organisationseinheiten und Fehler bei get- und set-acl

Hallo,

ich habe in einem heimischem Test-AD Softerra Adaxes installiert.
Dort habe ich eine Regel erstellt, dass nach dem erstellen einer Organisationseinheit (Soll eine Abteilung wiederspiegeln), über ein PowerShell-Script eine AD-Gruppe für die Mail-Verteilerliste, eine für die Sicherheit erstellt wird und ein Benutzer fürs Abteilungs-Postfach (funktioniert).

Des Weiteren möchte ich einen Gruppenordner erstellen (funktioniert).

Bei diesem möchte ich die Berechtigungen folgendermaßen setzen:

-Besitzer des Ordners: Die Sicherheitsgruppe (funktioniert)
-Die Sicherheitsgruppe soll außerdem Vollzugriff haben (funktioniert nicht).

Gebe ich die Befehle für das Setzen des Vollzugriffes manuell in eine PowerShell ein, funktioniert dies. Nur nicht wenn ich das Script manuell ausführe oder es von Adaxes automatisch gestartet wird.

Wisst ihr, woran der Fehler liegt, dass die Berechtigungen beim automatischen Ausführen nicht gesetzt werden? Sitze schon den halben Tag dabei, und finde den Fehler einfach nicht..
Wenn ihr noch weitere Fehler findet, sagt mir gerne bescheid - ist mein erstes größeres PowerShell-Projekt face-smile


--Bevor das Sript gestartet wurde, wurde die Organisationseinheit unter OU=Benutzer,OU=HEIMNETZ,DC=heimnetz,DC=net erstellt--
--Mit den Namen -> FiBu (z.B.)--
--Mit der Beschreibung -> Finanzbuchhaltung (z.B.)--


Import-Module ADAXES    

## Abteilungs-Gruppen erstellen
$name = "%name%"  
$department = "%description%"  
$groupmail = "%description:lower%@externedomain.de"  
$groupmaillist = "vt_%name:lower%@list.heimnetz.net"  

New-ADmGroup -SamAccountName "MAILVT_$name" -Name "MAILVT_$name" -GroupScope Global -GroupCategory Security -OtherAttributes @{'mail'=$groupmaillist} -Path "OU=Verteilerlisten,OU=E-Mail,OU=HEIMNETZ,DC=heimnetz,DC=net"  
New-ADmGroup -SamAccountName "SIG_$name" -Name "SIG_$name" -GroupScope Global -GroupCategory Security -Path "OU=Gruppen,OU=HEIMNETZ,DC=heimnetz,DC=net"   
New-ADmUser -Name "Postfach $department" -SAMAccountName "mail_$name" -UserPrincipalName "mail_$name@heimnetz.net" -Path "OU=Postfächer,OU=E-Mail,OU=HEIMNETZ,DC=heimnetz,DC=net" -ChangePasswordAtLogon $false -EmailAddress $groupmail -Enabled $True  


## Gruppenordner erstellen

mkdir E:\userdata\groups\$department

$path = "E:\userdata\groups\$department"  
$groupname = "SIG_$name"  

$aclVZ = get-acl $path
$aclOWN = get-acl $path
$arVZ = new-object system.security.accesscontrol.filesystemaccessrule("$groupname","FullControl","Allow")  
$arOWN = new-object System.Security.Principal.NTAccount("HEIMNETZ","$groupname")  
$aclVZ.SetAccessRule($arVZ)
$aclOWN.SetOwner($arOWN)
set-acl "\\HEIMSERVER\groups$\$department" $aclOWN  
set-acl "\\HEIMSERVER\groups$\$department" $aclVZ  


Danke schonmal im Vorraus,

DerWindowsFreak2

PS: Ich hoffe, ich habe die richtige Kategorie face-smile

Content-Key: 328446

Url: https://administrator.de/contentid/328446

Printed on: April 19, 2024 at 14:04 o'clock

Mitglied: 132272
Solution 132272 Feb 04, 2017, updated at Feb 08, 2017 at 13:32:53 (UTC)
Goto Top
Du nutzt ein "veraltetes" ACL-Objekt face-wink.
Nachdem du den Owner gewechselt bzw. die ACL erneuert hast, musst du dir die nun "aktuelle" ACL neu ziehen, oder beides in der gleichen ACL ändern.

Schau mal hier rein, da gibt's eine schöne Funktion zum Setzen von Dateisystemrechten
Via Powershell Benutzer Zugriffs- Bearbeitungsrechte Verwalten

Gruß
Member: bitnarrator
bitnarrator Feb 04, 2017 at 18:02:05 (UTC)
Goto Top
Danke!

Werde ich gleich sofort ausprobieren.

Sollte es funktionieren, melde ich mich nicht mehr, daher setzte ich diesen Beitrag schonmal auf geflöst, ansonsten melde ich mich mal...
Member: Adaxes
Adaxes Feb 08, 2017, updated at Feb 09, 2017 at 13:29:58 (UTC)
Goto Top
Hello,

Softerra Adaxes Support here. Sorry for English, I don't speak German face-smile .

If you assign full permissions and set an owner in one pass, you don't need to reload the ACL. Here's a small sample that shows how to create a group, set it as a directory owner and grant it full permissions. We checked it in our environment, it works.
Import-Module Adaxes

$templateDirectoryPath = "\\Server\Share\Template"  
$targetDirectoryPath = "\\Server\Share\TargetFolder"  

$groupName = "MyGroup"  
$containerDN = "OU=Groups,DC=Example,DC=com"  

# Create Group
$group = New-ADmGroup -SamAccountName $groupName -Name $groupName -GroupScope Global -GroupCategory Security -Path $containerDN -PassThru

# Assign Full Access permissions
$aclObject = Get-Acl $templateDirectoryPath
$fullAccessPermission = New-Object "System.Security.AccessControl.FileSystemAccessRule" $group.SID, "FullControl","ContainerInherit, ObjectInherit", "None", "Allow"  

$aclObject.SetAccessRule($fullAccessPermission)

# Set Owner
$ownerSid = New-Object System.Security.Principal.SecurityIdentifier $group.SID
$aclObject.SetOwner($ownerSid)

# Update ACL
Set-Acl -Path $targetDirectoryPath -AclObject $aclObject
By the way, if you have any questions about Adaxes, you can ask them on our Support Forum. We provide full support, including custom scripts, even during the evaluation period.