cchitsiang
2/25/2014 - 1:51 AM

Set Connection String Powershell Function Usage: Set-ConnectionString "MyWebApp\app.config" MyConnectionString "Data Source=myServerAddress;

Set Connection String Powershell Function Usage: Set-ConnectionString "MyWebApp\app.config" MyConnectionString "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;" Other Reference for more scenario : http://www.protosystem.net/post/2009/06/01/Using-Powershell-to-manage-application-configuration.aspx

Function Set-ConnectionString{
	[CmdletBinding(SupportsShouldProcess=$True)]
	Param(
        [string]$fileName="app.config",
        [string]$connectionStringName,
        [string]$connectionString
    )
	
	$config = [xml](Get-Content -LiteralPath $fileName)
	
    $config.Configuration.connectionStrings
    
	$connStringElement = $config.SelectSingleNode("configuration/connectionStrings/add[@name='$connectionStringName']")
    
    if($connStringElement) {
        
        $connStringElement.connectionString = $connectionString
    	
    	if($pscmdlet.ShouldProcess("$fileName","Modify app.config connection string")){
    		Write-Host ("Updating app.config connection string {0} to be {1}" -f $connectionStringName, $connectionString)
    	
    		$config.Save($fileName)
    	}
    }
    else{
        Write-Error "Unable to locate connection string named: $connectionStringName"
    }
}