1

My script get recursively directory information like Directory name, LastAccessTime, LastWriteTime, and size. I would like to know if whether possible to get folder owner name? Here is my script :

function Get-DirSize {

param([Parameter(Mandatory = $true, ValueFromPipeline = $true)][string]$path)
BEGIN {}

PROCESS{
  $size = 0
  $folders = @()

foreach ($file in ((Get-ChildItem $path -Force -ea SilentlyContinue))) {
  if ($file.PSIsContainer) {
    $subfolders = @(Get-DirSize $file.FullName)
    $size += $subfolders[-1].Size
    $folders += $subfolders
  } else {
    $size += $file.Length
  }
}

$object = New-Object -TypeName PSObject
$object | Add-Member -MemberType NoteProperty -Name Folder `
                     -Value (Get-Item $path).FullName
$object | Add-Member -MemberType NoteProperty -Name LastAccessTime `
                     -Value (Get-Item $path).LastAccessTime
$object | Add-Member -MemberType NoteProperty -Name LastWriteTime `
                     -Value (Get-Item $path).LastWriteTime
$object | Add-Member -MemberType NoteProperty -Name Size -Value $size
$folders += $object
Write-Output $folders
}

 END {}
}
kekimian
  • 909
  • 3
  • 13
  • 21

1 Answers1

2

For each folder you can retrieve the AccessControl then you have the owner:

$acl = $file.GetAccessControl()
$acl.Owner
Micky Balladelli
  • 9,781
  • 2
  • 33
  • 31