www.flickr.com

woensdag 27 oktober 2010

Expliciete ACLs inventariseren met Powershell

Het is met NTFS erg gemakkelijk om op allerlei niveaus rechten in te stellen. Deze rechten worden meestal ook doorgegeven aan de onderliggende objecten. Om een overzicht te krijgen van objecten waarop expliciet rechten zijn ingesteld, heb ik een klein stukje Powershell code geschreven.

Get-ChildItem -Recurse | %{
$Path = $_.FullName
(Get-Acl $Path).Access | where {$_.IsInherited -eq $false} | Select-Object `
@{n='Path';e={ $Path }}
} | sort-object -property Path -unique

De output van dit script is uiteraard volledig naar wens aan te passen. Wellicht is het ook mogelijk om dit op andere providers toe te passen dan een NTFS filesysteem. Er zijn namelijk ook applicaties zoals MS Exchange en SQL server waarin ACLs worden gebruikt.

Geen opmerkingen: