[Windows]使用非Administrator權限控制服務

一般使用者群組權限預設為讀取和執行,那是否可以使用該帳號來控制Windows Service呢?

注意:Network Service權限相當於User Group

我有一batch script command需要定期重新啟動某服務,內容如下

sc stop SQLBrowser

ping 127.0.0.1 -n 5 -w 1000 > nul

sc start SQLBrowser

可以看到非Administrator權限預設無法控制服務(一般使用者只能讀取和執行)

我後來找到原來可以透過安全性範本個別設定(群組原則應該也可以)

1.啟動mmc並新增管理單元

2.選擇安全性範本、設定及分析

3.新增範本

選擇系統服務>SQL Server Browser>內容

4.設定服務範本安全原則

選擇相關使用者並允許控制服務

5開啟資料庫

建立後選擇剛剛安全性範本

選擇立即分析電腦

選擇SQL SERVER Browser服務內容

定義資料庫該服務原則

可以看到該服務啟動和權限都設定好了

選擇立即設定電腦

切換webuser(一般使用者)測試

搞定收工。

 

參考

Service User Accounts

NetworkService Account

How to Start or Stop SQL Services without OS Admin Rights