Transmitir una captura de pantalla entre un servidor y un cliente y mostrarla en un formulario (sin BackgroundImageLayout y maximized) desde PowerShell (Sockets TCP)

Servidor

##Server
$port=2051
$IPEndPoint=New-Object System.Net.IPEndPoint([IPAddress]::Any,$port)
$TcpListener=New-Object System.Net.Sockets.TcpListener $IPEndPoint
$TcpListener.Start()
 
$AcceptTcpClient=$TcpListener.AcceptTcpClient()
$GetStream=$AcceptTcpClient.GetStream()
$StreamReader=New-Object System.IO.StreamReader $GetStream
 
$ReadAllLines = $StreamReader.ReadToEnd()
$Bytes = ([system.Text.Encoding]::Default).GetBytes($ReadAllLines)
rm screenshotcopy.bmp
[System.IO.File]::WriteAllBytes('screenshotcopy.bmp',$Bytes)

#Creación del formulario
$Image=[system.drawing.image]::FromFile(".\screenshotcopy.bmp")
 
$form2 = [Windows.Forms.Form] @{
Text = 'Mi formulario'
BackgroundImage = $Image
Width = $Image.Width
Height = $Image.Height
BackgroundImageLayout = "None"
WindowState = "maximized"
FormBorderStyle = "None"
}
$form2.ShowDialog()

$StreamReader.Dispose()
$GetStream.Dispose()
$AcceptTcpClient.Dispose()

Cliente

[crayon-6a6188a2a4392944665348/]