在远程计算机上使用PowerShell调用Get-Service时,为什么会出现未实现的“ Get-WindowSize”错误?

时间:2019-09-10 06:56:01

标签: powershell powershell-remoting

我有一台Windows 10主机,该计算机连接到同一盒子上托管的Hyper-V Windows 10 VM。 我一直在遵循Pluralsight PowerShell教程。 我正在尝试在远程计算机上提供服务。

我可以使用以下命令在远程计算机上启动会话:

Enter-PSSession -ComputerName Client1 -Credential username

一旦会话开始并且已连接,我将尝试调用Get-Service来标识客户端计算机上的服务。

[Client1]: PS C:\Users\username\Documents>Get-Service

运行上述命令时,出现以下错误消息:

Remote host method get_WindowSize is not implemented.
    + CategoryInfo          : ResourceUnavailable: (:) [out-lineoutput], PSRemotingDataStructureException
    + FullyQualifiedErrorId : System.Management.Automation.Remoting.PSRemotingDataStructureException,Microsoft.PowerShell.Commands.OutLineOutputCommand

我在主机和客户端计算机上运行相同版本的PowerShell( 5.1.18362.145 )。 我以某种方式认为这是客户端计算机上的问题?

2 个答案:

答案 0 :(得分:2)

[Client1]:PS C:\ Users \ username \ Documents>获取服务|外串

这应该可行,可能是PowerShell的错误或Windows 10的新版本

其他链接:https://social.technet.microsoft.com/Forums/en-US/67142783-2acd-4d54-aef2-8d89d71457c5/powershell-remoting-broken-in-windows-10-1903?forum=winserverTS

答案 1 :(得分:2)

"Remote host method get_WindowSize is not implemented."

在客户端上以 PowerShell_ISE 开始的所有远程会话均会发生这种情况。 Out-String的解决方法很烂,它破坏了该调用的Result-Object。 到目前为止,最好的解决方法是不使用ISE或将远程过程嵌入脚本中,然后使用Powershell.exe调用它。

真的很烦……现在还没有解决。

解决方法示例:可以使用:enter-pssession,而不是使用$YourServices=Invoke-command -ComputerName <computername> -ScriptBlock {get-service},然后询问运行服务的结果。然后,您在对象$YourServices中拥有所有服务状态。