Code-Beispiel

Zugriffsrechteliste über SSDL setzen

Autor: Dr. Holger Schwichtenberg

Beschreibung

Die Security Descriptor Definition Language (SDDL) ist ein Textformat zur Beschreibung von Access Control Lists (ACLs) mit einzelnen ACEs in Windows (eingeführt mit Windows 2000).

Ein Beispiel für eine SDDL-Zeichenkette ist:
O:BAG:DUD:PAI(A;;FA;;;BA)(A;OICI;0x1600a9;;;S-1-5-21-1973890784-140174113-2732654181-1188)(A;OICI;0x1200a9;;;S-1-5-21-1973890784-140174113-2732654181-1189)

Das folgende Skript nutzt SDDL zur Übertragung einer Zugriffsrechteliste von einem Verzeichnis auf ein anderes. Zwischenzeitlich wird die Zugriffsrechteliste im Dateisystem gespeichert, so dass man Auslesen und Setzen zeitlich entkoppeln könnte.

Programmcodebeispiele PowerShell-Skript

Übertragen einer ACL via SDDL

$QUELLE = "g:\daten\kunden"
$ZIEL = "g:\daten\lieferanten"

function replace-acl
{
Param (
$sObject,
$sSDDL
)
$acl = Get-Acl $sObject
$acl.SetSecurityDescriptorSddlForm($sSDDL)

Set-Acl -aclObject $acl $sObject
}

SDDL lesen und in Textdatei speichern

(Get-Acl $QUELLE).SDDL > g:\Daten\acl.txt

SDDL aus Textdatei lesen

$sddl = Get-Content g:\Daten\acl.txt
replace-acl $ZIEL $sddl

"Folgende Rechte wurden übertragen: " + $sddl

 

Querverweise

 Liste aller Codebeispiele  Definition '.NET Framework Class Library'  PowerShell Community Portal

Buchtipp

Buchcover PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch (5. Auflage Oktober 2022 (9. Auflage Gesamtreihe)) PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
Autor(en): Dr. Holger Schwichtenberg
Erschienen 2022
Umfang: 1426 Seiten
ISBN: 3446472967

Beratung & Support

Schulungen zu diesem Thema

  Anfrage für eine individuelle Schulung zum Thema POWERSHELL   Gesamter Schulungsthemenkatalog