使用Powershell从环境变量读取连接字符串



我有asp.net mvc应用程序,其中数据库连接字符串放置在环境变量DbConn

Min Pool Size=20;Application Name=***;**initial catalog=*****;server=***;Integrated Security=True;

现在我的问题是如何使用Powershell脚本读取此连接字符串。我知道如何读取整个连接字符串Get-ChildItem Env:DBConn,但我需要它的一部分,如初始目录,服务器等。

请指导我解决这个问题

您可以使用-split, Trim()和哈希表解析和标记连接字符串:

$DBConnValues = @{}
$env:DBConn.Trim(";") -split ";" |ForEach-Object { 
    $key,$value = $_ -split "="
    $DBConnValues[$key] = $value
}

现在您可以通过名称访问每个属性:

PS C:> $DBConnValues["Server"]
ServerName

这将是ConvertFrom-StringData的完美案例,以便您可以将其变为自定义对象。

$props = $env:DBConn -replace ";","`r`n" | ConvertFrom-StringData
$dbConn = New-Object -TypeName psobject -Property $props

ConvertFrom-StringData需要一个字符串,其中每行是一个键值对。我们就是通过用换行符替换分号得到的。它返回一个哈希表,我们将它提供给New-object以获得一个自定义的PowerShell对象。然后你就可以像在PowerShell中那样使用新对象了。

$dbConn."Min Pool Size"

相关内容

  • 没有找到相关文章

最新更新