将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
答
的代码可以通过使用计算特性在ACL所有者场拉来简化:
$Path = 'c:\'
Get-ChildItem $Path |
Select-Object *,@{name='owner';expression={
(get-acl $_.FullName).owner}}
三江源非常多,我们得到了它的工作虽然'-passthu'被扔错误的,什么这是为了,再次感谢:) – RobertPitt 2011-06-02 14:48:20
对不起,应该是“-passthru”。没有这一点,它将不会在添加新成员之后将对象向下传递。我纠正了帖子中的代码。 – mjolinor 2011-06-02 14:54:33
我们已经将结果集导出到CSV扩展表中,看起来没问题,看不到任何错误等,但是有可能是因为这些而丢失了行吗? – RobertPitt 2011-06-02 15:01:28