如何在远程PC上运行脚本

时间:2014-09-30 12:51:17

标签: powershell

我正在尝试在远程PC上运行powershell脚本。如果我把路径放在变量中它不会运行,但如果我将路径作为字符串,它的工作原理。不知道为什么。

这有效

Invoke-Command -computername $serverName -scriptblock {& ("C:\_Project\test.ps1") }

这不起作用

$server = "test"

$script = "C:\_Project\test.ps1"

Invoke-Command -computername $server -scriptblock {& ( $script) } 

我想让第二个工作

2 个答案:

答案 0 :(得分:0)

试试这个:

$server = "test"
$script = [ScriptBlock]::Create("& C:\_Project\test.ps1")
Invoke-Command -computername $server -scriptblock $script 

答案 1 :(得分:0)

变量需要作为参数传递给脚本块,否则它们将无法在脚本块中使用。这是怎么做的。

$server = "test"
$script = "C:\_Project\test.ps1"
Invoke-Command -computername $server -ArugmentList $Script -scriptblock {
Param ($Script)
& ( $script)
}