如何在Windows 7上远程执行kill-switch?

我需要在连接到AD的Windows 7企业计算机上远程执行kill-switch。 具体来说,我需要

  • 远程访问机器没有明显的用户交互(我有一个域帐户是在机器上的pipe理员)
  • 使它不能使用(崩溃/重启,不启动)
  • 保存机器的内容(能够logging改变的内容)

机器必须损坏,以至于基本+故障排除失败,并且需要将其带到公司的服务台。

为了预测评论:我知道这听起来很可疑,但是这种行为在企业环境中是必需的,授权和合法的。

从Unix的背景来看,我不知道Windows机器上可以远程执行什么function。 理想情况下(再次,考虑到unix背景),我会看着类似的行为

  • 擦除MBR并强制重启
  • 删除密钥。 在安全启动期间不会自动恢复的dll

编辑下面的评论:这是一个非常具体的法医案件,需要通过这个错综复杂的方式来处理。

你不需要真的毁掉机器; 只要强迫它closures并locking用户。

  • 运行shutdown /m <machinename> /f /t 0强制closures计算机。
  • 禁用该用户的Active Directory用户帐户。
  • 禁用计算机的Active Directory用户帐户。

只要确保禁用其帐户之前closures计算机,否则您将被禁止远程pipe理,因为它将不再能够对包括您自己在内的域进行身份validation。

如果用户在目标计算机上也有一个本地用户帐户,则可以在执行上述步骤之前将其禁用。 您可以通过在任何其他计算机上以域pipe理员身份启动计算机pipe理MMC并将其远程连接到要pipe理的计算机来实现此目的。 从那里,你还可以采取其他必要的步骤,以确保没有人可以使用本地用户帐户(例如禁用或更改密码)login到计算机。


注意:如果这是法律/合规问题,这是一个非常强大的理由, 不要更改或删除机器上的任何东西 ; 否则用户稍后可能会说(可能正确)机器已被篡改; 另外,如果删除文件系统上的任何内容,则可能会丢失有价值的数据(谁可以知道用户是否已将个人文件或应用程序存储在系统文件夹中?)。

正如我已经多次说过,如果这是一个法医案件,我强烈build议你不要做任何不同于身体去那里拿起机器的东西; 以任何方式篡改它都必然会使任何可能来自其的法律证据无效。


也就是说,有几种方法可以使机器无法启动,同时尽可能less地损坏机器,具体取决于系统的实际安装方式(主要区别在于如果系统是基于BIOS或UEFI的,并且使用引导分区与引导文件存储在系统分区上); 这里有一些select:

  • 删除启动分区和/或UEFI分区的内容(通常隐藏,但可以挂载它); 或者如果没有使用引导分区,则从系统分区中删除引导文件。
  • 删除文件C:\bootmgr
  • 使用bcdedit.exe引导pipe理器configuration。
  • 更改分区表,使其没有活动分区。

等等; 搞乱启动pipe理器通常是渲染系统无法启动的最好方式,而不是实际上破坏它。 但是由于现代Windows系统有几种可能的启动path,所以没有通用的方法(UEFI系统根本不依赖于MBR,只关心活动分区,如果有的话)。

如果将干预限制在启动文件中,实际的系统将不会被修改,您将能够恢复其所有内容(甚至可以在恢复损坏的情况下再次启动)。

几个问题:

  • 你有什么理由需要去破坏性的路线?

如果是的话,用@ frupfrup的答案去。

  • 用户是否只有域login?还是他们有本地login?
  • 这需要多快才能生效?

你可以做的另一件事是造成一个通用的活动目录login错误。 首先禁用该机器上的cachinglogin,然后禁用或删除活动目录中的计算机帐户。 为了使它看起来像电脑有一个合适的,你可以做一个简单的get-process | stop-process -force 在远程PowerShell会话中get-process | stop-process -force 。 甚至在远程命令提示符下使用psexec或类似的taskkill /im csrss.exe /f

当它“崩溃”,然后重新启动,用户尝试login,他应该得到一个通用的“这台计算机无法validation的域名”types的错误,IIRC。 我会首先testing所有这些, 身份validation问题可能不会立即生效,或者Windows可能足够智能以防止您运行这些命令。