如何利用sqlserver重置Administrator用户密码

原文是sqlserver 2005的,测试windows 2016 + sqlserver 2017时此功能已经不可用,不过还是记录下重置方法。

原理是通过sqlserver的OLE选项创建一个用户并将其添加至Administrator组,随后便可用该用户登录服务器修改administrator用户密码。OLE相当于给你一个cmd环境,让你可以输入cmd命令。

 

1. 启用OLE

--打开高级选项,看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
--查看是否开启
EXEC [sys].[sp_configure]

2. 添加用户并加入Administrators组

--添加一个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'

这一步测试是失败的,检查服务器也没有新加用户。如果成功,用该用户登录服务器修改administrator用户密码即可。

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

net user 用户名 密码 /add 建立用户 
# 或者更改当前已存在的管理员账户的密码  修改naruto的密码为123456
net user naruto 123456

参考

https://www.cnblogs.com/lyhabc/p/3172018.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hehuyi_In

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值