将get-ChildItem与ACL powershell结合使用

时间:2011-06-02 13:45:26

标签: powershell get-childitem

我正在寻找有关使用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 个答案:

答案 0 :(得分:5)

这样的东西?

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

答案 1 :(得分:0)

可以通过使用计算属性来拉入ACL所有者字段来简化代码:

$Path = 'c:\'

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