powershell:system:acls
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| powershell:system:acls [2020/07/30 11:02] – henning | powershell:system:acls [2024/05/27 08:36] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 42: | Zeile 42: | ||
| ===== ACLs lesen ===== | ===== ACLs lesen ===== | ||
| Das erste Powershell-Commandlet zur verwaltung von Berechtigungen ist '' | Das erste Powershell-Commandlet zur verwaltung von Berechtigungen ist '' | ||
| - | <code powershell> | + | <code powershell> |
| {{: | {{: | ||
| + | |||
| + | Um alle Berechtigungen innerhalb einer Verzeichnisstruktur in eine CSV-Datei zu exportieren, | ||
| + | <file powershell Export-PermissionsToCsv.ps1> | ||
| + | # Zu untersuchender Pfad | ||
| + | $path = " | ||
| + | |||
| + | # Pfad zur CSV-Datei | ||
| + | $reportpath =" | ||
| + | |||
| + | #Nach Verzeichnissen unterhalb des angegebenen suchen und für alle Fundstellen acl(permissions) auslesen | ||
| + | Get-ChildItem -Recurse $path | Where-Object { $_.PsIsContainer } ` | ||
| + | | ForEach-Object { $path1 = $_.fullname; | ||
| + | | ForEach-Object { $_.access | Add-Member -MemberType NoteProperty ' | ||
| + | | Export-Csv $reportpath | ||
| + | </ | ||
| ===== ACLs übertragen ===== | ===== ACLs übertragen ===== | ||
| Zeile 56: | Zeile 71: | ||
| $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(" | $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(" | ||
| $acl.SetAccessRule($AccessRule) | $acl.SetAccessRule($AccessRule) | ||
| - | $acl | Set-Acl \\fs1\shared\sales | + | $acl | Set-Acl \\path\to\target |
| </ | </ | ||
| Zeile 99: | Zeile 114: | ||
| |:::|Write Extended Attributes|::: | |:::|Write Extended Attributes|::: | ||
| |::: | |::: | ||
| + | |||
| + | ===== Berechtigungen entfernen ===== | ||
| + | Nur die Berechtigung "Allow FullControl" | ||
| + | <code powershell> | ||
| + | $acl = Get-Acl \\path\to\target | ||
| + | $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(" | ||
| + | $acl.RemoveAccessRule($AccessRule) | ||
| + | $acl | Set-Acl \\path\to\target | ||
| + | </ | ||
| + | |||
| + | Wenn der Benutzer noch die Berechtigung "Deny FullControl" | ||
| + | |||
| + | :!: " | ||
| + | :!: Der Befehl funktioniert nur bei direkt am Objekt gesetzten und nicht bei geerbten Berechtigungen.\\ | ||
| + | |||
| + | <code powershell> | ||
| + | $acl = Get-Acl \\path\to\target | ||
| + | $usersid = New-Object System.Security.Principal.Ntaccount (" | ||
| + | $acl.PurgeAccessRules($usersid) | ||
| + | $acl | Set-Acl \\path\to\target | ||
| + | </ | ||
| + | |||
| + | ===== Vererbung aktivieren und deaktivieren ===== | ||
| + | Für die Verwaltung der Vererbung wird die Methode " | ||
| + | * Der erste Parameter aktiviert ($false) oder deaktiviert ($true) die Vererbung von übergeordneten Berechtigungen. | ||
| + | * Der zweite Parameter entscheidet darüber, ob bestehende geerbte Berechtigungen erhalten bleiben sollen ($true) oder nicht ($false). | ||
| + | |||
| + | Beispiel: Die Vererbung zum Verzeichnis " | ||
| + | :!: Explizit gesetzten Berechtigungen bleiben erhalten. | ||
| + | <code powersehll> | ||
| + | $acl = Get-Acl \\path\to\target | ||
| + | $acl.SetAccessRuleProtection($true, | ||
| + | $acl | Set-Acl \\path\to\target | ||
| + | </ | ||
| + | |||
| + | Den Schritt rückgängig zu machen und die Vererbung wieder aktivieren: | ||
| + | <code powersehll> | ||
| + | $acl = Get-Acl \\path\to\target | ||
| + | $acl.SetAccessRuleProtection($false, | ||
| + | $acl | Set-Acl \\path\to\target | ||
| + | </ | ||
| + | |||
| + | ===== Besitz von Verzeichnissen und Dateien ändern ===== | ||
| + | Der Besitzer eines Objekts wird mit der Methode " | ||
| + | Beispiel: Den Benutzer " | ||
| + | :!: Der Benutzer " | ||
| + | <code powershell> | ||
| + | $acl = Get-Acl \\path\to\target | ||
| + | $usersid = New-Object System.Security.Principal.Ntaccount (" | ||
| + | $acl.SetOwner($usersid) | ||
| + | $acl | Set-Acl \\path\to\target | ||
| + | </ | ||
powershell/system/acls.1596099756.txt.gz · Zuletzt geändert: 2024/05/27 08:35 (Externe Bearbeitung)
