今天上班的时候,有个同事说不知道谁设置了开机密码,那台电脑一直没有开机密码的他现在进不了桌面
那台电脑没有光驱,而我手头上启动U盘又没有,不然用winpe自带的密码破解工具破解开机密码了
幸亏那台电脑是开发机而且安装了sqlSERVER2005,幸亏他记得sqlSERVER的sa用户和密码,那就有戏了o输入下面的sql语句,添加一个Administrator组别的系统用户
EXEC [sys].[sp_configure] @configname = 'show advanced options',-- varchar(35)
@configvalue = 1 -- int
RECONFIGURE WITH override
GO
--查看是否开启
EXEC [sys].[sp_configure]
--如果没有就开启
EXEC [sys].[sp_configure] @configname = 'Ole Automation Procedures',-- varchar(35)
@configvalue = 1 -- int
DECLARE @shell INT
EXEC SP_OAcreate 'wscript.shell',@shell out
EXEC SP_OAMETHOD @shell,'run',null,'net user hack /add'
EXEC SP_OAMETHOD @shell,'net localgroup Administrators hack /add'
用hack用户进入系统,hack的密码为空,然后进入计算机-》右键-》管理-》本地用户和组-》把administrator的密码设置为空,
然后打开任务管理器,点击“用户”标签,在用户界面,选中hack用户,右键-》断开,Windows弹出对话框说hack用户的Windows会话会终结,
数据不能保存,选择“是”,然后弹出登录对话框,在用户名的输入框里输入“administrator”,密码输入框为空密码,成功登录桌面了
幸亏知道sqlSERVER数据库安全的一些知识,不然真的要重装系统了,整个过程都是利用了OLE自动化,他相当于给你一个cmd环境,让你可以输入cmd命令
其实我觉得sqlSERVER使用Windows服务来写这个理念是挺好的,不用开机启动然后需要双击sqlserver.exe来运行用Windows服务的话,开机就启动了都不用进入桌面
我上司跟我说比较大型的平台软件一般都会用Windows服务来编写,将关键核心部分用Windows服务来运行,就像我们公司的软件大部分核心功能都用Windows服务来运行的,不过用Windows服务也有不好的地方,就是如果服务启动不起来了,您的软件也运行不了,就像sqlSERVER。