Localizar e substituir nos arquivos falha

Eu estou tentando encontrar e substituir em um arquivo usando a seguinte abordagem.

<code>Function Find-Replace ($FileFullpath, $FindString, $ReplacementString) {

   Get-Content $FileFullpath | 
   Foreach-Object {$_ -replace $FindString, $ReplacementString } |  
   Set-Content $FileFullpath

}

Find-Replace "c:\program files (x86)\MyProj\web.config" $OldServiceName $NewServiceName
</code>

Mas eu estou sempre recebendo erro.

Set-Content: O processo não pode acessar o arquivo 'c: \ arquivos de programas (x86) \ MyProj \ web.config' porque está sendo usado por outro processo.

O arquivo não é aberto em nenhum lugar. Acho que o Get-content ainda está para liberar o arquivo.

Por que isso acontece? Como encontrar e substituir no mesmo arquivo sem problema?

questionAnswers(1)

yourAnswerToTheQuestion