Liste aller Codebeispiele
Autor: Dr. Holger Schwichtenberg
Beschreibung
Das folgende Script zeigt das Ergänzen eines Rechteeintrags zu einer Rechteliste einer Datei im Dateisystem. Neue Rechteobjekte vom Typ FileSystemAccessRule benötigen fünf Angaben:
- Kontoobjekt (NTAccount-Objekte oder SecurityIdentifier-Objekte)
- Zu vergebende Rechte (Werte aus der FileSystemRights-Aufzählung)
- Ziele der Vererbung (Werte aus der InheritanceFlags-Aufzählung)
- Art der Vererbung (Wert aus der PropagationFlags-Aufzählung)
- Art der Regel: Erlauben oder Verbieten (Wert aus der AccessControlType-Aufzählung)
Das folgende Script gewährt einem Benutzer Leserechte auf ein Verzeichnis.
Programmcodebeispiele Windows PowerShell-Skript
# ACL schreiben: Lese- und Schreibrechte fuer einen Benutzer setzen
# Eingabedaten
$DIR = "g:\daten\kunden"
$BENUTZER = "HS"
# Hole ACL
$ACL = Get-Acl $DIR
"ACL vorher:"
$acl | format-list
# ACE definieren
$Rights = [System.Security.AccessControl.FileSystemRights] "ReadData, ReadExtendedAttributes, ReadAttributes, ReadPermissions"
$Access=[System.Security.AccessControl.AccessControlType]::Allow
$Inherit=[System.Security.AccessControl.InheritanceFlags]::ContainerInherit `
-bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit
$Prop=[System.Security.AccessControl.PropagationFlags]::InheritOnly
$AccessRule = new-object System.Security.AccessControl.FileSystemAccessRule `
($BENUTZER,$Rights,$Inherit,$Prop,$Access)
# ACE an ACL anfügen
$ACL.AddAccessRule($AccessRule)
# ACL speichern
set-acl -AclObject $ACL -Path $DIR
# Kontrolle
$ACL = Get-Acl $DIR
"ACL nachher:"
$acl | format-list
Programmcodebeispiele
Dieses Codebeispiel 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'
Verfügbarkeit der Klasse 'System'
Übersicht über den FCL-Namensraum 'System'
Portal dotnetframework.de
|