lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte
Ich habe auf einem Windows Fileserver Share einen Benutzer der auf einem ganzen Share (inkl Unterordner) einen Zugriff hat der nicht vererbt ist (wurde irgendwann man explizit gesetzt). Wie kann ich die alle entfernen?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Das kannst du mit dem Windows-Tool icacls.

icacls "D:\Shares\Testshare" /remove "DOMAIN\User" /T
von (856 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst die Berechtigung mit einem Powershell manuell bearbeiten.

$path = "D:\Shares\Testshare"
$user = "DOMAIN\User"

# Hauptordner + alle Unterordner holen
$folders = Get-ChildItem -Path $path -Recurse -Directory
$folders += Get-Item -Path $path  # auch den Hauptordner einbeziehen

foreach ($folder in $folders) {
    $acl = Get-Acl $folder.FullName
    $matches = $acl.Access | Where-Object {
        $_.IdentityReference -eq $user -and $_.IsInherited -eq $false
    }

    if ($matches) {
        Write-Host "Bearbeite Ordner: $($folder.FullName)" -ForegroundColor Cyan

        foreach ($match in $matches) {
            Write-Host "  Entferne: $($match.FileSystemRights) ($($match.AccessControlType))"
            $acl.RemoveAccessRule($match) | Out-Null
        }

        try {
            Set-Acl -Path $folder.FullName -AclObject $acl
            Write-Host "  ? Rechte erfolgreich entfernt" -ForegroundColor Green
        } catch {
            Write-Host "  ? Fehler beim Setzen der ACL: $_" -ForegroundColor Red
        }
    }
}
von (1.3k Punkte)