Sie sind hier: Startseite
 Liste aller Codebeispiele

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 Windows 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

Andere Programmiersprache

Dieses Codebeispiel ist in anderen Sprachen (noch) nicht verfügbar.

Hinweise

Ausgaben werden in den Beispielen durch Hilfsroutinen wie out() und PrintOut() erzeugt. Diese sind hier nicht angegeben, da deren Implementierung von der jeweiligen Umgebung abhängt. Für Konsolenanwendungen können hier z.B. Console.WriteLine() einsetzen.

Querverweise

 Definition '.NET Framework Class Library'  .NET & Visual Studio Community Portal