我租用了一台 Windows Web Server 2008 x64 机器 (AMD)。通常我可以通过 RDP 访问,但自从最新的 Windows 更新以来,机器似乎无法再完成启动,我无法访问它(无论是 RDP 还是 HTTP)。
我可以成功 ping 通机器,但是没有人在监听端口 80 或 RDP。
使用 Nmap 检查机器,结果发现只有很少几个端口在监听:
Starting Nmap 6.00 ( http://nmap.org ) at 2012-06-13 21:39 Mitteleuropäische Sommerzeit
Nmap scan report for xxxxx.server4you.de (80.86.xxx.xxx)
Host is up (0.033s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
1025/tcp open NFS-or-IIS
1026/tcp open LSA-or-nterm
1027/tcp open IIS
1028/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 16.88 seconds
我可以访问一种恢复控制台 - Windows XP 64 位系统,可以访问我的故障 Web 服务器的硬盘。
乍一看,硬盘上一切正常 - 甚至引导记录条目看起来也没有什么可疑之处。此外,pagefile.sys 在更新后有实际的修改文件日期。
由于我可以访问故障机器的硬盘,热线人员建议我连接到我的网络服务器的注册表并查找可能启用的防火墙:
- 执行>regedit
- 点击“HKEY_LOCAL_MACHINE”
- 点击“文件”菜单中的“加载配置单元”
- 选择文件 -> C:\Windows\system32\config\SYSTEM
- 给出一个临时名称(例如“RegTemp”)
- 单击“确定”加载文件
- 现在可以通过“HKEY_LOCAL_MACHINE\RegTemp”访问注册表树
- 打开 HKEY_LOCAL_MACHINE\RegTemp\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\
- 在文件夹“PublicProfile”和“StandardProfile”中将“EnableFirewall”和“DoNotAllowExceptions”的值设置为 0
- 再次点击“RegTemp”
- 单击“文件”菜单中的“卸载配置单元”
- 关闭 regedit 并重新启动系统
不幸的是,这并没有起作用。
我有点不知所措,因为我更像是一名软件开发人员,而不是管理员。但如果有人给我一个正确的提示,我就不会害怕深入研究注册表或系统中的任何地方。
也许启用启动日志记录已经有帮助了,但我不知道如何在不访问修复控制台的情况下启用它...(并且对于 Windows XP x64,我不知道如何修改 Windows Server 2008 x64 启动记录)。
答案1
许多人都遇到过 Server 2008 和 SP1 禁用/中断 RDP 访问的问题。SP1 之后的更新之一解决了该问题,因此如果您有控制台访问权限或其他远程访问方式,则可以继续应用更新,直到它再次正常工作。
如果失败,您可以尝试使用 WMI 卸载一些可能的罪魁祸首。修补程序 KB2667402 通常是原因,因此您可以尝试:
If you want to uninstall hotfix KB2667402 remotely (via WMI) try:
wmic /node:<SERVER> /user:<USER> process call create "powershell wusa /uninstall /kb:2667402 /quiet /forcerestart"
如果这不管用,那么网上有很多资料,因为这是一个非常常见的问题 - 在 Google 中输入“server 2008 sp1 rdp”,你会得到一大堆结果,其中包含其他可能的解决方案。不过,安装剩余更新或远程卸载 KB2667402 是我亲眼见过的唯一有效的方法。