Объедините get-ChildItem с PowerShell ACL - PullRequest
1 голос
/ 02 июня 2011

Мне нужна помощь по информации о файлах с помощью Power shell, мы получаем большую часть информации, когда нам нужно, кроме информации о владельце.

код ниже возвращает список каталогов, которые старше 1 года, но проблема в том, что мы не можем получить информацию о владельце, чтобы показать там:

gci -r 
"D:\Network Shares\ICT\ICT\Network Shares\ICT\Innovations\Robert Pitt" | ? 
{
    $_.LastWriteTime -lt (Get-Date).AddYears(-1)} >> D:\temp\ICTFileAge.txt
}

Мы знаем о команде под названием Get-ACL, но не знали, как все это связать.

У кого-нибудь есть идеи, пожалуйста, спасибо

Ответы [ 2 ]

5 голосов
/ 02 июня 2011

Как то так?

gci -r "D:\Network Shares\ICT\ICT\Network Shares\ICT\Innovations\Robert Pitt" |
? {$_.LastWriteTime -lt (Get-Date).AddYears(-1)} |
 % {$_ | add-member -name "Owner" -membertype noteproperty -value (get-acl $_.fullname).owner -passthru} |
  Select fullname,lastwritetime,owner
0 голосов
/ 15 июля 2016

Код можно упростить, используя вычисляемое свойство для извлечения в поле владельца ACL:

$Path = 'c:\'

Get-ChildItem $Path |
Select-Object *,@{name='owner';expression={
(get-acl $_.FullName).owner}}
...