处理脚本以获取服务器上的所有文件并将其属性转换为CSV。下面工作正常,但是,我想添加一些文件和文件夹排除。
对于文件夹,我想跳过cookies文件夹USERS \ name \ Personal \ sysdata \ cookies
对于文件,我想排除.lnk和.url文件。
谢谢。
$arr = @()
gci "D:\COMPANY\USERS\a, user" -recurse
| ? {$_.PSIsContainer -eq $False}
| % {
$obj = New-Object PSObject
$obj | Add-Member NoteProperty Directory $_.DirectoryName
$obj | Add-Member NoteProperty Name $_.Name
$obj | Add-Member NoteProperty MB ("{0:N3}" -f ($_.Length/1MB))
$obj | Add-Member NoteProperty created $_.creationtime
$obj | Add-Member NoteProperty LastAccessed $_.LastAccessTime
$obj | Add-Member NoteProperty LastMofified $_.LastWriteTime
$obj | Add-Member NoteProperty Extension $_.Extension
$obj | Add-Member NoteProperty Owner ((Get-ACL $_.FullName).Owner)
$arr += $obj
}
$arr | Export-CSV -notypeinformation "C:\filesTest.csv"
答案 0 :(得分:2)
它使用正则表达式,所以它不是超级快,但尝试在第3行附加过滤器:
| ? {$_.PSIsContainer -eq $False -and $_.Extension -notin ".lnk",".url" -and $_.Directory -notmatch ".*USERS\\.*\\Personal\\sysdata\\cookies"}