我编写了一个可以从 powershell 运行的 powershell 脚本,如下所示:
PS C:> S:\MyScript.ps1 -a "select thing from table where name like 'name'"
我已将其存储在共享驱动器 (S:) 上,我无法从 powershell 或 cmd.exe 以这种形式运行我的 powershell 脚本:
PS C:> powershell S:\MyScript.ps1 -a "select thing from table where name like 'name'"
C:\> powershell S:\MyScript.ps1 -a "select thing from table where name like 'name'"
我还尝试绕过执行策略运行它:
C:\> powershell -executionpolicy bypass -command S:\MyScript.ps1 -a "select thing from table where name like 'name'"
我还尝试使用完整的 UNC 路径(以上述所有形式)运行它:
C:\> powershell \\MyServer\path\to\MyScript.ps1 -a "select thing from table where name like 'name'"
显示输出的唯一形式是如果我使用不需要传递字符串的参数:
C:\> powershell S:\MyScript.ps1 -z
thing
-----
thing1
thing2
thing3
有人知道为什么是这样吗?有什么方法可以将字符串从 cmd.exe 传递给脚本?