'pskill \\hostname winlogon' 可能会让服务器“卡在重启状态”,但是为什么呢?

'pskill \\hostname winlogon' 可能会让服务器“卡在重启状态”,但是为什么呢?

问题:执行远程 (Sysinternals) 命令... pskill \\machine winlogon ...可以移动卡在重新启动状态的服务器,但是它如何/为什么会起作用?您如何知道要终止哪个服务?

重新创建(例如):运行 Windows 更新,允许重新启动,然后...什么都没有!RDP 被切断,但服务器没有重新启动。几乎所有其他服务似乎都保持运行。

进一步的背景:多年来,我在世界各地的虚拟机上都遇到过这个问题,并使用各种 sc.exe 和关机命令来了解服务器的状态并尝试远程重启处于这种状态的服务器,但收效甚微。大多数数据中心不提供任何方法来查看真正的控制台或关闭/打开此类机器。他们会收取费用,让您在下班后打电话给他们做这些简单的事情,而您几乎总是需要运行维护任务。

例如

NET USE \\machine\IPC$ /USER:登录密码

sc \\机器查询 RpcSs

sc \\机器查询 TermService

sc \\机器查询 wuauserv

任务列表/s 机器

这有时对我有用...

关机/m \\machine/r/f/t: 0

...但它经常会失败:系统正在关闭(1115)。

我发现了这个问题和@Tweek 的回答,而且效果确实很好,但我只是运气好吗?

无法通过 RDP 连接到 Win 2003 框或启动远程重启

@Tweek 说运行:pskill \\hostname winlogon

...这让我以一种新的方式摆脱了这种情况(我最近使用的是 Server 2008 R2)——真的很有用!我只需要知道我是否很幸运,或者这里是否有更多的科学依据。我想知道的是为什么系统登录过程?

@Livne 说使用“tasklist /s HostName”来查看罪魁祸首是什么,但是你如何从列出的输出中看出呢?它只是一个正在运行的任务等的列表。从中我不知道要寻找什么,也看不到有关 winlogon 进程的任何信息来提示我应该终止该进程。

稍后添加到问题:在目标计算机上发现的事件日志条目,包括执行 pskill winlogon(远程)之前和之后...

日志名称:系统 来源:USER32 日期:2011 年 4 月 2 日,上午 4:09:51 事件 ID:1074 任务类别:无 级别:信息 关键字:经典 用户:sqlX\joeblogsblogs 计算机:sqlX.example.org 描述:进程 Explorer.EXE 已代表用户 sqlX\joeblogs 启动计算机 sqlX 的重新启动,原因如下: 操作系统:恢复(计划中) 原因代码:0x80020002 关机类型:重新启动 注释:

日志名称:系统 来源:USER32 日期:2011 年 4 月 2 日,上午 4:09:53 事件 ID:1074 任务类别:无 级别:信息 关键字:经典 用户:sqlX\joeblogs 计算机:sqlX.example.org 描述:进程 C:\Windows\system32\winlogon.exe (sqlX) 已代表用户 sqlX\joeblogs 启动计算机 sqlX 的重启,原因如下:找不到与此原因相关的标题 原因代码:0x500ff 关机类型:重启 注释:

日志名称:系统 来源:服务控制管理器 日期:2011 年 4 月 2 日上午 4:10:25 事件 ID:7043 任务类别:无 级别:错误 关键字:经典 用户:N/A 计算机:sqlX.example.org 描述: Windows 更新服务在收到关机前控制后未能正常关闭。

(然后关闭以下服务...)组策略客户端 Shell 硬件检测应用程序体验(已启动)应用程序体验(已停止)

日志名称:系统 来源:服务控制管理器 日期:2011 年 4 月 2 日上午 5:09:50 事件 ID:7045 任务类别:无 级别:信息 关键字:经典 用户:sqlX\Administrator 计算机:sqlX.example.org 描述:系统中安装了一项服务。 服务名称:PsKill 服务文件名:%SystemRoot%\PSKLLSVC.EXE 服务类型:用户模式服务 服务启动类型:按需启动 服务帐户:LocalSystem

日志名称:系统 来源:服务控制管理器 日期:2011 年 4 月 2 日上午 5:09:51 事件 ID:7036 任务类别:无 级别:信息 关键字:经典 用户:N/A 计算机:sqlX.example.org 描述:PsKill 服务进入运行状态。

日志名称:系统 来源:服务控制管理器 日期:2011 年 4 月 2 日上午 5:09:51 事件 ID:7036 任务类别:无 级别:信息 关键字:经典 用户:N/A 计算机:sqlX.example.org 描述:PsKill 服务进入停止状态。

日志名称:系统 来源:服务控制管理器 日期:2011 年 4 月 2 日上午 5:09:52 事件 ID:7036 任务类别:无 级别:信息 关键字:经典 用户:N/A 计算机:sqlX.example.org 描述:应用程序体验服务进入运行状态。

日志名称:系统 来源:服务控制管理器 日期:2011 年 4 月 2 日上午 5:10:26 事件 ID:7043 任务类别:无 级别:错误 关键字:经典 用户:N/A 计算机:sqlX.example.org 描述: Windows 模块安装程序服务在收到预关闭控制后未正确关闭。

(其他停止...) 5:10:34 事件日志服务已停止。 5:10:33 DHCPv6 客户端服务已停止。关机标志值为 1 5:10:33 DHCPv4 客户端服务已停止。关机标志值为 1 5:10:33 DHCP 客户端服务进入停止状态。 5:10:34 诊断策略服务服务进入停止状态。 5:10:34 应用程序主机助手服务服务进入停止状态 5:10:34 Windows 事件日志服务进入停止状态。 5:10:35 加密服务服务进入停止状态。 5:12:54 Microsoft (R) Windows (R) 6.01。 7600 多处理器免费。 5:12:54 事件日志服务已启动。 5:12:54 系统启动时间为 34 秒。

答案1

发生的情况是,WinLogon 服务(处理 RDP 和本地登录的登录环境的服务)由于某种原因在关闭时挂起。可能是发生了一些奇怪的锁定,导致某些关键程序无法关闭,也可能是注册表仍在某处打开。当您终止 winlogon 服务时,它会打破僵局,以便重新启动可以快速进行。

这将留下事件日志痕迹!在应用程序日志中,重新启动之前可能会有一些事件描述为什么机器当时不能关闭。

该特定错误消息导致您失败的原因shutdown /m \\machine /r /f /t: 0是,如果重启已超过某个点,它将拒绝进一步的重启请求。该pskill方法有效,因为它不会要求机器重启,而只是关闭正在重启的进程。

相关内容