Powershell: Sicherheitsgruppen der Active Directory Objekte anpassen
Guten Morgen bzw Mahlzeit
ich versuche im Augenblick Sicherheitsgruppen via Skript bei AD Objekten (z.B: Benutzer) zu verändern.
Das ganze versuche ich im Moment per Powershell nur fehlt mir absolut jeder Ansatz wo ich diese setzen kann.
Get-AdUser gibt ja leider nur folgendes zurück:
Grund ist, das wir eine Benutzergruppe erstellen wollen die bestimmte Bereiche in der AD-Verwaltung sehen kann. Quasi ein readonly Benutzer.
Manuell wäre das ganze eine ziemliche Plage.
Ich weiß, dass es keine "Standardfrage" ist, aber ich hoffe es kann mir jemand zumindest einen Ansatz zur Lösung verraten
Powershell ist kein muss
Gruß Daniel
ich versuche im Augenblick Sicherheitsgruppen via Skript bei AD Objekten (z.B: Benutzer) zu verändern.
Das ganze versuche ich im Moment per Powershell nur fehlt mir absolut jeder Ansatz wo ich diese setzen kann.
Get-AdUser gibt ja leider nur folgendes zurück:
$adusers = Get-ADUser -Filter '*' -SearchBase "OU=WTS-Benutzer,DC=XYZ,DC=Local"
foreach ($aduser in $adusers)
{
$aduser | Format-List -Property *
}
DistinguishedName : CN=user5,OU=WTS-Benutzer,DC=XYZ,DC=LOCAL
Enabled : False
GivenName : user5
Name : user5
ObjectClass : user
ObjectGUID : 74dbab91-62e6-4ec5-8478-e5a047481e97
SamAccountName : user5
SID : S-1-5-21-2383739693-2358384490-3528108004-1143
Surname :
UserPrincipalName : user5@XYZ.LOCAL
PropertyNames : {DistinguishedName, Enabled, GivenName, Name...}
AddedProperties : {}
RemovedProperties : {}
ModifiedProperties : {}
PropertyCount : 10
Grund ist, das wir eine Benutzergruppe erstellen wollen die bestimmte Bereiche in der AD-Verwaltung sehen kann. Quasi ein readonly Benutzer.
Manuell wäre das ganze eine ziemliche Plage.
Ich weiß, dass es keine "Standardfrage" ist, aber ich hoffe es kann mir jemand zumindest einen Ansatz zur Lösung verraten
Powershell ist kein muss
Gruß Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288680
Url: https://administrator.de/contentid/288680
Ausgedruckt am: 25.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar
Moin,
Get-ADObject ist dein Freund, das liefert dir die Sicherheitsinformationen der Objekte im AD. Geht aber auch über Get-ADuser aber nicht vergessen den Schalter -properties * bei Get-AdUser oder Get-ADObject anzugeben sonst werden nicht alle Eigenschaften aufgelistet !
Setzen von ACLs kannst du dann entweder normal über Set-ACL oder über die Methoden des System.DirectoryServices.ActiveDirectorySecurity Objekts welches dir nTSecurityDescriptor zurückliefert:
https://social.technet.microsoft.com/Forums/windowsserver/en-US/df3bfd33 ...
Einfaches Beispiel:
Für weitere Konstruktoren der AccessRule mit Propagation-Flags(Vererbung) siehe:
https://msdn.microsoft.com/de-de/library/System.DirectoryServices.Active ...
Gruß jodel32
Get-ADObject ist dein Freund, das liefert dir die Sicherheitsinformationen der Objekte im AD. Geht aber auch über Get-ADuser aber nicht vergessen den Schalter -properties * bei Get-AdUser oder Get-ADObject anzugeben sonst werden nicht alle Eigenschaften aufgelistet !
Get-AdUser maxmuster -properties * | select -Expand nTSecurityDescriptor
TypeName: System.DirectoryServices.ActiveDirectorySecurity
Name MemberType
---- ----------
Access CodeProperty
Group CodeProperty
Owner CodeProperty
Path CodeProperty
Sddl CodeProperty
AccessRuleFactory Method
AddAccessRule Method
AddAuditRule Method
AuditRuleFactory Method
Equals Method
GetAccessRules Method
GetAuditRules Method
GetGroup Method
GetHashCode Method
GetOwner Method
GetSecurityDescriptorBinaryForm Method
GetSecurityDescriptorSddlForm Method
GetType Method
ModifyAccessRule Method
ModifyAuditRule Method
PurgeAccessRules Method
PurgeAuditRules Method
RemoveAccess Method
RemoveAccessRule Method
RemoveAccessRuleSpecific Method
RemoveAudit Method
RemoveAuditRule Method
RemoveAuditRuleSpecific Method
ResetAccessRule Method
SetAccessRule Method
SetAccessRuleProtection Method
SetAuditRule Method
SetAuditRuleProtection Method
SetGroup Method
SetOwner Method
SetSecurityDescriptorBinaryForm Method
SetSecurityDescriptorSddlForm Method
ToString Method
AccessRightType Property
AccessRuleType Property
AreAccessRulesCanonical Property
AreAccessRulesProtected Property
AreAuditRulesCanonical Property
AreAuditRulesProtected Property
AuditRuleType Property
AccessToString ScriptProperty
AuditToString ScriptProperty
Einfaches Beispiel:
# User-Objekt holen
$user = Get-AdUser maxmuster -properties nTSecurityDescriptor
# ACL des Objekts holen
$acl = $user.nTSecurityDescriptor
# Verweis auf hinzuzufügenden User erstellen
$account = New-Object System.Security.Principal.NTAccount("CONSTOSO\Administrator")
# Neue Access-Rule erstellen
$rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($account,"GenericAll","Allow")
# Access Rule dem ACL-Objekt hinzufügen
$acl.AddAccessRule($rule)
# neue ACL dem User wieder zuweisen
Set-ACL "AD:$($user.DistinguishedName)" -AclObject $acl
https://msdn.microsoft.com/de-de/library/System.DirectoryServices.Active ...
Gruß jodel32