将get-ChildItem与ACL powershell结合使用

问题描述:

我正在寻找一些关于使用Power shell的文件信息的帮助,当我们需要除了所有者信息之外,我们获得了大部分信息。将get-ChildItem与ACL powershell结合使用

下面的代码返回年纪大了再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 ,但不确定如何配合。

任何人有任何想法,谢谢

这样的事情?

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

三江源非常多,我们得到了它的工作虽然'-passthu'被扔错误的,什么这是为了,再次感谢:) – RobertPitt 2011-06-02 14:48:20

+0

对不起,应该是“-passthru”。没有这一点,它将不会在添加新成员之后将对象向下传递。我纠正了帖子中的代码。 – mjolinor 2011-06-02 14:54:33

+0

我们已经将结果集导出到CSV扩展表中,看起来没问题,看不到任何错误等,但是有可能是因为这些而丢失了行吗? – RobertPitt 2011-06-02 15:01:28

的代码可以通过使用计算特性在ACL所有者场拉来简化:

$Path = 'c:\' 

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