WindowsXP中有一个远程关机的小工具shutdown.exe,这个工具可以在Windows2000和XP下使用,并且关闭2000和XP都可以。关于此工具的使用方法各种媒体都有过介绍,在此不再累述。要成功的使用shutdown.exe进行远程关机,必须对远程系统作相应的修改。各种文章介绍的都是修改本地安全策略,使Guest用户也有关机的权限。这里就存在一个隐患:任何人都可以在局域网中使用WindowsNT/2000/XP系统关闭这个电脑。想象一下,如果电脑正在进行一些很重要的工作,但是突然有人恶意的或者无意的使用远程关机关闭你的电脑,那岂非要晕倒。使用shutdown.exe还有一个缺点,就是虽然他关闭WindowsXP的电脑时表现不错,但是对Windows2000的电脑却无法使其关闭的时候自动断电。
笔者在此推荐一款极好的国产局域网工具,他的名字就是LanHelper,也叫局域网助手,最新版本v1.1。LanHelper具有比shutdown.exe强大的多的远程关机能力,完全可以替代shutdown.exe成为我们远程关机的必备工具。
下载安装之后,先使用LanHelper扫描一下网络。LanHelper提供有几种扫描方法,因为远程关机只能在局域网中有效,在此选择“扫描局域网”进行扫描,扫描之后就可以在列表当中看到局域网中所有在线的电脑的计算机名称和操作系统等许多信息。然后选择其中的一个操作系统为Win2000的电脑SJSERVER,点击菜单“工具/远程关机”,出现“远程关机”对话框。在该对话框中打开复选项“登录到远程机器”,然后就可以在“用户名”和“密码”框中输入用来关机的账号。一般只有具有系统管理员权限的账号才能执行远程关机操作,所以要输入电脑SJSERVER上的系统管理员账号的用户名Administrator和相应的密码,然后在选项框中“在这之后关闭”输入60设置关机时间为60秒,最后点击确定按钮。接着会弹出来一个对话框,点击确定就可以打开操作的记录文件查看,第一行是“2003-10-2322:18:22远程关机sjserver,succeed”,意思就是已经搞定啦。呵呵,这就是说现在我们可以杜绝使用shutdown.exe关机的隐患,只有系统管理员可以成功的执行远程关机操作。这也免去了为了可以远程关机而一个个电脑的修改本地安全策略之苦。当然这里并不是真正的要关闭这个电脑,此时只要点击菜单“工具\取消远程关机”就可以把电脑SJSERVER上正在等待执行的关机操作取消掉。
接下来再选择另外一个操作系统为WinXP的电脑OFFICE1,用同样的方法使用系统管理员账号对其远程关机却不能成功,在记录文件里面可以看到这样的记录“2003-10-322:34:18远程关机office1,fail,returncode=5”。从LanHelper的帮助文档里面得知返回代码为5的意思是没有权限。明明已经使用了系统管理员账号为何还是会“没有权限”呢?原来这是WindowsXP的本地安全策略中的默认配置在作怪。当通过网络访问WindowsXP时,本地用户都是以来宾身份(就是Guest账号)来验证的。为了安全现在没有给Guest用户远程关机的权限,所有才会失败。WindowsXP中这一设置是可以更改的。在电脑OFFICE1的WindowsXP系统中依次打开“控制面板->管理工具->本地安全策略”,然后在出现的窗口中依次双击“安全设置\本地策略\安全选项”,找到“网络访问:本地账号的共享和安全模式”,双击将其默认值“仅来宾-本地用户以来宾身份验证”更改为“经典-本地用户以自己的身份验证”,这样我们就可以像关闭Windows2000那样使用特定的账号来远程关闭WindowsXP了。虽然还是要对每一台WindowsXP系统作一点小修改,但这样却可以使我们用得更加放心。
通过使用LanHelper对这两个不同系统的电脑执行远程关机,发现对WindowsXP系统而言,远程关机和本地关机都是一样,可以完全关闭并且可以自动断电。但是Windows2000却不行,远程关机之后系统被关闭接着屏幕上显示“现在您可以安全的关闭计算机了”,然后就停在那里,并没有自动断电。虽然这时候可以安全的手动断电,但是这岂非失去了远程关机的本来涵义?通过查找有关资料得知Windows2000被远程关机时是不能自动断电的。那么是不是只有在稳定性和安全性很强的Windows2000当中安装既影响稳定性又消耗资源的远程控制软件的客户端才可以实现能够自动断电的远程关机呢?当然不是的。对于这个问题LanHelper提供了一个很好的解决方法,使用“远程执行”再配合“LanHelper集成命令”就可以完全的关闭使用Windows2000系统的电脑!
还是在列表框中选择Win2000系统的电脑SJSERVER,点击菜单“工具\远程执行”,弹出“远程执行”窗口。窗口的“添加任务”选项卡中在命令输入框之下有个复选框“使用LanHelper集成命令”,点击复选它会弹出“LanHelper集成命令”窗口,在该窗口中选择操作“8关闭系统并且关闭电源”,点击确定按钮之后回到“远程执行”窗口,接着点击复选框“登录到远程系统”,输入电脑SJSERVER上的系统管理员账号。在“计划”中“分钟之后”输入1设置任务的计划时间为1分钟,然后点“添加”按钮就可以把设置好的任务添加到远程系统当中去。过了大约1分钟之后,电脑SJSERVER开始执行关机操作,然后—断电了!呵呵,以后再也不用为远程关闭Windows2000而发愁了。这个操作要注意的一点地方是远程机器上要有Admin$这个默认共享,系统默认情况下都是开放这个共享的。