<# Created By Abhishek Bansal
Read Note
Script Usage - Useful in fetching Owners details, Inheritance status, NTFS Permissons of Parent / Root folder & one Level Sub folders.
Pre requisites :: Copy all the code into a text file, save it with an extension ".PS1". On same location create a txt file named "InputPath.txt" containing UNC path of share folders. Once saved, run this script as Administrator.
Execution & Outputs :: Once executed, there will be four Outifle files created which would be -
ParentfolderInheritance.csv - Containing parent folder Ownnership details along with inheritance status.
ParentfolderACL.csv - Containing parent folder NTFS permissions.
SubfoldersInheritance.csv - Containing one level subfoldes Ownnership details along with inheritance status.
SubfoldersACL.csv - Containing NTFS permissions for 1 level sub folders inside the parent folders.
Along with above, Errorlogs.csv can also be produced if there are any errors encountered while executing this script.#>
$rootfolders = Get-Content .\InputPath.txt
foreach($rootpath in $rootfolders)
{
$rootpath = $rootpath.trim()
Get-Acl -Path $rootpath | Select Path,Owner,@{n="Inheritance Status";e={$_.AreAccessRulesProtected}} | Export-Csv ./ParentfolderInheritance.csv -NoTypeInformation -Append
(Get-Acl -Path $rootpath).Access | Select @{n="Path";e={$rootpath}},IdentityReference,FileSystemRights,AccessControlType |Export-Csv ./ParentfoldersACL.csv -NoTypeInformation -Append
$subfolders = Get-ChildItem -Path $rootpath
foreach ($path in $subfolders)
{
try{
Get-Acl -Path $path.FullName | Select Path,Owner,@{n="Inheritance Status";e={$_.AreAccessRulesProtected}} | Export-Csv ./SubfoldersInheritance.csv -NoTypeInformation -Append
}
catch{
$rootpath | Select @{n="Rootfolder";e={$rootpath}},@{n="Errorinfo";e={"$path not accessible under $rootpath"}} | Export-Csv ./Errorlogs.csv -NoTypeInformation -Append
}
(Get-Acl -Path $path.FullName).Access | Select @{n="Path";e={$path.FullName}},IdentityReference,FileSystemRights,AccessControlType | Export-Csv ./SubfoldersACL.csv -NoTypeInformation -Append
}
}
No comments:
Post a Comment