Code-Beispiel

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

 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 Azure-Cloud-Dienste verwalten mit der Windows PowerShell
 Microsoft Exchange Server-Administration mit der Windows PowerShell / Microsoft Exchange Management Shell
 Formatierung und Reporting mit der PowerShell
 Netzwerkverwaltung mit der Windows PowerShell
 Verwaltung von Benutzern und Gruppen des „Active Directory“ mit der PowerShell
 PowerShell-Sicherheit (Sicher skripten 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
 Testing mit Windows PowerShell
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
 Microsoft SQL Server-Administration mit der Windows PowerShell
 Grundlagen der PowerShell-Konsole
 Microsoft Curriculum (MOC) Kurs Nr. 10961: Windows PowerShell für Administratoren / Automating Administration with Windows PowerShell
 Arbeiten mit PowerShell-Laufwerken
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren (4-Tages-Agenda des öffentlichen Seminars)
 Windows PowerShell 5.0/5.1 für Umsteiger von Version 4.0
 Remoting, Jobs und Workflows mit der Windows PowerShell
 NetApp verwalten mit der PowerShell
 Windows PowerShell 4.0 für Umsteiger von Version 3.0
 HyperV und/oder VMWare verwalten mit der Windows 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)
 Anfrage für eine individuelle Schulung zum Thema PowerShell  Gesamter Schulungsthemenkatalog