$userMeta = "C:\Users" | Get-ChildItem [String[]]$users = @() foreach ($u in $userMeta){ $users += $u.Name } [String[]]$dirs = @() foreach ($u in $users){ $dirs += "C:\Users\"+$u+"\Documents" $dirs += "C:\Users\"+$u+"\Desktop" } # [String[]]$users = @() # $users += "Administrator" [String[]]$dirs = @() foreach ($u in $users){ $dirs += "C:\Users\"+$u+"\Documents" $dirs += "C:\Users\"+$u+"\Desktop" } $DirInfo = New-Object -TypeName 'System.Collections.ArrayList' foreach ($dir in $dirs) { $childItems = $dir | Get-ChildItem foreach ($item in $childItems){ $info = New-Object -TypeName PSObject $info| Add-Member -MemberType NoteProperty -Name computername -Value $env:COMPUTERNAME $info| Add-Member -MemberType NoteProperty -Name directory -Value $dir $info| Add-Member -MemberType NoteProperty -Name filename -Value $item.Name.ToString() $info| Add-Member -MemberType NoteProperty -Name files_in_folder -Value $childItems.Count.ToString() $i = $DirInfo.Add($info) } } $Metric = New-Object -TypeName PSObject $Metric | Add-Member -MemberType NoteProperty -Name jobs -Value $DirInfo Write-Host "<-Start Metrics->" $Metric | ConvertTo-Json -Depth 4 Write-Host "<-End Metrics->" if ($allFailedTasks -gt 0) { exit 1 } else{ Write-Host "<-Start Status->" Write-Host "Success" Write-Host "<-End Status->" exit 0 }