Modify web.config with powershell Modify web.config with powershell powershell powershell

Modify web.config with powershell


I'd to the following

$cfg = [xml](gc web.config)# Replace all references of the IP in all connection string$cfg.configuration.connectionStrings.add|%{   $_.connectionString = $_.connectionString -replace "192.168.1.100", "1.0.0.1";}$cfg.Save("Web.config");

If you are just looking to replace a specfic connection string, I'd fetch it like this:

$con= $cfg.configuration.connectionStrings.add|?{$_.name -eq "SqlDataCon"};# Replace the content$con.connectionString = $con.connectionString -replace "192.168.1.100", "1.0.0.1"


You can try :

$xml = [xml](Get-Content c:\temp\web.config)$conString = $xml.connectionStrings.add[0].connectionString$conString2 = $conString -replace '192.168.1.100','10.10.10.10'$xml.connectionStrings.add[0].connectionString = $conString2$conString = $xml.connectionStrings.add[1].connectionString$conString2 = $conString -replace '192.168.1.100','10.10.10.10'$xml.connectionStrings.add[1].connectionString = $conString2$xml.Save('c:\temp\web2.config')

This do the job for the two connection strings. If you don't want to hard code the old IP address you can use :

$conString -replace 'Server=.*;','Server=10.10.10.11;'