我需要编辑脚本以更改应用配置文件中的三个连接字符串。我为连接字符串创建了一个变量,给出了服务器,虚拟数据库名称,用户名和密码。
因此,变量为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"
答案 0 :(得分:0)
是的,你正走在正确的轨道上。但是,由于要替换的名称位于<add>
节点的属性中,因此需要修改该属性,而不是节点本身:
$node = $appConfig.configuration.connectionStrings.add |
Where-Object {$_.name -eq "aspnetdb"}
$node.connectionString = $node.connectionString -replace 'dummyDbName', 'aspnetdb'
之后将修改后的XML保存回文件。
$appConfig.Save($appConfigFile)