Powershell regex for connectionStrings?

2019-06-17 01:40发布

问题:

For some reason I'm having a brutal time parsing the connection string in the web.config file.

I've already gotten connectionString but I'm trying to get all the values such as the

  • Data Source
  • Initial Catalog
  • Username
  • etc...

The connection string looks like:

Data Source=db.sample.com;user id=sample-user;password=sample-password;Initial Catalog=sample-catalog;

回答1:

Use System.Data.Common.DbConnectionStringBuilder

$sb = New-Object System.Data.Common.DbConnectionStringBuilder
$sb.set_ConnectionString('Data Source=db.sample.com;user id=sample-user;password=sample-password;Initial Catalog=sample-catalog;')

$sb

Output:

Key             Value          
---             -----          
data source     db.sample.com  
user id         sample-user    
password        sample-password
initial catalog sample-catalog 

See also for more details: DbConnectionStringBuilder does not parse when used in PowerShell

(That is why this funny syntax $sb.set_ConnectionString(...) is used instead of $sb.ConnectionString = ...).