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