Windows-Server-2003

組策略定義新服務並將它們安裝在主伺服器中

  • July 27, 2011

我有帶有 Windows Server 2003 64 位的 Active Directory。我的一位使用者問我是否可以從開始 –> 控制面板 –> 服務啟動和停止 Oracle 和 MYSQL 服務。從那裡他可以控制它們手動或自動啟動,但現在由於使用者權限,他不能。

是否可以在組策略中添加新服務而不在 Windows Server 2003 上安裝 Oracle 和 MySQL?

所以只是為了確保我正確理解你:

  • 使用者有一台安裝了 Oracle 和 MySQL 的 Windows 機器。
  • 該使用者不是本地電腦管理員。
  • 您希望該使用者能夠停止和啟動 Oracle 和 MySQL 服務。

聽起來您試圖更改組策略中的服務權限,但在未安裝 Oracle 或 MySQL 的電腦上進行了更改,這意味著這些服務不會出現在可用服務列表中。

我可以想到三個選項:

  1. gpmc.msc在裝有 Oracle 和 MySQL 的電腦上安裝組策略管理控制台 ( )。
  1. 在您用於編輯 GPO 的電腦上創建一個虛擬服務。

  2. 找到ServiceKeyName您要更改的服務。(這是服務的“短名稱”。)如果您只知道DisplayName(“長名稱”)而不知道ServiceKeyName(“短名稱”),您可以在安裝它的機器上找到它,例如:

sc GetKeyName "MySQL Service" 2. 在您用於編輯 GPO 的電腦上創建虛假服務:

sc createServiceKeyNamebinPath= C:\Windows\system32\notepad.exe 3. 編輯 GPO。 4. 完成後,您可以使用以下命令刪除虛假服務:

sc deleteServiceKeyName 3. 完全忘記 GPO,直接在服務上設置權限。

首先,看看現有的權限是什麼:

C:\Windows\system32>**sc sdshow *ServiceKeyName***

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; SO)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

哎呀!SDDL 不可怕嗎?無論如何,這裡的想法是將我們需要的權限位添加到混亂中。例如,您可以通過添加以下內容來允許所有域使用者啟動、停止、暫停和讀取權限:

(A;;RPWPDTRC;;;DU)

或者對於本地使用者(“內置使用者”):

(A;;RPWPDTRC;;;BU)

所以最終的命令看起來像:

sc sdset *ServiceKeyName* D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)**(A;;RPWPDTRC;;;BU)**S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD) 4. 好吧,我撒謊了,我在寫這篇文章的時候又想到了另一種方法。;-) 您可以使用subinacl.exe更簡單的方法來執行選項 3。不過,我不知道它是否與比 Windows XP/2003 更新的任何東西兼容。

  1. 下載並安裝SubInACL
  2. 使用如下命令:

subinacl /serviceServiceKeyName/grant=Users=TOP

TOPsubinacl開始/停止/暫停/繼續的語法)

如果我誤讀了您的問題,請告訴我。

引用自:https://serverfault.com/questions/294213