Sie sind hier: Startseite
 Liste aller Codebeispiele

Entfernen eines Rechteeintrags aus einer Zugriffsrechteliste

Autor: Dr. Holger Schwichtenberg

Beschreibung

Zum Entfernen eines Rechteeintrags (Access Control Entry – ACE) aus der Zugriffsrechteliste dient die Methode RemoveAccessRule(), die von NativeObjectSecurity an alle Rechteklassen vererbt wird. Die Methode erwartet als Parameter ein Objekt vom Typ AccessContolEntry.
Möchte man alle Einträge zu einem Benutzer entfernen, kann man PurgeAccessRules() unter Angabe eines Benutzerkontoobjekts (nicht des Kontonamens!) verwenden.

Das folgende Script löscht aus einer Zugriffsrechteliste alle Rechteeinträge zu einem bestimmten Benutzer.

Programmcodebeispiele PowerShell-Skript

ACL schreiben: Alle ACEs eines Benutzer loeschen

Eingabedaten

$DIR = "g:\daten\kunden"
$BENUTZER = "itv\HS"
$Count = 0

Kontrollausgabe

$acl = Get-Acl $DIR
"ACL vorher:"
$acl | format-list

ACL holen

$acl = Get-Acl g:\daten\kunden

$Account = new-object system.security.principal.ntaccount("itv\hs")
$acl.PurgeAccessRules($Account)
set-acl -AclObject $ACL -Path $DIR

ACL speichern

set-acl -AclObject $ACL -Path $DIR

Kontrollausgabe

$acl = Get-Acl $DIR
"ACL nachher:"
$acl | format-list

 

Querverweise

 Definition '.NET Framework Class Library'  PowerShell Community Portal

Buchtipp

Buchcover Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch (3. Auflage 12/2018) Kindle Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch (3. Auflage 12/2018) Kindle
Autoren: Dr. Holger Schwichtenberg
erschienen 2018, 1000 Seiten, 42,99 €
ISBN: 978-3-446-45923-6
Bestellung: Amazon.de oder im Buchhandel über ISBN 978-3-446-45923-6

Beratung & Support:

Schulungen zu diesem Thema:

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