Windows2003 SQL2005解决系统Administrator密码不知道的问题
今天上班的时候,有个同事说不知道谁设置了开机密码,那台电脑一直没有开机密码的他现在进不了桌面
那台电脑没有光驱,而我手头上启动U盘又没有,不然用winpe自带的密码破解工具破解开机密码了
幸亏那台电脑是开发机而且安装了SQLSERVER2005,幸亏他记得SQLSERVER的sa用户和密码,那就有戏了o(∩_∩)o
输入下面的SQL语句,添加一个Administrator组别的系统用户
--打开高级选项,看Ole Automation Procedures OLE自动化开启了没有 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 RECONFIGURE WITH override GO
--添加一个hack用户,所属用户组为Administrators DECLARE @shell INT EXEC SP_OAcreate 'wscript.shell',@shell out EXEC SP_OAMETHOD @shell,'run',null, 'net user hack /add' EXEC SP_OAMETHOD @shell,'run',null, 'net localgroup Administrators hack /add' --或者直接改密码,不添加用户 EXEC SP_OAMETHOD @shell,'run',null, 'net user hack 123456'
用hack用户进入系统,hack的密码为空,然后进入计算机-》右键-》管理-》本地用户和组-》把administrator的密码设置为空,
然后打开任务管理器,点击“用户”标签,在用户界面,选中hack用户,右键-》断开,Windows弹出对话框说hack用户的Windows会话会终结,
数据不能保存,选择“是”,然后弹出登录对话框,在用户名的输入框里输入“administrator”,密码输入框为空密码,成功登录桌面了
幸亏知道SQLSERVER数据库安全的一些知识,不然真的要重装系统了,整个过程都是利用了OLE自动化,他相当于给你一个cmd环境,让你
可以输入cmd命令
-------------------------------------------华丽的分割线----------------------------------------------------
其实我觉得SQLSERVER使用Windows服务来写这个理念是挺好的,不用开机启动然后需要双击sqlserver.exe来运行
用Windows服务的话,开机就启动了都不用进入桌面
我上司跟我说比较大型的平台软件一般都会用Windows服务来编写,将关键核心部分用Windows服务来运行,就像我们公司的软件
大部分核心功能都用Windows服务来运行的,不过用Windows服务也有不好的地方,就是如果服务启动不起来了,您的软件也运行不了,就像SQLSERVER
像一些杀毒软件,管家软件也会用Windows服务来编写,好像360安全卫士也是,如下图
用完之后记得把 Ole Automation Procedures OLE自动化 关闭,不然被其他人利用就麻烦了
如有不对的地方,欢迎拍砖 o(∩_∩)o
2014-4-24补充:
如果是用远程桌面登录的话,必须要为帐号添加一个密码
使用下面的语句
net user 用户名 密码 /add 建立用户
或者更改当前已存在的管理员账户的密码 修改naruto的密码为123456
net user naruto 123456