O conteúdo que está sendo escrito não pode ser lido ao mesmo tempo.
Como uma solução para você, você pode ler o arquivo usando a cópia de sombra. Para isso, você precisará montar uma cópia de sombra.
$s1 = (Get-WmiObject -List Win32_ShadowCopy).Create("X:\", "ClientAccessible")
$s2 = Get-WmiObject Win32_ShadowCopy | Where-Object { $_.ID -eq $s1.ShadowID }
$d = $s2.DeviceObject + "\" #
cmd /c mklink /d X:\tmpshacpy "$d"
Depois disso, você pode acessar o local montado (X: \ tmpshacpy) e ler o arquivo bem.
Para desmontar a cópia de sombra após a conclusão da leitura, use $ s2.Delete ().