未实现远程主机方法 get_WindowSize
今天使用powershell远程计算机的时候出现了这个错误:未实现远程主机方法 get_WindowSize
国内没搜索到,崩溃,最后才在这里找到:https://social.technet.microsoft.com/Forums/en-US/67142783-2acd-4d54-aef2-8d89d71457c5/powershell-remoting-broken-in-windows-10-1903?forum=winserverTS
我还是转载过来吧,可能没有纵云梯;
太长不看版:不要用powershell ise即可。或者在每个命令后面加上 |out-string
Windows 10 1903中损坏的Powershell远程处理 ![RRS供稿](https://i1.social.s-msft.com/globalresources/Images/trans.gif?cver=0001)
-
题
-
我们将系统升级到1903,但立即无法将Powershell远程连接到该设备。
已经完成了:
没有可用的更新要安装。
重新启动了几次。
防火墙已禁用。
disable-pssession和重新启用pssession,没有错误。
这是我们尝试连接时遇到的错误:
Enter-PSSession:连接到远程服务器testdesktop失败,并显示以下错误消息:WinRM无法处理该
请求。使用Kerberos身份验证时发生以下错误代码为0x80090322的错误:
发生未知的安全错误。
可能的原因是:
-指定的用户名或密码无效。
如果未指定身份验证方法和用户名,则使用-Kerberos。
-Kerberos接受域用户名,但不接受本地用户名。
-远程计算机名称和端口的服务主体名称(SPN)不存在。
-客户端和远程计算机位于不同的域中,并且两个域之间没有信任关系。
检查完上述问题后,请尝试以下操作:-
检查事件查看器中与认证有关的事件。
-更改身份验证方法;将目标计算机添加到WinRM TrustedHosts配置设置中或使用HTTPS
传输。
请注意,TrustedHosts列表中的计算机可能未经身份验证。
-有关WinRM配置的更多信息,请运行以下命令:winrm help config。有关更多信息,请参见
about_Remote_Troubleshooting帮助主题。
在第1行:char:1
+ Enter-PSSession testdesktop
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo:InvalidArgument:(testdesktop:String )[Enter-PSSession],PSRemotingTransportException
+ FullyQualifiedErrorId:CreateRemoteRunspaceFailed互联网上有很多有关Web服务器上SPN损坏以及删除或重新创建的内容:
http / host.domain.com
但这不是Web服务器,只是Windows 10桌面。此框上没有现有的HTTP SPN。
域信任很好,计算机帐户很好。
任何想法表示赞赏。
- 由 Travis Huang 移动Microsoft特遣队人员2019年6月7日,星期五5:17 AM 右论坛
全部回覆
-
我已经测试了几台1903年使用enter-pssession进行升级的机器,并且在运行get-service或get-process时收到以下错误。运行get-wmiobject似乎可以。
远程主机方法get_WindowSize未实现。
+ CategoryInfo:ResourceUnavailable:(:) [outline-outoutput],PSRemotingDataStructureException
+ FullyQualifiedErrorId:System.Management.Automation.Remoting.PSRemotingDataStructureException,Microsoft.PowerShell.Commands.OutLineOutputCommand -
嗨,
我想向您确认是域环境还是工作组环境?
请打开Windows防火墙。如果是域/专用配置文件,请在PS cmdlet下方键入并检查结果:
Enable-PSRemoting -Force
winrm s winrm / config / client'@ {TrustedHosts =“ <IP地址> ”}“
如果是公用网络配置文件,请键入在PS cmdlet下方,并检查结果:
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule-名称“ WINRM-HTTP-In-TCP” -RemoteAddress任意
SPN是服务的唯一标识,已映射到特定帐户。请使用SETSPN列出链接到计算机或用户帐户的SPN:
Setspn -L <计算机名> / <用户名>
确保没有冲突,请参考“ Setspn ”以获取更多信息:
https : //docs.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-server-2012-R2-and- 2012 / cc731241(v = ws.11)
最好的问候,
夏娃
如果有帮助,请记住将答复标记为答案。
如果您对TechNet订户支持有任何反馈,请联系 tnmff@microsoft.com。 -
这里也是。
仅在Powershell ISE控制台中出现错误,在Powershell控制台中一切正常。
在Powershell ISE中,Get-Process会引发错误:
[计算机名]:PS C:\ Users \ user \ Documents> get-process | Out-Host
远程主机方法get_WindowSize未实现。
+ CategoryInfo:ResourceUnavailable:(:) [outline-out],PSRemotingDataStructureException
+ FullyQualifiedErrorId:System.Management.Automation.Remoting.PSRemotingDataStructureException,Microsoft.PowerShell.Commands.OutLineOutputCommand但是Get-Process | Out-String运行良好:
[计算机名]:PS C:\ Users \ user \ Documents> get-process |字符串
处理NPM(K)PM(K)WS(K)CPU ID SI ProcessName
-------- ---- ----- ----- -------------------
324 20 9176 26768 0,06 192 1 ApplicationFrameHost
349 30 34004 52264 45,92 7656 1铬
302 24 15768 21008 0,09 9436 1铬
1177 56 91972 125692 12,30 9512 1铬
219 15 3688 9044 0,02 9576 1铬 -
-
自发布以来,我一直没有看过这个问题,现在无论出于什么原因,ps-remoting都可以再次工作。像魔术。也许重新启动或修复了另一轮补丁。
无论如何,谢谢!
- 由 Eve Wang 建议作为答案Microsoft临时人员,主持人2019年6月24日星期一1:12 AM
-
嗨,
我很高兴听到您的问题已成功解决。如果我们还有其他可以为您做的事情,请随时在论坛上发布。
最好的问候,
伊芙·王
如果有帮助,请记住将答复标记为答案。
如果您对TechNet订户支持有任何反馈,请联系 tnmff@microsoft.com。 -
我遇到的是完全相同的问题,希望我知道您解决该问题的方法是什么!我已经多次重启并应用了所有最新的Windows Update,但没有解决问题。
我正在升级将加入Win10笔记本电脑的AzureAD升级到1903,并且远程ISE powershell会话在升级之前可以正常工作。升级后,Powershell控制台立即继续工作,但是Powershell ISE控制台经常出现故障
远程主机方法get_WindowSize未实现。
+ CategoryInfo:ResourceUnavailable:(:) [outline-outoutput],PSRemotingDataStructureException
+ FullyQualifiedErrorId:System.Management.Automation.Remoting.PSRemotingDataStructureException,Microsoft.PowerShell.Commands.OutLineOutputCommand在大多数cmdlet上。如上所述,get-wmiobject和get-host一样工作良好。
但是,我发现大多数cmdlet都会失败,包括“ get-childitem(“ *”)“或” Get-CimInstance win32_userprofile“等。
建立远程PS会话显然没有问题,因为像get-host这样的cmdlet可以像Powershell控制台一样正常工作。我重做了Enable-PSRemoting和Set-NetFirewallRule,但是它们已经到位,并且没有帮助。
我无法获得“ SetSPN -L”来提供任何内容,而且我也没有明白为什么这很重要。
我正在使用远程
Enter-PSSession-计算机名$ device-凭据$ cred -UseSSL
使用每台笔记本电脑上的本地管理员帐户,因为我从未成功使用$ cred中的AzureAD凭据。
问题肯定与管道输出到控制台有关。
谁能提供有关在Win 1903中如何使用Remote ISE powershell解决新管道问题的建议?它阻碍了我们的升级。
-