2016-10-03 1 views
0

앱 구성 파일에서 세 개의 연결 문자열을 변경하려면 스크립트를 편집해야합니다. 서버, 더미 DB 이름, 사용자 이름 및 암호를 제공하는 연결 문자열에 대한 변수를 만들었습니다.연결 문자열에서 세 개의 DB 이름 변경

따라서 변수는 Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword입니다.

정상적으로 작동하며 구성 파일이 그에 따라 업데이트되고 있습니다. 다음 단계는 다시 연결 문자열 이름으로 dummyDbName을 대체 연결 문자열을 반복하는, 그래서 경우 :

<add name="correctDbName" connectionString="Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword" providerName="System.Data.SqlClient" /> 

나는 Database=correctDbNameDatabase=dummyDbName을 변경하고 싶습니다.

올바른 경로에 있습니까?

$appConfigFile = (Join-Path $filelocation) 
$appConfig = [xml](Get-Content $appConfigFile) 

$dbName = ($appConfig.configuration.connectionStrings.add | Where-Object {$_.name -eq "aspnetdb"}) 
$dbName = $dbname -replace "dummyDbName", "aspnetdb" 
+0

이 [TechNet의 블로그 게시물 (https://blogs.technet.microsoft.com/heyscriptingguy/2011/03/21/use-powershell-to-replace-text-in-strings/) 제공해야 '-replace' 사용에 대한 지침을 제공합니다. – BenH

답변

0

예 옳은 길을 가고 있습니다.

$node = $appConfig.configuration.connectionStrings.add | 
     Where-Object {$_.name -eq "aspnetdb"} 
$node.connectionString = $node.connectionString -replace 'dummyDbName', 'aspnetdb' 

저장 다시 나중에 파일에 수정 된 XML : 바꾸려는 이름이 <add> 노드의 속성이기 때문에하지만 해당 속성이 아닌 노드 자체를 수정해야합니다.

$appConfig.Save($appConfigFile)