以下工作正常:
的VBScript
Script = "C:\Users\bob\Downloads\Logon scripts\Script.ps1"
Dim oSHELL
Set oSHELL = CreateObject("WScript.Shell")
oSHELL.Run "powershell.exe -ExecutionPolicy Bypass -NoLogo -File ""C:\Users\bob\Downloads\Logon scripts\Script.ps1""", 0, True
Set oSHELL = Nothing
当我试图将脚本的路径放在变量中时,它不起作用:
oSHELL.Run "powershell.exe -ExecutionPolicy Bypass -NoLogo -File ""Script""", 0, True
oSHELL.Run "powershell.exe -ExecutionPolicy Bypass -NoLogo -File""" & Script & """", 0, True
Script.ps1
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show("Test MessageBox", "Information")
如何让WScript
正确使用变量?
答案 0 :(得分:4)
除了第二个示例中的轻微错误(-File
之后缺少空格)
目前,它将像
powershell.exe -ExecutionPolicy Bypass -NoLogo -File"C:\Users\bob\Downloads\Logon scripts\Script.ps1"
并产生错误,您未在问题中记录。
我不明白为什么这不起作用。
Dim oSHELL: Set oSHELL = CreateObject("WScript.Shell")
Dim Script: Script = "C:\Users\bob\Downloads\Logon scripts\Script.ps1"
Call oSHELL.Run("powershell.exe -ExecutionPolicy Bypass -NoLogo -File """ & Script & """", 0, True)
相当于;
powershell.exe -ExecutionPolicy Bypass -NoLogo -File "C:\Users\bob\Downloads\Logon scripts\Script.ps1"