Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
使用Powershell在2个通配符之间筛选XML输出_Xml_Powershell - Fatal编程技术网

使用Powershell在2个通配符之间筛选XML输出

使用Powershell在2个通配符之间筛选XML输出,xml,powershell,Xml,Powershell,我想从XML文件中为最终用户筛选两个通配符(=和,)之间的文本 XML文件: <OPTIONS Product="Testing" Version="1.1"> <Domains> <Domain Name="domain.local"> <Path>OU=Test1,OU=Users,OU=HQ,DC=domain,DC=local</Path> </Domain> <Domain Name="d

我想从XML文件中为最终用户筛选两个通配符(=和,)之间的文本

XML文件:

<OPTIONS Product="Testing" Version="1.1">
 <Domains>
  <Domain Name="domain.local">
   <Path>OU=Test1,OU=Users,OU=HQ,DC=domain,DC=local</Path>
  </Domain>
  <Domain Name="domain.local">
   <Path>OU=Test2,OU=Users,OU=HQ,DC=domain,DC=local</Path>
  </Domain>
</OPTIONS>
现在我只想显示XML文件的第一个“=”和第一个“,”之间的文本 . 因此,输出将是:

测试1 测试2

等等

我不想用

$ou.Path | select-string -pattern "Test1"
但是在两个通配符之间过滤文本


提前谢谢

您可以使用正则表达式提取它。它从字符串的开头查找“OU=”,然后将所有非逗号的内容放入捕获组($1),然后用捕获的文本替换整个字符串

$ou.Path -replace '^OU=([^,]+).+$','$1'

感谢您的快速回复和解释!
$ou.Path -replace '^OU=([^,]+).+$','$1'