我正在编写一个puppet脚本来在Windows 2008 R2 SP2上自动创buildTeamCity代理。
为此,我需要通过命令行设置一个自定义的TeamCity服务用户帐户。
到目前为止,我已经尝试了这一系列的命令:
1)授予我的自定义帐户“作为服务权限login”:
ntrights + r SeServiceLogonRight -u teamcity @ omnicorp
Windows确认命令成功工作:
将SeServiceLogonRight授予teamcity @ omnicorp …成功
2)设置服务用户帐号:
(Get-WmiObject Win32_Service -Filter“name ='TCBuildAgent'”)。Change($ Null,$ Null,$ Null,$ Null,$ Null,$ Null,'teamcity @ omnicorp','password')
…命令失败,错误21:
__GENUS:2
__CLASS:__PARAMETERS
__SUPERCLASS:
__DYNASTY:__PARAMETERS
__RELPATH:
__PROPERTY_COUNT:1
__指令:{}
__SERVER:
__NAMESPACE:
__PATH:
返回值: 21
PSComputerName:
以下是我所知道的:
ntrights是不足以允许域帐户被服务用户使用的。 这是我卡住的地方。 所有的证据表明ntrights是足够的,但还是有东西丢失。
你可以试试这个:
(Get-WmiObject Win32_Service -Filter "name='TCBuildAgent'").Change($Null,$Null,$Null,$Null,$Null,$False,'teamcity@omnicorp','password')
第六个参数对应于“DesktopInteract”,通常情况下,服务不能被授予与桌面交互的权限,除非是本地系统帐户。