Var*_*rma 2 powershell remoting path
通过执行以下操作,我可以从本地计算机向不同域中的服务器运行远程 powershell 命令:
Invoke-Command -ComputerName serverName -ScriptBlock {Get-Process} -Credential $credential
Run Code Online (Sandbox Code Playgroud)
但是,出于某种原因,它在此默认目录中运行 - c:\users\username\documents
我的实际情况略有不同。我有一个 powershell 脚本 ( Test.ps1) 坐在这里:
C:\Data\Shared\Installation
Run Code Online (Sandbox Code Playgroud)
我想远程运行这个脚本。我在 ScriptBlock 中尝试了不同的东西,但它总是出错。看起来像一个语法问题。例如我试过这个:
Invoke-Command -ComputerName serverName -ScriptBlock {cd "C:\Data\Shared\Installation" ./Test.ps1} -Credential $credential
但这给出了以下错误
A positional parameter cannot be found that accepts argument './Test.ps1'.
Run Code Online (Sandbox Code Playgroud)
只是需要一些关于这方面的帮助。谢谢。
编辑

编辑 2
是的,感谢您的评论(现在已经消失了) - 在路径工作后放置一个分号。谢谢您的帮助。
如果需要在脚本块中运行多个命令,则需要使用换行符或分号将它们分开;。尝试:
Invoke-Command -ComputerName serverName -ScriptBlock {cd "C:\Data\Shared\Installation"; ./Test.ps1} -Credential $credential
Run Code Online (Sandbox Code Playgroud)
或者试试这个(如果你的脚本使用相对路径,这不是一个好的解决方案):
Invoke-Command -ComputerName serverName -ScriptBlock {C:\Data\Shared\Installation\Test.ps1} -Credential $credential
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5751 次 |
| 最近记录: |