如何从多台计算机上的命令行从共享网络驱动器运行此VBS脚本?

时间:2015-08-27 12:40:13

标签: windows vbscript cmd shared drive

我创建了一个VBS脚本,并把它放在IT办公室使用的共享驱动器上,我想要的是能够通过命令行在另一台计算机上使用它而不用写整个路径,因为它很长,并且打败了脚本的目的。 脚本是这样的:

Set oShell = WScript.CreateObject("WScript.Shell")
oShell.run "cmd.exe /c net stop AeXAgentSrvHost", 1, true
oShell.run "cmd.exe /c net stop ""Altiris Deployment Agent""", 1, true
oShell.run "cmd.exe /c net start AeXAgentSrvHost", 1, true
oShell.run "cmd.exe /c net start ""Altiris Deployment Agent""", 1, true
Set oShell = Nothing'

1 个答案:

答案 0 :(得分:0)

以下是使用VBScript中的Win32_Service类来停止远程计算机上的服务的示例。没有必要在远程PC上生成脚本(除非真的想要)。

Const COMPUTER_NAME = "johndoe1"
Const SERVICE_NAME  = "AeXAgentSrvHost"

Dim objWMI
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & COMPUTER_NAME & "\root\cimv2")

With objWMI.Get("Win32_Service.Name='" & SERVICE_NAME & "'")
    If .Started Then .StopService
End With

请参阅上面的链接,获取Win32_Service类的属性和方法的完整列表。

如果您需要为许多计算机运行此程序,您有许多选择:

  • 使用硬编码的计算机名称数组
  • 从文本文件,数据库或其他存储形式中读取列表
  • 使用InputBox()或从StdIn
  • 读取来提示计算机名称
  • 将一个或多个名称作为命令行参数传递

本网站上的每种方法都应该有很多例子。