排除基于关键字的任何发现
Exclude any findings based off the keyword
从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'
将 -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'
(扩展了别名以提高可读性)
从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'
将 -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'
(扩展了别名以提高可读性)