我的远程数据中心有一台Windows 2003服务器。 今天早上我试图通过RDP连接到它,但连接失败,出现以下错误:
此计算机无法连接到远程计算机。 尝试再次连接。 如果问题仍然存在,请联系远程计算机的所有者或networkingpipe理员。
我也尝试使用本地系统中的“shutdown -i”命令发出远程关机/重新启动命令。 没有错误报告,但系统不重新启动。
该服务器运行SQL Server 2005,并且仍然完全可操作并对查询作出响应。
我也可以远程连接到远程系统的服务控制面板。
有什么我可以尝试重新获得对系统的控制,而不是让数据中心的操作员为我服务器上的硬重启?
改为:
shutdown -r -f -m \\hostname -c "Comment goes here"
这有点激烈,但是我需要在一个与你所描述的非常相似的环境中这样做。 我也打开了一个cmd窗口,并开始对服务器进行ping -t,以观察IP堆栈何时closures并重新启动。 当你没有物理访问服务器的时候,这是一个非常有用的活动指示器(或者懒得站起来走过去)。
编辑:(根据您的评论)好吧,首先做这个,然后再试一次(或重新启动,如果正常的话)。 看到它让你更远。 -a将中止系统closures。
shutdown -a -m \\hostname
我遇到了同样的问题,试图在Windows XP机器上执行远程重启。 我最终做的是使用SysInternals PsTools套件的一部分PsKill命令杀死Winlogon进程,如下所示:
pskill \\hostname winlogon
这将导致远程机器立即重新启动。
好吧,这有点疯狂,但你可以在SQL Server上启用xp_cmdshell,然后以运行SQL Server的用户身份执行命令,所以如果不听远程命令,你可以执行shutdown -r命令。
如果你想尝试重新启动RDP而不重新启动这个盒子,你可以试试(这个没有经过testing;我不打算在我的任何盒子上做这个):D):
找出什么是在3389(RDP端口)上收听要求:
xp_cmdshell 'netstat -anO | findstr ":3389"'
用taskkill杀死pid。 最后,发出一个
NET START "TERMINAL SERVICES"
屏住呼吸,然后再次尝试RDP。
如果您发出关机/重新启动并且服务器不会closures,您可以使用pskill工具来终止wininit.exe进程。 在Windows 2012中,您可以使用taskkill本机工具。
首先检查一下,不pipe你是否确定,检查防火墙是否让RDP通过;)这不是愚蠢的,这只是某个时候发生的事情;)
还要检查terminal服务是否打开,如果你有机会在服务器上进行身体检查,也许尝试重启。
这种事情也发生在我的2003 R2服务器上。
当terminal服务停止工作。
这不是对你的问题的回答,而是对可能导致这个问题的解释。 我已经看到RDP在Windows Server 2003上多次停止工作,并且通常发生在两种情况之一中;
后修补。 系统在自动更新后重新启动,但不会完全closures。 terminal会话被注销,没有新的连接被接受,但服务器(文件,mssql,DC)继续工作。
这篇知识库文章CTX116901描述了会话映像空间太小 ,无法加载更多video或打印机驱动程序的问题(因此对于MetaFrame服务器来说是一个问题)。
要通过registry项设置会话图像空间的大小,请尝试
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "SessionImageSize" /t REG_DWORD /d 0x20
尝试像,
0x10(16 Mb)
0x20(32 Mb)
我也遇到了同样的问题,PSKill像魅力一样工作 – 已经在这样的程序中寻找了很久 – 从来不知道sysinternals已经发布了一个。
这通常是由一个不会closures的任务引起的,服务器正在等待任务closures,以便继续重新启动。 你可以通过find罪魁祸首并远程closures来解决这个问题。 使用:tasklist / s HostName通常SQL是直接的嫌疑犯。 使用Taskkill杀死它,服务器将会继续重启。