【发布时间】:2020-09-01 02:46:45
【问题描述】:
我收到了一个 F5 负载均衡器的配置文件,并被要求使用 PowerShell 对其进行解析,以便它为找到的每个 iRule 创建一个 .txt 文件。我对解析很陌生,我似乎无法理解它。
我设法提取了每条规则的名称并创建了一个单独的 .txt 文件,但我无法将规则的内容写入其中。由于并非所有规则都相同,我似乎无法使用正则表达式。
从配置文件中提取:
ltm rule /Common/irule_name1 {
SOME CONTENT
}
ltm rule /Common/irule_name2 {
SOME OTHER CONTENT
}
我现在有什么
$infile = "F5\config_F5"
$ruleslist = Get-Content $infile
foreach($cursor in $ruleslist)
{
if($cursor -like "*ltm rule /*") #new object started
{
#reset all variables to be sure
$content=""
#get rulenames
$rulenameString = $cursor.SubString(17)
$rulename = $rulenameString.Substring(0, $rulenameString.Length -2)
$outfile = $rulename + ".irule"
Write-Host $outfile
Write-Host "END Rule"
#$content | Out-File -FilePath "F5/irules/" + $outfile
}
}
如何让我的 powershell 脚本读出每条规则括号之间的内容? (在本例中为“某些内容”和“某些其他内容”)
【问题讨论】:
标签: powershell f5