Este é um problema de serialização. New-WebSite e informações do WebSite de nível superior do protocolo IIS:\Sites\{sitename} retornam objetos do tipo Microsoft.IIs.PowerShell.Framework.Configuration . Esse objeto contém uma propriedade ftpServer ; e ftpServer não é serializável.
New-WebApplication e Sub-WebApplication do protocolo IIS:\Sites\{siteName}\{subappname} não possuem uma propriedade ftpServer . Eles não terão o mesmo erro de serialização.
A solução do @cad é ótima, porque evita que o script remoto retorne qualquer objeto.
Mas, se você quiser retornar as informações do site da máquina remota, poderá usar:
$scriptBlock = {
Import-Module WebAdministration
$site = Get-Item IIS:\Sites\www.sitename.com
$site.ftpServer = $null # this won't affect the real server value
return $site
}
Invoke-Command -ComputerName REMOTEPC -ScriptBlock $scriptBlock