- A+
单位保管财务资料的电脑需要加强管理,为了防止用户随意登录,我使用用户名+复杂密码的方式来管理。可是再复杂的密码,同事多登录几次后就泄露了,定期更改密码记起来又很麻烦。有没有只有可以借助特定U盘、移动硬盘这类硬件才能登录的解决方案?这样不管哪个同事要用电脑,我只要插入指定U盘即可。
我首先想到的就是在U盘中建立一个文件,然后用DOS命令来查找U盘中是否存在该文件,以此来判断是否要执行关机命令。这个方法已经有过不少人介绍了,而且个人感觉这个思路的弊病也很明显,其他人只要用任意U盘建立一个同名的文件即可破解。所以,我想到了通过U盘的剩余空间来判断是否开机的方法。毕竟其他人要伪造一个跟自己的U盘的剩余空间完全相同的U盘是比较困难的。以下内容在Windows 7操作系统中测试通过。
【解题方法】
一般每个人都会有几个闲置的U盘,可以拿出一个不用的U盘,将它插入需要使用U盘钥匙的电脑中。接着点击“开始→所有程序→附件→命令提示符”,打开命令提示符窗口,在其中输入执行以下命令:
dir J: >d:\1.txt
注意,上面命令中的“J”代表要作为开机钥匙的U盘的盘符,各人电脑上会略有不同,需要根据实际情况修改。这条命令的作用是列出U盘中的文件,并写入到D盘的1.txt文件中。现在我们打开D盘中1.txt文件,它的最后一行记录了我们的U盘中有多少剩余的空间(图1)。
接下来我们打开记事本,输入以下代码:
@echo off
dir j: | find "1,462,206,464 可用字节"
if "%errorlevel%"=="0" (
echo "审核通过"
) else (
shutdown -f -s
)
以上命令首先用“dir”命令列出来U盘中的文件及剩余空间,再用“find”命令查找“1,462,206,464 可用字节”,如果查找不到则执行关机命令。
将上述内容保存到BAT批处理文件中,只要扩展名为bat即可,文件名随意,比如可存为Key.bat(图2)。
为了不让其他人看到我们的源代码,我们还需要用“Bat To Exe Converter”软件把BAT文件转成EXE文件,启动该软件后,在“批处理文件”一栏中选择我们刚才建好的Key.bat文件,在“选项”选项卡中的“可见”一栏中选择“隐形应用程序”,点击“编译”即可完成转换工作(图3)。
现在我们把转换得到的Key.exe文件拖到“开始→所有程序→启动”文件夹中,即可实现插入指定U盘才能开机的目的了。注意,在编译好之后,我们的开机U盘就不能再随意的存取或者删除文件,一旦导致磁盘空间出现变化,就会出现自己也开不了机的情况。