Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex从ipconfig/all提取DNS服务器_Regex_Powershell_Ipconfig - Fatal编程技术网

Regex从ipconfig/all提取DNS服务器

Regex从ipconfig/all提取DNS服务器,regex,powershell,ipconfig,Regex,Powershell,Ipconfig,我已经四处寻找解决办法,但还没有找到任何好办法。我需要从powershell脚本中的命令ipconfig/all的输出中提取DNS服务器。获取此信息的最佳方式是什么 例如: Lease Expires . . . . . . . . . . : Monday, August 6, 2018 12:46:13 PM Default Gateway . . . . . . . . . : fe80::200:5eff:fe00:204%4

我已经四处寻找解决办法,但还没有找到任何好办法。我需要从powershell脚本中的命令ipconfig/all的输出中提取DNS服务器。获取此信息的最佳方式是什么

例如:

   Lease Expires . . . . . . . . . . : Monday, August 6, 2018 12:46:13 PM
   Default Gateway . . . . . . . . . : fe80::200:5eff:fe00:204%4
                                       10.161.180.1
   DHCP Server . . . . . . . . . . . : 10.221.228.17
   DHCPv6 IAID . . . . . . . . . . . : 115363651
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-22-DE-E5-35-E0-4F-43-29-6E-21
   DNS Servers . . . . . . . . . . . : 10.50.50.50
                                       10.50.10.50
   NetBIOS over Tcpip. . . . . . . . : Enabled

我需要选择2个IP的10.50.50.50和10.50.10.50

您可以使用这样的正则表达式:

"DNS Servers[ .]+:\s+(?<DNS1>\d\d?\d?\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?)\s*(?<DNS2>\d\d?\d?\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?)?"
$result = ipconfig /all
$groups = [regex]::matches($result, "DNS Servers[ .]+:\s+(?<DNS1>\d\d?\d?\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?)\s*(?<DNS2>\d\d?\d?\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?)?")[0].Groups
$groups[1].Value -> 10.50.50.50
$groups[2].Value -> 10.50.10.50