Прежде всего, если это xml, извлеките строку описания устройства, обрабатывая ее как таковую, а затем сопоставьте с нужной вам строкой, в данном случае зеленым.
$x = [xml] (gc .\test.xml)
$x.deviceDescription -match "green"
Если вы не хотите идти по этому пути, вам придется использовать ?s
- однострочный или точечный флаг, который делает * совпадение с новыми строками:
$x = [IO.File]::ReadAllText("C:\test.xml")
$x -match "(?s)<deviceDescription>.*green.*</deviceDescription>"
Обратите внимание, что вы, вероятно, хотите использовать .*?
или это может охватывать несколько тегов deviceDescription. Такие крайние случаи, как это, являются причинами, почему вы должны избегать использования регулярных выражений для таких вещей.