为什么这个Powershell脚本会为ipv4搜索提取意外文件?

时间:2015-12-08 21:03:21

标签: powershell ipv4

我构建了一个power shell脚本来查找包含ipv4地址的配置文件。但是,脚本返回的文件没有IP地址。以下脚本将返回以下文件信息:

其中一个返回的文件:" C:\ SoftwareDevelopment \ SourceCode \ subversion \ branches \ SACB_Sprint1 \ packages \ EntityFramework.6.1.0 \ content \ App.config.transform"

以下是该文件的内容:

<configuration>
    <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    </configSections>
</configuration>

以下是PowerShell脚本:

$Path = "C:\SoftwareDevelopment\SourceCode\subversion\branches\"
$Text = "\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"
$PathArray = @()
$Results = "C:\temp\IPV4SearchResults.txt"

Get-ChildItem $Path -Filter "*.config*" -recurse > $Results
Where-Object { $_.Attributes -ne "Directory"} | 
  ForEach-Object { 
     If (Get-Content $_.FullName | Select-String -Pattern $Text) {
        $PathArray += $_.FullName
        $PathArray += $_.FullName
     }
  }

1 个答案:

答案 0 :(得分:0)

我稍微修改了你的脚本。我用2个文件测试了它,一个是你发布的匹配文件中的示例代码,第二个是相同的代码,还有一个IPv4地址,只有一个IPv4地址匹配。

放手一搏:

{{1}}