Windows2003 SQL2005解决系统Administrator密码不知道的问题

时间:2023-03-08 17:18:25

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服务来运行,就像我们公司的软件

Windows2003 SQL2005解决系统Administrator密码不知道的问题

大部分核心功能都用Windows服务来运行的,不过用Windows服务也有不好的地方,就是如果服务启动不起来了,您的软件也运行不了,就像SQLSERVER

像一些杀毒软件,管家软件也会用Windows服务来编写,好像360安全卫士也是,如下图

Windows2003 SQL2005解决系统Administrator密码不知道的问题

用完之后记得把 Ole Automation Procedures OLE自动化  关闭,不然被其他人利用就麻烦了

如有不对的地方,欢迎拍砖 o(∩_∩)o

2014-4-24补充:

如果是用远程桌面登录的话,必须要为帐号添加一个密码

使用下面的语句

net user 用户名 密码 /add 建立用户 

或者更改当前已存在的管理员账户的密码  修改naruto的密码为123456

net user naruto 123456