Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $path = Read-Host 'What is the path of the User folders? (Example D:\e)'
- $min = Read-Host 'What is min value of User folder to process (Example A00* - use a wildcard)'
- $max = Read-Host 'What is max value of User folder to process (Example A99* - use a wildcard)'
- $mainDir = "$path"
- $logFile = "$path\Resetpermissions$min$max.log"
- $dirs = gci "$mainDir" |? {$_.psiscontainer} | where {($_.Name -le "$max" -and $_.Name -ge "$min")}
- Get-Date | Add-Content $LogFile
- write "Changing permissions on" $path
- foreach ($dir in $dirs){
- write-output $dir.fullname | Add-Content $LogFile
- write "Have Administrator take ownership of file" | Add-Content $LogFile
- takeown.exe /F $($dir.fullname) /R /D Y | Add-Content $LogFile
- write "Reset permissions on all folders under path" | Add-Content $LogFile
- icacls.exe $($dir.fullname) /reset /T /C /L | Add-Content $LogFile
- write "Grant permission to User where User=directoryname" | Add-Content $Logfile
- icacls.exe $($dir.fullname) /grant ($($dir.basename) + ':(OI)(CI)F') /C /L | Add-Content $LogFile
- write "Set owner to user" | Add-Content $LogFile
- icacls.exe $($dir.fullname) /setowner $($dir.basename) /T /C /L | Add-Content $Logfile
- }
- Get-Date | Add-Content $LogFile
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement