前情提要
登入 SQL Server 需要受到權限管控,
而在 Windows 中需要使用特定用戶身份登入時,
我們常常會選擇 runas 命令。
原始作法
大概類似如下:
1 | runas.exe /netnoly /user:MyCompany\Marsen "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe" |
我會寫成一個 ps (PowerShell) File 來執行這件事。
但是會有一些問題。
問題
- 每次登入都輸入密碼好麻煩
- 密碼很長又複雜,Terminal 又看不出輸入是否正確,常常會打錯
- 密碼如果寫在 PowerShell 中會有風險
我希望點兩下就能以正確的身份開啟 SSMS 而且密碼不會被明碼存儲
CPAU
請先下載CPAU\
- 我採用綠色安裝,如果有必要可以設為環境變數
加密,以下的語法會產生以
MyCompany\Marsen
的身份登入執行 SSMS 的批次檔run.bat
1
CPAU -u MyCompany\marsen -p *************** -ex "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe" -enc -file D:\run.bat
解密
1
CPAU -file D:\run.bat -dec
最後只要將步驟 4 的語法存成一個 bat 檔,就可以隨時點兩下執行了。
免責聲明
雖然是加密過的檔案,不過如果被人知道你是使用 CAPU 加密,攻擊者取得檔案後仍然可以透過 CAPU 解密登入。
所以使用上一定要小心檔案不要外流,主要的優點仍然是節省打密碼的時間與打錯的風險。
參考
(fin)