狂自私

导航

未实现远程主机方法 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供稿

  • 我们将系统升级到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。

    域信任很好,计算机帐户很好。

    任何想法表示赞赏。

     

     

     

     

    2019年6月6日星期四晚上7点35分
    ITdude101的头像
     
    65 
     

全部回覆

  • 我已经测试了几台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

     

    2019年6月7日星期五凌晨1点54分
    Thejuice的头像336
     
     
  •  
  • 嗨,

    我想向您确认是域环境还是工作组环境? 

    请打开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

    2019年6月7日星期五早上7点02分
    夏娃·王的头像
    (MSFT CSG)
    38,540 
    主持人
  •  
  • 这里也是。

    仅在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铬     

     

     

    2019年6月7日星期五早上8点16分
    Kobie88的头像
     
     
  •  
  • 好捕获,这似乎仅在ISE中发生。常规PS控制台工作正常。 
    2019年6月7日星期五上午10点55分
    Thejuice的头像336
     
     
  •  
  • 嗨,

    有什么更新吗?

    最好的问候,
    伊芙·王

    如果有帮助,请记住将答复标记为答案
    如果您对TechNet订户支持有任何反馈,请联系 tnmff@microsoft.com

    2019年6月18日星期二凌晨2点51分
    夏娃·王的头像
    (MSFT CSG)
    38,540 
    主持人
  •  
  • 自发布以来,我一直没有看过这个问题,现在无论出于什么原因,ps-remoting都可以再次工作。像魔术。也许重新启动或修复了另一轮补丁。

    无论如何,谢谢!

     

    2019年六月22日星期六5:51 PM
    ITdude101的头像
     
    65 
     
  •  
  • 嗨,

    我很高兴听到您的问题已成功解决。如果我们还有其他可以为您做的事情,请随时在论坛上发布。

    最好的问候,
    伊芙·王

    如果有帮助,请记住将答复标记为答案
    如果您对TechNet订户支持有任何反馈,请联系 tnmff@microsoft.com

    2019年6月24日星期一上午1:13
    夏娃·王的头像
    (MSFT CSG)
    38,540 
    主持人
  •  
  • 我遇到的是完全相同的问题,希望我知道您解决该问题的方法是什么!我已经多次重启并应用了所有最新的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解决新管道问题的建议?它阻碍了我们的升级。

    2019年8月5日,星期一1:35
    KRiggleman的头像
     
     
  •  
  • 与1903 KB4512941-相同的问题

    带有消息“ 未实现远程主机方法get_WindowSize的远程ISE” 

    常规PS控制台工作正常。 

    2019年10月25日星期五下午3点50分
    andreami的头像
     
     
  •  
  • 这似乎与默认格式(即“格式表”)更具体相关,因为您通过“格式列表”通过管道传送对象时,看不到任何问题。

    2019年10月28日,星期一10:58 AM

posted on 2019-12-23 10:03  狂自私  阅读(721)  评论(0编辑  收藏  举报