【发布时间】:2017-10-02 14:55:18
【问题描述】:
感谢阅读。
我在一个小的 powershell 脚本中工作.. 想法是解析这些信息
Hostname:
xxxxx-CS0,xxxx
Network:
IPv4 Address = xxxxx
IPv4 Netmask = 255.255.254.0
IPv4 Gateway = xxxxx
DNS Servers = xxxxx
Hostname:
xxxxx,8.1.9-184
Network:
IPv4 Address = xxxxx
IPv4 Netmask = xxxxx
IPv4 Gateway = xxxxxx
DNS Servers = xxxxxx
Hostname:
xxxxxx,7.1.80-7
Network:
IPv4 Address = xxxx
IPv4 Netmask = xxxxx
IPv4 Gateway = xxxxx
DNS Servers = xxxxx
所以.. 我已经获得了所有信息,除非主机名带有此代码
$info = Get-Content C:\xxxxxx\IP_info_all.txt
write-host "Network Information VNX"
ForEach ($network in $info) {
$hostname = ($network -split "`n")
if($hostname -match "Hostname")
{
Write-Host $hostname
$hostname =""
}
$b = ($network -split " ")[1]
if ($b -match "Address") {
$b
$c = ($network -split "=")[1]
$c
if ($name -match "IPv4"){
$name
$copyname =($network -split ":")[0]
}
}
$b = ($network -split " ")[1]
if ($b -match "Netmask") {
$b
$maskid = ($network -split "=")[1]
$maskid }
$d = ($network -split " ")[1]
if ($d -match "Gateway") {
$d
$Gatewayid = ($network -split "=")[1]
$Gatewayid
}
$z = ($network -split " ")[1]
$v = "DNS"
if ($z -match "Servers")
{
$v
$dnsserverid = ($network -split "=")[1,2,3]
$dnsserverid
}
输出给出了网络信息的名称和编号,但我不知道如何获取“主机名”字符串下的下一行。
我需要这样的输出:
Network Information VNX
Hostname:
Address
xxxx
Netmask
xxxx
Gateway
xxxx
DNS
xxxx
Hostname:
Address
xxxx
Netmask
xxxx
谢谢!
【问题讨论】:
-
编辑了几次,但它应该能满足你的需要