PowerShell脚本仅在PowerShell中运行,而不是作为powershell.exe的参数

时间:2011-03-31 15:31:52

标签: powershell

很简单:

> powershell.exe -command "& '\\RemoteServer\c$\My Script.ps1'"

根本不起作用。 My Script.ps1在记事本中打开,仅此而已。同时,

> powershell
PS > &"\\RemoteServer\c$\My Script.ps1"

工作正常(脚本执行)。

我确实必须使用caspol工具,因为我的脚本依赖于二进制模块,但我不知道这是怎么回事。

有关此问题的原因的任何想法?

谢谢!

3 个答案:

答案 0 :(得分:1)

...试

powershell.exe . '\\RemoteServer\c$\My Script.ps1'

答案 1 :(得分:1)

...试

powershell.exe -nologo -command "&{\\RemoteServer\c$\My Script.ps1}"

答案 2 :(得分:0)

也许您的问题是脚本名称中的空白区域,如果您想从 cmd.exe 进行调用,这是一个解决方案:

C:\>powershell.exe -nologo -command "&{$a=\"\\RemoteServer\c$\My Script.ps1\";& $a}"

\"阻止cmd.exe解释"字符

如果要将其执行到 powershell.exe 命令提示符中:

PS C:\>powershell.exe -nologo -command "&{`$a='\\WM2008R2ENT\c$\temp\Aff le loup.ps1';& `$a}"

$ prevent powershell.exe from interpreting $`character

希望有所帮助

JP