VBScript启动多个服务
我需要使用VBScript启动多个服务。 我编写这个脚本是为了启动服务,当我运行它时,它不会给出任何错误,也不会启动服务。你知道问题出在哪里吗VBScript启动多个服务,vbscript,Vbscript,我需要使用VBScript启动多个服务。 我编写这个脚本是为了启动服务,当我运行它时,它不会给出任何错误,也不会启动服务。你知道问题出在哪里吗 sComputer = "." aTargetSvcs= Array ("ServiceOne" &_ "ServiceTwo" &_ "ServiceThree" &_ "ServiceFour") Set oWMIService = GetObject("winmgmts:"
sComputer = "."
aTargetSvcs= Array ("ServiceOne" &_
"ServiceTwo" &_
"ServiceThree" &_
"ServiceFour")
Set oWMIService = GetObject("winmgmts:" & "{impersonationlevel=impersonate}!\\" _
& sComputer & "\root\cimv2")
Set cServices = oWMIService.ExecQuery("SELECT * FROM Win32_Service")
For Each oService In cServices
For Each sTargetSvc In aTargetSvcs
If LCase(oService.Name) = LCase(sTargetSvc) Then
If oService.State = "Stopped" Then
oService.StartService()
End If
End If
Next
Next
您的AtargetSvc不是您所认为的—一个包含四个字符串的数组—而是:
Option Explicit
Dim aTargetSvcs : aTargetSvcs = Array ("ServiceOne" &_
"ServiceTwo" &_
"ServiceThree" &_
"ServiceFour")
WScript.Echo UBound(aTargetSvcs)
WScript.Echo aTargetSvcs(UBound(aTargetSvcs))
输出:
cscript 21036510.vbs
0
ServiceOneServiceTwoServiceThreeServiceFour
我终于成功了。我不得不用逗号分隔。在这里,改变是有效的: 然而,我怎样才能使每项服务在自己的线路上变得容易,因为我有很多服务,我启动。如果有一种方法可以让每个服务独立运行,那么阅读和管理就会容易得多
sComputer = "."
aTargetSvcs= Array ("ServiceOne","ServiceTwo","ServiceThree")
Set oWMIService = GetObject("winmgmts:" & "{impersonationlevel=impersonate}!\\" _
& sComputer & "\root\cimv2")
Set cServices = oWMIService.ExecQuery("SELECT * FROM Win32_Service")
For Each oService In cServices
For Each sTargetSvc In aTargetSvcs
If LCase(oService.Name) = LCase(sTargetSvc) Then
If oService.State <> "Stopped" Then
oService.StartService()
End If
End if
Next
Next
scocomputer=“”
aTargetSvcs=数组(“服务一”、“服务二”、“服务三”)
设置oWMIService=GetObject(“winmgmts:&”{impersonationlevel=impersonate}!\\”_
&SCOComputer&“\root\cimv2”)
设置cServices=oWMIService.ExecQuery(“从Win32_服务中选择*)
对于cServices中的每个oService
对于AtargetSvc中的每个sTargetSvc
如果LCase(oService.Name)=LCase(sTargetSvc),则
如果oService.State“已停止”,则
oService.StartService()
如果结束
如果结束
下一个
下一个
谢谢您的帮助。如何解决这个问题?@user3077069-通过创建一个包含四个元素的数组,而不是将四个字符串串联成一个。您确实看过Array()函数()的文档了吗?因为您知道如何在将服务名称连接到字符串中时编写多行语句(提示:),所以我怀疑您是在开玩笑。一般来说,我对脚本编写和编程都是新手。经过一些研究,我设法使它发挥了作用。我将尝试在单独的线路上进行。