如何在powershell中使用invoke-command,在远程机器上运行脚本

时间:2017-02-15 14:30:02

标签: powershell

是否可以在PowerShell中使用Invoke-Command在远程计算机上运行脚本?

我试过了:

Invoke-Command -ComputerName $MyPC -Credential $mycreds -ScriptBlock {
    & "C:\Users\MyPC\Desktop\scripts\Script1.ps1"
}

返回

script1.ps1 is not recognized as the name of a cmdlet

这里的场景是,我在远程文件夹上有一些脚本,我需要使用Invoke-Command或其他一些方法在远程计算机上运行脚本。

另外,如果我想传递script1.ps1的一些参数,如何写?提前谢谢!

2 个答案:

答案 0 :(得分:0)

而不是:

Invoke-Command -ComputerName $MyPC -Credential $mycreds -ScriptBlock {& "C:\Users\MyPC\Desktop\scripts\Script1.ps1"}

试试这个:

Invoke-Command -ComputerName $MyPC -Credential $mycreds -FilePath C:\Users\MyPC\Desktop\scripts\Script1.ps1

答案 1 :(得分:0)

避免与本地计算机/远程计算机上的文件路径混淆;我总是从smb-shares运行东西;你可以输入UNC作为文件路径...例如: -FilePath \ server \ Netscripts \ script.ps1