Ainda não sei por que, mas você não pode usar o pipeline quando executa alguns cmdlets usando a sessão remota. Você pode primeiro armazenar o resultado de um cmdlet em uma variável e, em seguida, gravar um loop foreach para canalizar o resultado do cmdlet para outro cmdlet.
Por exemplo, primeiro você pode armazenar o resultado de um cmdlet em uma variável e, em seguida, gravar um loop foreach para copiar os arquivos:
invoke-command -session $s {
$files = Get-ChildItem -Path "C:\Install\pre_master"; Foreach($file in $files) { Copy-Item -Path $file -Destination "C:\inetpub\wwwroot\pre_master" -force Recurse}
}