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
Danke schonmal im Vorraus,
DerWindowsFreak2
PS: Ich hoffe, ich habe die richtige Kategorie
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
--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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 328446
Url: https://administrator.de/forum/softerra-adaxes-umgebung-powershell-script-nach-erstellung-von-organisationseinheiten-und-fehler-bei-get-und-328446.html
Ausgedruckt am: 21.12.2024 um 16:12 Uhr
3 Kommentare
Neuester Kommentar
Du nutzt ein "veraltetes" ACL-Objekt .
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ß
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ß
Hello,
Softerra Adaxes Support here. Sorry for English, I don't speak German .
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.
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.
Softerra Adaxes Support here. Sorry for English, I don't speak German .
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