拆分web.config连接字符串

时间:2016-01-07 20:41:00

标签: powershell

我刚开始使用Powershell,我正在尝试拆分保存为字符串的连接字符串。我尝试过正则表达式和数组拆分但是因为我正在学习,所以我想问一下大家的入门级想法。

下面是一个连接字符串示例,我试图将每个关键区域分配给变量。

@{connectionString=Data Source=database;Initial Catalog=catalog;User ID=userid;Password=password}

理想情况下,我希望每个值都可用于变量。

感谢阅读。

3 个答案:

答案 0 :(得分:7)

您可以使用SqlConnectionstringbuilder

,而不是手动解析连接字符串
$builder = New-Object System.Data.SqlClient.SqlConnectionStringBuilder -argumentlist "Data Source=database;Initial Catalog=catalog;User ID=userid;Password=password";
$Builder["User Id"];
$builder["Data Source"];
$builder["Initial Catalog"];

答案 1 :(得分:3)

为简单起见,我从字符串中删除了@{}。我确定你可以对字符串进行一些预处理来修剪它们。

$string = "connectionString=Data Source=database;Initial Catalog=catalog;User ID=userid;Password=password"
$res = $string.Split(";")
$connString = $res[0]
$initialCatalog = $res[1]
$userId = $res[2]
$password = $res[3]

答案 2 :(得分:2)

如果用换行符替换;,可以使用ConvertFrom-StringData将值解析为哈希表:

PS> $connectionString = 'Data Source=database;Initial Catalog=catalog;User ID=userid;Password=password'
PS> $connectionValues = $connectionString -replace ';',"`r`n" |ConvertFrom-StringData
PS> $connectionValues

Name                           Value
----                           -----
User ID                        userid
Data Source                    database
Initial Catalog                catalog
Password                       password