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

 Microsoft SharePoint-Administration mit der Windows PowerShell
 Microsoft Exchange Server-Administration mit der Windows PowerShell / Microsoft Exchange Management Shell
 HyperV und/oder VMWare verwalten mit der Windows PowerShell
 Testing mit Windows PowerShell
 Netzwerkverwaltung mit der Windows PowerShell
 Verwaltung von Benutzern und Gruppen des „Active Directory“ mit der PowerShell
 Windows Server-Administration mit der Windows PowerShell, insbesondere Active Directory-Administration
 PowerShell-Scripting: Skripte schreiben mit der Windows PowerShell
 Citrix verwalten mit der PowerShell
 Windows PowerShell 5.1/PowerShell 7.0 für Softwareentwickler
 System Center verwalten mit der Windows PowerShell
 .NET und COM nutzen in der Windows PowerShell
 Windows PowerShell 5.0/5.1 für Umsteiger von Version 4.0
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
 Microsoft SQL Server-Administration mit der Windows PowerShell
 Grundlagen der PowerShell-Konsole
 Arbeiten mit PowerShell-Laufwerken
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren (4-Tages-Agenda des öffentlichen Seminars)
 Microsoft Azure-Cloud-Dienste verwalten mit der Windows PowerShell
 Remoting, Jobs und Workflows mit der Windows PowerShell
 NetApp verwalten mit der PowerShell
 Windows PowerShell 4.0 für Umsteiger von Version 3.0
 Formatierung und Reporting mit der PowerShell
 Active Directory-Administration mit der Windows PowerShell
 Scripting-Grundlagenwissen
 Microsoft SQL Server 2008 - Die Neuerungen gegenüber SQL Server 2005 (Update-Schulung)
 Active Directory für Administratoren
 .NET-Überblick für .NET-Einsteiger und .NET-Entscheider (wahlweise für das klassische .NET Framework und/oder das moderne .NET)
 Microsoft Teams
 Microsoft SharePoint im Überblick
 Anfrage für eine individuelle Schulung zum Thema PowerShell  Gesamter Schulungsthemenkatalog