更改连接字符串

时间:2016-10-03 14:22:05

标签: powershell connection-string app-config

我需要编辑脚本以更改应用配置文件中的三个连接字符串。我为连接字符串创建了一个变量,给出了服务器,虚拟数据库名称,用户名和密码。

因此,变量为Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword

这很好用,配置文件正在相应更新。下一步是再次遍历连接字符串并用连接字符串名称替换dummyDbName,所以如果:

<add name="correctDbName" connectionString="Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword" providerName="System.Data.SqlClient" />

我想将Database=dummyDbName更改为Database=correctDbName

我是在正确的轨道上吗?

$appConfigFile = (Join-Path $filelocation)
$appConfig = [xml](Get-Content $appConfigFile) 

$dbName = ($appConfig.configuration.connectionStrings.add | Where-Object {$_.name -eq "aspnetdb"})
$dbName = $dbname -replace "dummyDbName", "aspnetdb"

1 个答案:

答案 0 :(得分:0)

是的,你正走在正确的轨道上。但是,由于要替换的名称位于<add>节点的属性中,因此需要修改该属性,而不是节点本身:

$node = $appConfig.configuration.connectionStrings.add |
        Where-Object {$_.name -eq "aspnetdb"}
$node.connectionString = $node.connectionString -replace 'dummyDbName', 'aspnetdb'

之后将修改后的XML保存回文件。

$appConfig.Save($appConfigFile)