检查来自invoke-webrequest的内容是否为字符串

时间:2019-04-22 10:56:58

标签: string powershell invoke-webrequest

在我的一个应用程序的背面,我得到了以下一些Powershell检查版本文件的信息。

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

这将返回版本号和环境名称:

Content             
-------             
0.3.552.2 webapilive

尝试获得一些功能强大的功能来搜索内容中的webapilive或webapilive1文本。

这将在Octopus Deploy中使用,并在Blue Green部署中的两个不同环境设置中使用。如果要在webapilive应用程序上尝试使用webapilive,我需要它失败。

上面的powershell返回页面中的内容,但需要弄清楚如何检查它。

2 个答案:

答案 0 :(得分:0)

您已经选择了特定的属性。如果您只想检查没有标题的内容,则只需使用Dot方法即可访问它。

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

您可以访问任何类似的属性。

答案 1 :(得分:0)

执行此操作的两种方法是:

将所有内容括在括号中,例如().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
}