Quantcast
Channel: PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
Viewing all articles
Browse latest Browse all 8583

Change this code for better functionality

$
0
0

I would like to change the code below to running on multiple servers in one go so looping through all the servers and checking the permissions, then posting them to a central location on the same server in the form of:

server1.output.csv

server2.output.csv.

Along side these lines and I would like to get rid of the need to have to post the code to each server before running it:

$OutFile = "C:\Users\munjanga\Desktop\Execute\Output.csv"

$Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags"

Del $OutFile

Add-Content -Value $Header -Path $OutFile 

 

$RootPath = "C:\Program Files"

 

$Folders = dir $RootPath -recurse | where {$_.psiscontainer -eq $true}

 

foreach ($Folder in $Folders){

                $ACLs = get-acl $Folder.fullname | ForEach-Object { $_.Access  }

                Foreach ($ACL in $ACLs){

                $OutInfo = $Folder.Fullname + "," + $ACL.IdentityReference  + "," + $ACL.AccessControlType + "," + $ACL.IsInherited + "," + $ACL.InheritanceFlags + "," + $ACL.PropagationFlags

                Add-Content -Value $OutInfo -Path $OutFile

                }}


Viewing all articles
Browse latest Browse all 8583

Trending Articles