从https://blog.malwarebytes.com/101/2015/07/introduction-to-alternate-data-streams/
找到了有用的代码行gci -Recurse | % { gi $_.FullName -Stream * } | where stream -ne ':$Data'
我已经与PowerShell失去联系已有一段时间了,因此试图弄清楚如何包括一个-Exclude
函数来缩小它给我提供的输出。对象中有一个元素称为“ Stream”,当它找到字符串“ Zone.Identifier”时,我希望该对象被排除(整个对象,而不仅仅是那一行)。这是下面的输出示例。
我尝试了以下方法,但是没有运气。
gci -Recurse | % { gi $_.FullName -Stream * -Exclude "Zone.Identifier" } | where stream -ne ':$Data'
答案 0 :(得分:3)
将-notin
运算符与where
一起使用:
gci -recurse | % { gi $_.FullName -stream * } | where stream -notin ':$Data','Zone.Identifier'
您还可以完全跳过%
(ForEach-Object
的别名)并将项目直接传送到Get-Item
:
Get-ChildItem -Recurse |Get-Item -Stream * |Where-Object Stream -notin ':$Data','Zone.Identifier'
(扩展别名以提高可读性)