请高手帮忙看看啊,设定SERVICE启动时用户和密码的问题,急啊,47分(我只有这么多可送)!!!

rabbitwy 2001-12-03 08:36:33
本来IADSSERVICE有个ServiceAccountName属性,可我试了,写不进去,只能读出当前用户,后来通过修改注册表搞定,密码通过SETPASSORD设进去,可SERVICE仍然启动不了,报1069错误(“由于登陆失败无法启动服务”),但实际上密码已经设进去了,在服务控制面板里点“确定”就可以授予指定用户以服务方式登录的权利。请各位帮忙看看,一定给分!!!下面是源代码:

Public Function SetServiceStatus(SvcName As String, StartWay As String, User As String, Password As String) As String
On Error GoTo ErrProc
Dim Computer As IADsComputer
Dim Service As IADsServiceOperations

Set Computer = GetObject("WinNT://.,computer")
Set Service = Computer.GetObject("Service", SvcName)

'Service.Put "ServiceAccountName", User
SetKeyValue HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\" + SvcName, "ObjectName", User, REG_SZ
If StartWay = "自动" Then
Service.Put "StartType", 2
Else
Service.Put "StartType", 3
End If

If User <> "LocalSystem" Then
'就是这里,请大家帮忙看看,好吗,小弟急死了
Service.SetPassword Password
End If

Service.SetInfo

SetServiceStatus = "设置服务状态成功!"
Set Computer = Nothing
Set Service = Nothing
Exit Function
ErrProc:
SetServiceStatus = "设置服务状态失败::" + Err.Description
End Function
...全文
79 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitwy 2001-12-03
  • 打赏
  • 举报
回复
upup
rabbitwy 2001-12-03
  • 打赏
  • 举报
回复
都没人看啊:(
rabbitwy 2001-12-03
  • 打赏
  • 举报
回复
当然有了,所有的动作都没报错,而且只要通过服务控制面板确定过一次,以后程序都可以控制了,奇怪死了,就算服务泄载再重装,也能正常运行,看来通过面板操作时应该对用户还做了什么。 //呵呵,我表达的希望你能明白
hydnoahark 2001-12-03
  • 打赏
  • 举报
回复
你是否有相应的权限?
rabbitwy 2001-12-03
  • 打赏
  • 举报
回复
hydnoahark,谢谢你的答复,还是不行,而且,用SERVCIEACCOUNTNAME根本设不进去啊:(,SETINFO 后 ACCOUNTNAME只是在本地缓存中改变了,在ADS里没变
hydnoahark 2001-12-03
  • 打赏
  • 举报
回复
试试这样:
Set Service = GetObject("WinNT://MYCOMPUTER/ServeriName,Service")
Service.ServiceAccountName = "domain\username"
Service.SetPassword "xxx"
Service.SetInfo


rabbitwy 2001-12-03
  • 打赏
  • 举报
回复
cafecai,你觉得该怎么做呢?
cafecai 2001-12-03
  • 打赏
  • 举报
回复
我也想知道
相关推荐
发帖
VB基础类

7681

社区成员

VB 基础类
社区管理员
  • VB基础类社区
加入社区
帖子事件
创建了帖子
2001-12-03 08:36
社区公告
暂无公告