Проверить содержимое из invoke-webrequest на наличие строки

У меня есть следующий бит powershell, проверяющий файл версии на задней панели одного из моих приложений.

invoke-webrequest "https://mypi.mydomain/version.htm" | Select-Object -Property Content

Это возвращает номер версии и имя среды:

Content             
-------             
0.3.552.2 webapilive

Попытка получить какой-нибудь powershell для поиска контента по тексту webapilive или webapilive1.

Это должно использоваться в Octopus Deploy и использоваться в двух разных средах, настроенных в развертываниях Blue Green. Мне нужно, чтобы это потерпело неудачу, если я пытаюсь использовать веб-приложение поверх веб-приложения.

Powershell выше возвращает содержимое со страницы, но нужно выяснить, как его проверить.


person John Fox    schedule 22.04.2019    source источник
comment
сохраните его в $Var, а затем используйте $Var.Content для доступа к значению этого свойства.   -  person Lee_Dailey    schedule 22.04.2019


Ответы (2)


Вы уже выбрали конкретное свойство. Если вы просто хотите проверить содержимое без заголовков, просто используйте метод Dot для доступа к нему.

(invoke-webrequest "https://mypi.mydomain/version.htm" | Select-Object -Property Content).Content

Вы можете получить доступ к любому свойству, подобному этому.

person Ranadip Dutta    schedule 22.04.2019

Два способа сделать это:

Заключите все в круглые скобки, например ().content

$var = (invoke-webrequest "https://mypi.mydomain/version.htm" | Select-Object -Property Content).content
if($var -like "*webapilive*")
{
 # Your code
}

Или сохраните его в var и используйте $var.content

$var = invoke-webrequest "https://mypi.mydomain/version.htm" | Select-Object -Property Content
if($var.content -like "*webapilive*")
{
 # Your code
}
person Desinternauta    schedule 22.04.2019