6

嘿,我想从一个 vbs 脚本运行一个 powershell 突击队。诸如启动 powershell.exe 并输入特定命令(例如 Restart-Service)。我认为类似的东西可以工作:

strCommand = "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -command Restart-Service [service name]"

    Set WshShell = WScript.CreateObject("WScript.Shell") 
    Set objExec = WshShell.Exec(strCommand)

有人知道我该如何管理吗?

4

5 回答 5

5

1)将您的powershell命令存储为powershell脚本。
2)使用vbs运行powershell

  Set objShell = CreateObject("Wscript.Shell")
 objShell.Run("powershell.exe -noexit c:\scripts\test.ps1")
于 2012-07-12T09:42:58.490 回答
3

试试这个:

powershell -command '& {command to run}'

/G

于 2012-07-12T11:05:34.010 回答
1

您可以使用最短的版本。

CreateObject("Wscript.Shell").Run ("powershell.exe -noexit $c= 'lola'; write-host $c -ForegroundColor green")
于 2021-03-28T04:58:34.850 回答
0

试试这个:

Set objShell = CreateObject("Wscript.Shell")
objShell.Run("powershell.exe -noexit .\c:\scripts\test.ps1")

或者将文件保存在 PS exe 所在的同一文件夹中,然后

Objshell.Run("powershell.exe -noexit .\test.ps1")
于 2013-10-03T10:43:20.117 回答
0

在研究如何使用它来使用 VBScript 运行 PowerShell 脚本时,我遇到了如下所示的问题:

在此处输入图像描述

从那以后我就知道为什么它不起作用了。PowerShell 无法读取脚本位置中的空格。如上图所示,C:\Users\lpeder6\Desktop\PowerShell_Scripts\Arrays\Arrays当完整路径为C:\Users\lpeder6\Desktop\PowerShell_Scripts\Arrays\Arrays - Clear Method.ps1.

从我的路径名中删除所有空格和多余字符后,使用 VBScript 运行 PowerShell 脚本可以使用以下代码:

Set objShell = CreateObject("Wscript.Shell")
objShell.Run("powershell.exe -noexit -command C:\Users\lpeder6\Desktop\PowerShellScripts\GUIFiles\BasicGUIScript-ComboBox.ps1"),1,True

当我运行它时,我得到的是:

在此处输入图像描述

我希望这对某人有所帮助,因为这是我真的可以使用的信息。:)

于 2021-11-21T16:29:33.097 回答