Windows-Server-2008-R2
無法通過命令行設置服務使用者帳戶
我正在編寫一個木偶腳本來自動在 Windows 2008 R2 SP2 上創建 TeamCity 代理。
為此,我需要通過命令行設置自定義 TeamCity 服務使用者帳戶。到目前為止,我已經嘗試了以下命令序列:
1)授予我的自定義帳戶“作為服務登錄的權利”:
ntrights +r SeServiceLogonRight -u teamcity@omnicorp
Windows 確認命令成功執行:
將 SeServiceLogonRight 授予 teamcity@omnicorp … 成功
2)設置服務使用者帳號:
(Get-WmiObject Win32_Service -Filter “name=‘TCBuildAgent’”).Change( $ Null, $ 空值, $ Null, $ 空值, $ Null, $ 空,’teamcity@omnicorp’,‘密碼’)
…命令失敗,錯誤 21:
__GENUS:2
CLASS:
PARAMETERS
SUPERCLASS: DYNASTY:__PARAMETERS
__RELPATH:
__PROPERTY_COUNT:1
__DERIVATION:{}
__SERVER: __NAMESPACE: __PATH: ReturnValue:21
PSComputerName :
到目前為止,這是我所知道的:
- 錯誤 21 轉換為“已將無效參數傳遞給服務”。
- 使用者名/密碼有效 - 我知道這一點,因為我可以通過 services.msc 管理單元進行此更改
- 每當我手動應用自定義使用者時,上述命令就會開始工作(我已經在許多新的 VM 上對此進行了測試)。
- 這告訴我
ntrights
僅憑域帳戶是不足以讓服務使用者使用的。這就是我卡住的地方。所有證據表明
ntrights
就足夠了,但仍然缺少一些東西。
你可以試試這個:
(Get-WmiObject Win32_Service -Filter "name='TCBuildAgent'").Change($Null,$Null,$Null,$Null,$Null,$False,'teamcity@omnicorp','password')
第6個參數對應“DesktopInteract”,一般情況下,服務不能被授予與桌面互動的權限,除非是Local System賬號。