2017-02-15 89 views
0

是否可以在PowerShell中使用Invoke-Command在远程机器上运行脚本?如何在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如何写?提前致谢!

+0

刚刚使用'调用 - 命令 - 计算机名称“服务器”-ScriptBlock {&“C:\ Users \ user \ Desktop \ 1.ps1“}'它对我来说工作得很好 - 如果你手动运行该脚本,它会工作吗? – ConnorLSW

回答

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 
+0

在这种情况下,文件路径是本地文件,而不是远程计算机上的路径。我对吗? –

0

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

相关问题