我正在尝试在远程PC上运行powershell脚本。如果我把路径放在变量中它不会运行,但如果我将路径作为字符串,它的工作原理。不知道为什么。
这有效
Invoke-Command -computername $serverName -scriptblock {& ("C:\_Project\test.ps1") }
这不起作用
$server = "test"
$script = "C:\_Project\test.ps1"
Invoke-Command -computername $server -scriptblock {& ( $script) }
我想让第二个工作
答案 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)
}