activedirectory:addelegate
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
activedirectory:addelegate [2016/04/14 16:12] – ronny | activedirectory:addelegate [2016/04/15 13:04] – ronny | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Delegationen setzen ====== | + | ====== Delegationen setzen |
+ | |||
+ | ===== funktionierende Powershell-Funktion ===== | ||
+ | |||
+ | <code Powershell> | ||
+ | function setadpermission ([string]$distinguishedName, | ||
+ | { | ||
+ | $ADObject = " | ||
+ | $PW = ConvertTo-Securestring $Password -AsPlainText -force | ||
+ | $Credential = New-Object System.Management.Automation.PSCredential($AdminAccount, | ||
+ | $Session = New-PSSession -ComputerName $DC -Credential $Credential | ||
+ | Invoke-Command -Session $Session -Command {Import-Module ActiveDirectory} | ||
+ | Invoke-Command -Session $Session -Command {param ($a1) $ADObject = $a1} -ArgumentList $ADObject | ||
+ | Invoke-Command -Session $Session -Command {param ($a1) $Username = $a1} -ArgumentList $UserName | ||
+ | Invoke-Command -Session $Session -Command {param ($a1) $AccessType = $a1} -ArgumentList $AccessType | ||
+ | Invoke-Command -Session $Session -Command {param ($a1) $AccessRights = $a1} -ArgumentList $AccessRights | ||
+ | Invoke-Command -Session $Session -Command {param ($a1) $Inheritance = $a1} -ArgumentList $Inheritance | ||
+ | Invoke-Command -Session $Session -Command {param ($a1) $objectGuid = $a1} -ArgumentList $objectGuid | ||
+ | Invoke-Command -Session $Session -Command {$ArrayAcc = $Username.Split(" | ||
+ | Invoke-Command -Session $Session -Command {$Account = New-Object System.Security.Principal.NTAccount($ArrayAcc[0], | ||
+ | Invoke-Command -Session $Session -Command {$ACT = [System.Security.AccessControl.AccessControlType]:: | ||
+ | Invoke-Command -Session $Session -Command {$ADR = New-Object System.DirectoryServices.ActiveDirectoryRights} | ||
+ | Invoke-Command -Session $Session -Command {$ADR.value__ = $AccessRights} | ||
+ | Invoke-Command -Session $Session -Command {$Guid = New-Object System.Guid($objectGuid)} | ||
+ | Invoke-Command -Session $Session -Command {$Inherit = [System.DirectoryServices.ActiveDirectorySecurityInheritance]:: | ||
+ | Invoke-Command -Session $Session -Command {$NewRule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($Account, | ||
+ | Invoke-Command -Session $Session -Command {$acl = get-acl $ADObject} | ||
+ | Invoke-Command -Session $Session -Command {$acl.addaccessrule($NewRule)} | ||
+ | Invoke-Command -Session $Session -Command {Set-ACL $ADObject $acl} | ||
+ | Remove-PSSession $Session | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ^Parameter^Inhalt^ | ||
+ | |distinguishedName|DistinguishedName des Objekts, auf dem Berechtigungen gesetzt werden sollen| | ||
+ | |Username|Objekt, | ||
+ | |AccessType|**Allow** oder **Deny**| | ||
+ | |AccessRights|Integerzahl. Wie man an die Zahl kommt, steht im nächsten Abschnitt| | ||
+ | |Inheritance|Vererbungsregel. Folgende Werte sind erlaubt:\\ **None**: Keine Vererbung\\ **All**: Die Regel gilt für das Objekt selbst seine Kind-Objekte und dessen Kind-Objekte und so weiter, bis alle untergeordneten Objekte erfasst sind\\ **Children**: | ||
+ | |objectGuid|Berechtigungsschema, | ||
+ | |DC|Domänencontroller| | ||
+ | |AdminAccount|Ein Benutzer mit Adminrechten für die Domäne. Muss im Format **NetBiosName\SamAccountName** angegeben werden| | ||
+ | |Password|Das Passwort des Adminbenutzers| | ||
+ | |||
+ | **WICHTIG** Scripte, die diese Funktion verwenden, sollten nur in einem gut geschützten Bereich abgelegt werden, da das Passwort da noch unverschlüsselt ist. Ich werde das später mal umbauen ((Man kann Passwörter wohl auch verschlüsselt speichern. Mehr dazu gibt es [[http:// | ||
+ | |||
+ | Dieses Script erzeugt eine PSSession, übergibt dann dem angegebenen Domänencontroller alle wichtigen Werte. Anschließend holt es sich die Sicherheitsbeschreibung des angegebenen AD-Objekts, fügt eine Sicherheitsregel hinzu und schreibt die erweiterte Sicherheitsbeschreibung zurück. Abschließend wird die PSSession zerstört. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Altes Zeugs (Recherche und so) ===== | ||
**Berechtigungen abrufen: | **Berechtigungen abrufen: |
activedirectory/addelegate.txt · Zuletzt geändert: 2016/04/15 13:43 von ronny