Sc-*_*ner 7 powershell connection-string web-config powershell-3.0
我需要尝试更新web.config文件以更改web.config的IP地址我已经包含了代码部分我正在寻找powershell来编写更改脚本.
<connectionStrings>
<add name="connectionString" connectionString="provider=SQLOLEDB;Server=192.168.1.100;database=sample;Trusted_Connection=Yes" providerName="System.Data.OleDb" />
<add name="sqlConnectionString" connectionString="Data Source=192.168.1.100;Initial Catalog=sample;Trusted_Connection=Yes" providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我想要一个非常简单的解决方案,只需更新ServerIP地址即可.
任何人都知道使用PowerShell执行此操作的简单方法.
我想到以下几点
$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");
Run Code Online (Sandbox Code Playgroud)
如果您只是想要替换特定的连接字符串,我会像这样获取它:
$con= $cfg.configuration.connectionStrings.add|?{$_.name -eq "SqlDataCon"};
# Replace the content
$con.connectionString = $con.connectionString -replace "192.168.1.100", "1.0.0.1"
Run Code Online (Sandbox Code Playgroud)
你可以试试 :
$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')
Run Code Online (Sandbox Code Playgroud)
这将完成两个连接字符串的工作。如果您不想对旧的IP地址进行硬编码,则可以使用:
$conString -replace 'Server=.*;','Server=10.10.10.11;'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8483 次 |
| 最近记录: |