在powershell中搜索wilcard

时间:2016-03-03 18:59:26

标签: file powershell search

我在一个拥有许多Windows 2012文件服务器的大型组织工作,我们将AD用户个人资料文件夹重定向到。

自从Crypo-wall viruII一直困扰着我们以来,我们一直在搜索,寻找某人帐号被感染的各种告密签名。

最后一个广告系列在其中保留了包含HELP_YOUR_FILES *的文件,因此很容易找到

Get-ChildItem -Recurse -Force $filePath -ErrorAction SilentlyContinue | Where-Object { ($_.PSIsContainer -eq $false) -and  ( $_.Name -like "*$fileName*") } | Select-Object Name,Directory| Format-Table -AutoSize *

现在从本周开始,我们遇到了一个新的Cryto-wall活动,让受影响的用户文件像这样

<original_filename>.extension.mp3

仅使用* .mp3的搜索参数或甚至 .mp3(试图捕获双桶文件扩展名,只是保持返回所有mp3文件,这些文件太大而无法排序并发现任何感染。

有没有人建议如何只找到

<original_filename>.extension.mp3

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用RegEx匹配来帮助解决此问题。它不会是完美的,但它会限制结果。我想我会做类似的事情:

Get-ChildItem -Recurse -Force $filePath -ErrorAction SilentlyContinue | Where-Object { ($_.PSIsContainer -eq $false) -and  ( $_.Name -match "\.[^\.]+\.mp3$") } | Select-Object Name,Directory| Format-Table -AutoSize *

那将搜索一个模式,其中有一个句点,至少有一个非句号字符,另一个句点,然后是mp3后面没有任何内容。这是一个RegEx101 Explaination

正如RegEx101示例在最后一行匹配中所示,这不是万无一失的,需要人工审核,但它应该将误报结果降至最低。