Modify web.config with powershell

后端 未结 2 990
再見小時候
再見小時候 2021-01-17 18:34

I need to try to update a web.config file to change the IP address only of the web.config I have included the section of code Im looking at for powershell to script the chan

相关标签:
2条回答
  • 2021-01-17 18:39

    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;'
    
    0 讨论(0)
  • 2021-01-17 19:02

    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"
    
    0 讨论(0)
提交回复
热议问题