Export NTFS folder permissions – recursive or not

Configurare noua (How To)

Situatie

Exporting NTFS folder permissions in PowerShell can be quite useful for documenting or transferring permissions across different folders. You can use PowerShell to export folder permissions recursively or for a single folder.

Solutie

Export NTFS Folder Permissions Recursively:
This script will export NTFS folder permissions recursively for a given folder and its subfolders into a CSV file.

# Define the folder path
$folderPath = “C:\Path\To\Folder”

# Get ACLs recursively for the folder and its subfolders
$acls = Get-ChildItem -Path $folderPath -Recurse | Get-Acl

# Initialize an empty array to store the results
$results = @()

# Iterate through each ACL
foreach ($acl in $acls) {
foreach ($access in $acl.Access) {
# Create a custom object for each access rule
$result = [PSCustomObject]@{
‘Folder’ = $acl.Path
‘User’ = $access.IdentityReference
‘Permissions’ = $access.FileSystemRights
‘Inheritance’ = $access.IsInherited
}
$results += $result
}
}

# Export the results to a CSV file
$results | Export-Csv -Path “NTFS_Permissions.csv” -NoTypeInformation

 

Export NTFS Folder Permissions for a Single Folder:

If you only want to export permissions for a single folder (without recursion), you can simplify the script by directly getting the ACL for that folder.

# Define the folder path
$folderPath = “C:\Path\To\Folder”

# Get the ACL for the folder
$acl = Get-Acl -Path $folderPath

# Initialize an empty array to store the results
$results = @()

# Iterate through each access rule
foreach ($access in $acl.Access) {
# Create a custom object for each access rule
$result = [PSCustomObject]@{
‘Folder’ = $folderPath
‘User’ = $access.IdentityReference
‘Permissions’ = $access.FileSystemRights
‘Inheritance’ = $access.IsInherited
}
$results += $result
}

# Export the results to a CSV file
$results | Export-Csv -Path “NTFS_Permissions.csv” -NoTypeInformation

Both scripts will export the folder path, user, permissions, and whether the permission is inherited or not into a CSV file named “NTFS_Permissions.csv”. You can adjust the $folderPath variable to point to the desired folder you want to export permissions for.

Tip solutie

Permanent

Voteaza

(3 din 9 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?