Wir haben ein Dokumentenverwaltungssystem, das Millionen von Dateien in einem NTFS-Dateisystem enthält, auf das über eine Netzwerkfreigabe zugegriffen wird. Ein einzelnes Dienstkonto benötigt die vollständige Berechtigung für alle diese Dateien, und die Anwendungsbroker greifen über dieses Dienstkonto zu.
Während einer Datenmigration ist etwas passiert und die Berechtigungen sind jetzt inkonsistent.
Ich habe versucht, ein Skript in PowerShell zu schreiben, um festzustellen, welche Dateien nicht über die entsprechende ACE verfügen, aber es get-aclist etwas ... schmerzhaft.
Ich habe verschiedene Kombinationen ausprobiert, ähnlich:
get-childitem -recurse | get-acl | select -expandproperty access |
where { $_.$_.IdentityReference -notcontains $principal
Dabei ist $ Principal der Benutzer, der eine Berechtigung im domain\userFormat benötigt.
Es muss einen Weg geben, das zu tun, oder? Was ist es? Ich möchte es in PowerShell nativ behalten und nicht verwenden icaclsoder caclswenn möglich.