Sie sind hier: Startseite
 Liste aller Codebeispiele

Entfernen mehrerer Rechteeinträge aus einer Zugriffsrechteliste

Autor: Dr. Holger Schwichtenberg

Beschreibung

Das folgende Script löscht aus einer Zugriffsrechteliste alle Rechteeinträge, in denen das Lese- und Ausführungsrecht ("ReadAndExecute") vergeben wurde.

Programmcodebeispiele PowerShell-Skript

ACL schreiben: Aus einer Zugriffsrechteliste alle Rechteeinträge löschen, in denen das Lese- und Ausführungsrecht ("ReadAndExecute") steht

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

Zugriff auf ACEs

$aces =$acl.GetAccessRules($true, $true, [System.Security.Principal.NTAccount])

Schleife über alle ACEs

foreach ($ace in $aces)
{
write-host $ace.IdentityReference.ToString() "hat Zugang" $ACE.FileSystemRights $ACE.AccessControlType "Vererbt?" $ACE.IsInherited

Selektives Löschen

if ($ace.FileSystemRights.ToString() -match "ReadAndExecute")
{
"...wird entfernt!"
$Ergebnis = $acl.RemoveAccessRule($ace)
if ($Ergebnis) { echo "Wurde entfernt!"; $Count++ }
}
}

ACL speichern

set-acl -AclObject $ACL -Path $DIR

echo ($Count.ToString() + " ACEs wurden entfernt!")

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