Powershell 如何剥离添加到“添加受信任站点”中所需的详细信息

Powershell 如何剥离添加到“添加受信任站点”中所需的详细信息,powershell,Powershell,我们的应用程序使用包含以下详细信息的url文件 [DEFAULT] BASEURL=http://MachineName:1800/App/LandingPage.aspx [InternetShortcut] URL=http://MachineName:1800/App/LandingPage.aspx 我需要将此URL添加到受信任的站点 所以首先我需要得到http://MachineName 独自一人 如果我运行followind命令,它就有了BASEURL所在的完整行 $URL = G

我们的应用程序使用包含以下详细信息的url文件

[DEFAULT]
BASEURL=http://MachineName:1800/App/LandingPage.aspx
[InternetShortcut]
URL=http://MachineName:1800/App/LandingPage.aspx
我需要将此URL添加到受信任的站点

所以首先我需要得到http://MachineName 独自一人

如果我运行followind命令,它就有了BASEURL所在的完整行

$URL = Get-content FileName.url | Select-string -pattern "BASEURL"
如何仅从中获取内容http://MachineName 使用powershell?

cmdlet将返回布尔值或匹配信息。根据:

按输出Microsoft.PowerShell.Commands.MatchInfo或System.Boolean 默认情况下,输出是一组MatchInfo对象,每个对象对应一个 建立如果使用Quiet参数,则输出为布尔值 指示是否找到该模式

当您在不使用-quiet的情况下获得多个匹配时,您将获得一个MatchInfo对象数组。可以通过Matches[]数组的Value属性访问结果,如下所示:

PS C:\> $URL = Get-content \temp\FileName.url | Select-string -pattern "(http://[^:]+)"
PS C:\> $URL

BASEURL=http://MachineName:1800/App/LandingPage.aspx
URL=http://MachineName:1800/App/LandingPage.aspx

PS C:\> $URL[0].Matches[0].value
http://MachineName
PS C:\> $URL[1].Matches[0].value
http://MachineName
为了只捕获不带前缀的BASEURL字符串,请使用非捕获组,如下所示:

PS C:\> $URL = Get-content \temp\FileName.url | Select-string -pattern "(?:BASEURL=)(http://[^:]+)"
PS C:\> $url

BASEURL=http://MachineName:1800/App/LandingPage.aspx

PS C:\> $url.Matches[0].Groups[1].Value
http://MachineName