PowerShell update connection strings
app-config, connection-string, entity-framework, linq, powershell
Solution
This line solves my problem:
(Get-Content "$aomsDir\$file") | % {$_ -replace '"', '"'} | Set-Content -path "$aomsDir\$file"
It will ensure that " is written to the config file and allows the application to connect to the database.
Problem
I have the following script that will update the connection string across three different config files used in development. ``` function Main() { pushd cd .. $aomsDir = pwd $configFiles = @( 'util\GeneratePocos.exe.config', 'src\Web.UI\web.config', 'src\Data\App.Config') $MyAOMSEntitiesConnStr = $env:AOMS_CONN_STR Write-Host 'Beginning update of Connection strings...' foreach($file in $configFiles) { $config = New-Object XML $config.Load("$aomsDir\$file") foreach($conStr in $config.configuration.connectionStrings.add) { if($conStr.name -ieq 'AOMSEntities') { $conStr.connectionString = $MyAOMSEntitiesConnStr } } $config.Save("$aomsDir\$file") } Write-Host 'Completed updating connection strings for your machine.' popd ``` } Main The problem is that the connection string needs to include "e; but when the config file is saved this becomes "e; As a result the connection string is no longer valid. Does anyone know of a way to do this, I thought about doing a text replace of the file but maybe there is a cleaner way. Thanks for your help.